張 力
(山東理工職業學院,濟寧 272000)
JAVA 是一種計算機的編程語言,具有效率高、覆蓋面廣、簡單易用等特點,不但可以用來進行桌面程序的開發,還可以適用于與互聯網應用的開發,在當前具有廣泛的應用。在我國,隨著計算機和互聯網技術的不斷發展,JAVA 編程技術人員需求巨大,相關專業的就業前景很好,很多高校都開設了JAVA 語言相關課程。
《JAVA 程序設計基礎》是計算機軟件技術專業的一門核心基礎課程。學生打下穩固的JAVA 基礎,才能在Java Web 網站建設、Android 手機端開發、Hadoop 大數據處理等方面有上佳的表現。該課程的培養目標旨在讓學生掌握JAVA基本語法知識、算法、面向對象思想、GUI、IO 流等,通過課堂理論和實踐教學提高學生的編程設計能力、動手能力、創造能力、解決問題以及工程應用等能力,以滿足公司、企事業單位對軟件專業人才的能力要求。
(1)JAVA 課程的認知困境
JAVA 涉及的知識量大,理論性和實踐性又很強,所以被公認為最難學的編程語言。需要學習者具有較好的邏輯思維能力、嚴謹踏實的態度和抽象思維能力。這也是多年來JAVA 教學效果不理想的重要原因。
(2)教學方法有待改進和提高
高職高專院校中《JAVA 程序設計基礎》課程的教學,雖然采用了目前較為普及項目化教學,但是收效頗微。造成這種現象的主要因素是,采用單一的項目化教學,削弱了學生對知識點的理解和掌握,再加上程序設計語言課大都比較枯燥,牽扯到語法、算法等知識,容易學到后面忘記前面。等到學期結束時,項目雖然實現了,但是學生一知半解,只能照圖索驥,不具備獨立完成項目的能力。
以上是目前高職高專學校《JAVA 程序設計基礎》課程教學普遍存在的問題,對這些問題不研究解決方案,最終教學就難以取得預期目標,也難以培養具備核心競爭力的學生。
基于該課程教學方面存在的問題,著重采用以下幾種教學方法,以提高教學效果。
《JAVA 程序設計基礎》的第一堂課非常關鍵。首先采用演示法,將本學期要完成的幾個有意思的項目作品(比如推箱子游戲、貪吃蛇游戲等)展示給學生,讓學生自己在機子上操作。通過作品演示,學生們對學習本課程能夠做什么就一清二楚了。接下來用圖表展示要想實現這些作品需要學習哪些知識點;再用圖片或實例展示學會Java,可以從事Android 開發,編寫手機APP;可以學習Java Web,建設動態網站等等。此時學生不僅對本課程有了清晰的認識,而且學習的積極性也被激發了出來。最后給出課程的考核辦法,讓學生知道怎樣才能在期末取得好的成績。
學生第一次接觸面向對象的編程語言,要想學好,必須深刻理解面向對象的基本概念,比如類、封裝、繼承、多態、接口等。講課的時候,可以采用畫內存圖的方法,讓學生從內存的層面理解知識點。然后再給出適合的案例讓學生練習,鞏固對知識點的理解。如在講解局部變量和成員變量的時候,以下面一段程序為例,帶領學生共同繪制此程序的內存圖解,如圖1所示。通過畫內存圖,學生不僅知道了局部變量和成員變量的異同點是什么,而且知道了為什么會存在這些異同點。使得學生對本知識點的理解更加深入、透徹,為后面熟練應用知識點打下良好的基礎。
class Circle{
double radius;
public double calCircum(){
double circum=Math.PI*2*radius;
return circum;
}
public double calArea(){
double area=Math.PI*radius*radius;
return area;
}
}
class CircleDemo{
public static void main(String[] args){
Circle circle1=new Circle();
Circle circle2=new Circle();
circle1.radius=3.5d;
circle2.radius=2.7d;
System.out.println(“circle1周長為:”+circle1.calCircum());
System.out.println(“circle2面積為:”+circle2.area());
}
}

圖1 內存圖解
學生理解了面向對象的基本概念之后,教學重點就可以轉向項目化教學。通過實現計算器、文本編輯器、推箱子游戲、貪吃蛇游戲四個項目,綜合運用圖形用戶界面、IO 流、事件處理機制、異常處理等模塊的內容。這里以推箱子游戲(狼推羊)為例,進行說明。推箱子游戲涉及到的主要內容有二維數組、圖形界面設計、鍵盤方向鍵的事件處理。教師主要是帶領學生分析游戲初始界面如何布局?狼推羊走具體有多少種情況?如何記錄狼位置的變化?如何記錄多只羊位置的變化?如何記錄已經進籠的羊的數量?邊分析邊實現。基本功能實現后,學生獨立完成選關、背景音樂等附加功能。
好的教學方法固然重要,但是仍需必要的教學手段加以輔助,以達到最好的教學效果。
編寫程序,最痛苦的莫過于修改錯誤,最幸福的莫過于成功的修改了錯誤。為了幫助學生更好的解決常見的錯誤,可以將這些錯誤的講解過程錄制成微視頻,共享到QQ 群或者微信群,方便學生下載學習。
所謂的授課文檔,即授課的全過程的描述文檔。包括本堂課所學知識點、教學案例、詳細的上機操作步驟、項目分析、涉及到的英文單詞。此文檔主要是幫助學生回憶課堂內容,指導學生上機操作。
在教師機安裝視頻錄制軟件,將教師授課的全過程錄制成教學視頻,共享到百度云盤中,方便學生回看,以便更好的掌握課堂講授內容。
第一堂課采用演示法演示本學期要完成的項目,讓學生了解了學習本門課程能夠做什么,學好這門課程以后能夠做什么,極大地激發了他們的學習興趣。學生眼中閃爍著求知的欲望,心中升起了滿滿的期待,正是這份期待支持著他們在日后的學習過程中闖過一道道難關。
由于JAVA 知識點多且不容易理解,學生大都一知半解或者知其然而不知其所以然。所以,只能夠照搬照抄,靈活運用知識點解決問題的能力有較大的欠缺。采用案例+畫內存圖的方法學習知識點,能夠幫助學生從內存的層面理解知識點,讓其知其然還要知其所以然。學生對知識點的理解達到融會貫通的程度,解決問題的時候,能夠舉一反三,聞一知十。
在學生對JAVA 知識點理解融會貫通的基礎上,再進行項目化練習,不但能夠提高學生綜合運用知識點解決問題的能力,還進一步加深了學生對知識點的理解。項目化教學中涉及到的擴展內容,需要學生通過自學來完成,這進一步增強了學生的自學能力。
采用上面的教學方法和教學手段授課后,學生利用JAVA 編程的興趣濃厚、知識點掌握扎實牢固、解決問題的能力有了較大的提升、自學能力大大增強。在遇到問題的時候,學生能夠通過查詢網絡、書籍,快速準確的找到解決問題的辦法;涉及到新的知識點,能夠快速的理解并運用。總的來說,學生達到了自我學習、自我提高的階段。