鄧偉
Java語言以簡單、分布式系統、與平臺無關性、安全可靠、線程同步、面向對象編程等諸多特點,從而成為目前最廣泛的一種計算機語言,在各大企業、感應卡、電子類產品等上被廣泛應用。伴隨著Java技術不斷發展與完善,其用途也在不斷延伸,現在大家越來越注重Java技術,現階段Java技術成為了程序編輯中應用最廣泛的語言之一。文中根據對Java程序設計課程教學中所遇到的問題展開分析,從而使得學生更容易地學習和把握Java程序設計,并提高學生解決問題的實踐技能。
在近幾年手機軟件技術開發市場對于Java編程人才需求巨大的現狀下,為適應現如今市場的發展,很多高職??茖W校的APP技術專業及計算機類都開設Java方向的有關課程。但是,因為該課程基礎知識內容比較枯燥乏味,而高職院校學生總體水平較低,在學習方面欠缺自覺性和主動性,加上院校傳統教學方式、方法和老師對開發具體工程項目不足等原因的影響,因此,很多學生學完以后,只看得懂簡單的代碼,對自身進行程序編寫手足無措,對課程學習培訓提不起興趣,更不要提如何去提高編程能力,因此教學實際效果不理想。對于以上問題,必須在Java語言課程教學中進行應用項目驅動實例教學、改革創新考核機制、校企合作融合等各個方面的教學改革創新。
1 Java概述
Java是當前計算機編程語言之一,也是一種世界范圍內應用廣泛的編程語言。具備工作效率高、覆蓋范圍廣、使用便捷等優點。它適合于桌面程序的開發,目前已經獲得廣泛運用。Java是一種面向對象的編程語言,主要包含了計算機、互聯網、線程同步等新技術領域內的Java專業知識。學習Java編程語言需要是打造與軟件開發技術有關專業人才的基礎。在我國,伴隨著計算機與互聯網技術發展,對Java軟件測試技術工作人員的需求非常大,該專業的發展前景很好,很多高校為此專門開設了Java語言有關的課程。
2 教學存在的問題
2.1 教學方法不合理
教師遵照傳統計算機語言表達教學策略,按具體內容順序解讀知識要點,隨后學生根據案例認證、練習題夯實和增強對Java語言的認知。學生常常感覺到無趣、乏味,欠缺學習興趣愛好。在大多數人眼中,學習目標僅僅是為了應對期末考試,通常死記硬背地應對考試,確實沒法消化知識。甚至根本不知道上完了這門課程能做什么項目,沒有多少人真正用心學習。最終,他們無法自由地運用Java。這類教學方式難以實現應用型人才的培養計劃,無法滿足大眾對計算機專業性人才的需求。目前Java課的教學大多采用傳統的教學方式,即教師以填鴨式的形式將知識傳授給學生,學生往往死記硬背書本上的知識內容,不費力氣去查找。對解決思路、新意識、新思維、思考能力的培養則無益處。大學教師是一個穩定的職業,科研很好,是年輕科學家喜歡的職業。因此,在大學教師中,青年教師大多來自高校,這些青年教師具有良好的思維知識背景、思維創新能力,只是他們自己還不自知。主流的開放框架和開發工具等知識還比較缺乏。
2.2 未能突出面向對象編程思想
本課程的課堂教學目標是塑造學生面向對象編程思維與技術。在本課程前,學生一般學習C程序編寫、Visual Basic編程、算法設計等課程,了解面向對象方法編程技術,不容易轉換到面向對象邏輯思維。在以往的教學方式下,老師重點依照章節合理布局授課,包含各個領域,但是并不注重面向對象思維塑造,因而學生在學習本課程后,仍舊根據實際應用以面向過程邏輯思維進行程序編寫。
2.3 高職高專學生、教師的特點
對高職院校計算機類的學生開展的統計分析發現其中很大一部分學生的升學錄取成績低,文化根基和知識面整體較為薄弱,缺乏一個高效學習方法。這些學生對學習往往抱有厭倦的心理,同時對個人缺乏足夠的自信,遇到難學的知識和課程,極易產生動搖心理。同時還有一些家庭困難的學生,因(學校)培訓費低選擇就讀,并非成績不好的學生,這類學生憧憬將來能找到一份穩定的工作來改變家庭和生活水平,他們表現出了極強的好奇心,并且學習知識都比別的同學快。這當中存在許多學生習慣中學教師手把手的教室黑板式教學方式,無法在大一就適應大學各種各樣的教學方式。
針對各個水平的學生,教師若是依舊選擇一些其他計算機語言(如C、VB、C++等)的教學方法,很難帶動學生的學習積極性,同時也會使部分學生感覺即便努力學習也無太大的實際意義。因此目前有一些學生對老師固有的專業知識持懷疑態度或者是厭倦當前應用的教學方法;甚至有些學生在經過培訓一段時間后,情緒變化非常大,對于未來能否找到好工作沒有自信心。高職院校的課堂教學跟普通高等院校不一樣,更多重視實踐而非基礎理論知識學習,一些學校,由于資金短缺的主要原因,缺乏具備教師和技術工程師兩個方面綜合素質的雙師型教師。
2.4 傳統的考核方式,缺乏對實踐能力的考核
Java編程設計是一門理論和實際相結合的課程內容,因而,這門課程較適宜采用以基本知識為主要目標,以實踐和理論能力塑造為切入點的教學模式,考核方式也應當充分考慮這幾方面。但現在大部分高等院??己朔绞饺鄙賹嵺`能力和學習的過程的考核評價。再加上考試的知識限制在書本上,這種考核方式過度重視學生對教材知識的記憶,也會導致學生局限于教材,且不積極主動去擴展閱讀范圍知識,沒法提高大多數學生的靈活應用思維和水平,以及個人綜合素養的改善。在講課情況下,會發覺多數學生是能看懂他人的一些簡單編碼的,對著程序執行也沒什么問題,而若是實際提出一個問題,要求學生獨立完成程序編寫和項目設計時,這類學生卻很容易表現出不知如何下手、如何思考問題,因此更不知如何去編寫適當的代碼,程序調試自然也無法通過,問題和bug頻繁,可見這類教學方式并不能實現既定的教學目標和計劃。Java課程作為主要課程之一,屬于考試類,即以筆試或考試報告的形式對學生進行評價。內容與形式是一體的,無法評價學生對基礎知識的正確掌握、情境化的掌握和應用知識解決工程問題的能力。這影響了知識融合能力的培養,甚至影響了運用所學知識解決復雜工程問題能力的培養,影響了新工科培養的目標。
2.5 實踐環節的問題
近年來,我國高等院校提出了“卓越工程師計劃”,旨在造就更多能夠創新、適應業務需求的優秀工作者和不同類型的工程技術人才,這需要學生進行足夠的工程實踐。但目前的情況是Java實踐課時不足,學生沒有足夠的時間將課堂所學的理論知識融入到解決問題的思路中。學生上機試機時,只對書中已有的例子進行調試,調試成功即完成作品。這種練習只是讓學生熟悉編程語言和調試過程,對于培養學生運用Java語言解決實際問題的自我認同能力沒有起到重要作用。如何根據學生的情況設置合適的難點問題成為當前的一個重要課題。學生在規定的時間內完成老師設定的內容并提交測試報告,這種實例化教學往往讓學生缺乏體驗實踐課的興趣和完成家庭作業的自主性,從而降低課堂使用的價值和重要性。究其原因,是大部分教師沒有實驗教學經驗,學校不具備有效的教學資源。
3 Java程序設計在教學實際中解決問題的措施與策略
3.1 采用分層教學方法
在課堂教學中,先是要掌握各個學生的真實水平,依據學生的個人學習狀況,將學生分成2~3個班,并設定每個人的目標,即個人教學目標被采納。再依據學生的真實水平給予有選擇的知識進行學習。教學過程不僅需要顧及學生能力與知識存在的差異性,確保學生盡量學得多,也要保證基礎薄弱的學生受益,也就是讓每個學生都能開心主動地去學習。對于不同學生,在相同班級,知識和學習速度通常也會有區別,這表明了個體教學發展的理念。例如,對于編程能力較好的學生,教師應綜合運用新項目,用于拓寬學生的知識面,提升個人編程思維和意識;根基薄弱的學生,老師可以選擇一些簡便的編程題,帶動學生學習的積極性,隨后將難度系數慢慢提高,最終實現既定的目標和計劃。在部分項目中,可以分組合作的方式進行,編程水平較高的學生與較低的學生分在一組,可以使編程能力強的學生發揮帶動效應,有助于進步。在其他學習過程中,逐漸減少學生人數、學習和培訓的差異性,編程專業技能的客觀提升,最終各級學生實現總體目標的均衡。學生有更多的時間積極參與疑難問題的討論和交流,教師才能正確引導教學過程的有效性。根據移動互聯網課堂教學與傳統課堂教學相結合的混合教學方式,實現智慧課堂,讓學生主動學習和訓練。盡管傳統的教學方法有其缺點,但良好的Java語言知識是培養良好編程技能的基礎。類與對象、子類與繼承、連接與實現等基礎知識,借由傳統教學,用通俗易懂的語言解釋清楚。另外,為了提高學生的課堂參與度,促進主動學習的興趣,在教學中以活動或小項目為例,分成小組討論。這不僅能解決傳統教學方法千篇一律的問題,更重要的是可以促進學生的探索精神和工作能力。
3.2 注重面向對象編程思想的培養
面向對象的原則就是在做程序設計的時候,盡量按照我們一般的思維模式,對一個難題做一個實體的模型,用目標世界的思維模式獨立思考,把如何得到應用表達為盡可能自然。Java語言是一種絕對的面向對象的編程語言表達方式,具有特殊的面向對象系統。充分考慮學生所教的科目、編程等,因此在本課程的教學過程中,只對基本數據類型、程序操作(序列、選擇、循環結構)等相關信息進行了簡單的解釋,讓學生注重感覺導向地區別兩種編程思想之間的對象和面向對象的方法。在教學過程中,要強調面向對象的概念,對類、目標、方法、繼承、多態等知識點進行更好的詮釋,并組織大量的培訓,改變學生的編程思維,使其更具面向對象的思維意識。注意不要急于求成,讓學生繼續練習活動慢慢理解語言,在學習訓練初期不要詳細介紹難點內容,否則可能會嚴重損害學習效率。
在講授“Java編程”課程內容的過程中,發現很多同學可以在課堂上或者課本的內容上做例子,也能理解和分析程序執行的錯誤,但是項目較為復雜或課本內容并未涉及的時候,學生就無從下手,體現出學生并未真正掌握Java編程的面向對象原理和編程應有的意識。為此,老師需要把教學內容通過適當的語法規則進行完整解釋,加強培養面向對象編程的邏輯意識,提高個人思維,從教學流程設計直至實際項目的設計方案,對課程內容給予補充,完成以Java為核心應用軟件的開發和學習過程。
3.3 以項目驅動案例教學方式培養學生學習興趣
教師需要應用項目型案例教學方法,解釋基礎定義、語法和邏輯思維,通過大家最熟悉的聊天室程序設計和代碼、選課系統、網站設計等等,不僅強化了基本理論的了解和處理生活的實際難題,也能幫助學生加深記憶。從而更好地帶動學生學習的積極性。在案例解析當中,將問題作為新任務,促進學生不斷對新知識的學習掌握,應用面向對象的邏輯,綜合應用多線程、數據庫、互聯網等有關知識和信息。和學生共同處理開發中遇到的一些問題,慢慢學習和了解Java的語法內容、基礎定義、網絡知識、數據庫建立等。再不斷分析、觀察與實踐、案例總結和程序代碼設計,讓學生掌握理論知識。在實踐課程中,應考慮實踐內容與教學內容的一致性,學生應模擬項目開發過程,先分析問題,再編寫程序,最后驗證正確性、完整性、安全性。
3.4 采用多元化考核方式
過去的課程評定主要是以期末測試的成績對學生整個學期的學習狀況進行評定。這類評估方式無法完整對學生的編程水平進行評價。因“Java程序設計”屬于一門基于程序的重要課程,所以這種方法側重于實踐課程的能力評估,因此需要對評定方式給予改進和完善,進行過程評定與總結式評估,即平均分(60%)和最終成績(40%)的最終評估結果。其中,平時成績包含了出勤(30%)、答題(30%)和機考(40%)組成。這種評估方式體現了對實踐能力評估的重視。計算機測試通常強調過程評估,可以動態反映學生的學習效果和實踐能力,期末項目測試反映學生的綜合軟件開發和應用能力。各種考核方式的運用,真實地體現了對實用編程技能的考核。評估的目的是通過“考試”來支持“學”和“教”,而不是達到最終成績的指南。Java課程的評價目標應以“指導、分析、反饋”為重點,分階段進行各種評價。例如,第一階段評估Java語言的基礎知識,通常作為傳統的測試形式;第二階段評估使用測試報告作為問題驗證;第三階段注意細節的完善,項目評估。通過階段性評估,難度逐級遞增,將各級評估結果作為下一級教學的指導和依據,形成標準的封閉式教學,激發學生的積極性、學習興趣與發展自學能力,最終將學習框架化、系統化,以解決復雜的工程問題。
3.5 改善師資力量,實現真正意義上的校企合作
通常是由學校教師和有實踐經驗的企業工程師共同完成授課過程,由于學校教師沒有實際的項目開發經驗,很難比較全面地介紹Java編程知識。因此,老師在Java方向的課程教學工作前,可以先安排到公司參與實習和培訓,掌握最新和先進的技術,實際工作中需要用到的理論,以及實際項目的整個研發經過。在Java語言學習前,有條件的可以聘請具有重大項目豐富編程閱歷的工程師為學生進行一周的演講報告,重點分析本課程的未來發展、工作趨勢,并查看當今最熱門的項目。對課程有足夠的認識,直到畢業后能夠從事相關的職業與工作。同時,帶動學生學習和了解這門新課程的學生的積極性。學習一段時間后,公司給予一些簡單的實際項目讓學生練習,使學生多方面地加入到實際項目的開發過程中;提高個人動手操作能力,也使他們明白學到的知識和理論是能派上用場的;老師還需要盡可能加入軟件項目的研發過程,有助于加強理論和實踐融合的創新能力,達到校企合作的既定目標。從科研和教學兩方面來看,高校青年教師很難有精力和時間長期參加業務培訓。但是,學校可以邀請一些精英老師參與設計過程。同時多鼓勵青年教師參與各類項目,使培訓工作不僅很好地對接企業需求,也加強青年教師與企業的聯系,提高教師的個人發展,以便他們可以在課堂上提供更多的指導作用。
3.6 教學環節與實踐環節之間的關聯與協作
Java課程理論與實踐并重,在最新的工程背景下,告知大學生以“知識與經驗實踐”獲取成功是教育改革的關鍵?;ヂ摼W上的合作是現在需要解決的一個重要問題。通過性能評估和多樣性,即第一階段的Java語言基礎知識部分的評估,第二階段的內容分析,和第三階段的作品分析建立聯系。教學環節閉環模式,即融合協同支撐。在課程中引入思想和情境,將理論知識與具體的任務或情境相結合,在客觀中完成理論知識的傳授,避免填鴨式教學導致學生學了理論知識后無法體驗到真實的情境。教學目標可以讓學生更加了解自己的學習,更加了解如何使用Java語言逐步解決復雜的問題。引入一些先進的程序設計教學與實訓平臺,例如有些平臺會將一些游戲引擎、界面編輯器、集成開發環境和API等集成在一起,其中也會攜帶一些優秀的教學案例,包括程序設計思維訓練、基礎上機實驗、綜合實訓等,這種實訓平臺多采用開放式開發環境,支持學生大膽創新并集成大量的幫助文檔使學生的學習過程和教師的教學過程變得相對輕松。另外教師要走出去,對一些軟件公司的運作流程進行調研,仿照企業中實際項目開發的分工和角色,以及具體的流程對Java實踐過程進行預設。
4 結論
綜上所述,在Java教學中,老師需要根據課程特性,制訂適度的教學方案,提高教學品質,在精彩紛呈解讀的前提下,提高學生學習積極性,創建高效率的評價體系,確保學生把握和融合知識要點,從而實現Java技術的教學內涵。文中剖析現階段高職院?!癑ava程序設計”課程教學存在的問題,給出了選用混合方式與智慧課堂教學、重視塑造學生程序設計的思路、選用分層次教學及多元化考核機制等教學改革和創新措施,對進一步提高Java程序設計課程教學實際效果具備重要意義。
(作者單位:湖南生物機電職業技術學院)