摘 要: Java語言憑借其平臺無關(guān)性、開放性及安全性等特點有著較為廣闊的應(yīng)用前景。通過分析Java程序設(shè)計課程在教學中存在的一系列問題,提出了體驗項目貫穿的教學方法,闡述了如何進行項目的選擇與拆分、Java技術(shù)體系和學習地圖的搭建、立體化教學資源的構(gòu)建,以提高課程的教學效果,滿足社會需要。
關(guān)鍵詞: 項目驅(qū)動; Java程序設(shè)計; 項目拆分; 學習地圖; 立體化教學資源
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2014)05-64-02
Abstract: Having the characteristics of independence, openness and security, the language of Java has shown application prospects. The present situation of "Java program design" course is analyzed. In order to improve teaching effect and meet the needs of community, the method of experience project throughout teaching is proposed. The selection and splitting of the project, establishing Java technology system structure, learning map and building teaching resource are elaborated.
Key words: project driving; Java program design; project split; learning map; three-dimensional teaching resource
0 引言
Java是一種廣泛使用的網(wǎng)絡(luò)編程語言,它具有簡單、面向?qū)ο?、平臺無關(guān)、安全和并發(fā)等特點。Java提供了豐富的類庫,程序設(shè)計者可以方便地建立自己的系統(tǒng)[1]。Java已經(jīng)成為編程語言的驕子,越來越多的大學在講授數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計和算法分析等課程時,選擇以Java語言為載體。2009年4月Java的東家Sun公司被甲骨文公司收購,但這并未阻止Java發(fā)展的步伐。Java在Web、移動設(shè)備以及云計算方面前景依舊非常廣闊。隨著云計算以及移動領(lǐng)域的擴張,更多的企業(yè)考慮將其應(yīng)用部署在Java平臺上,無論是本地主機還是公共云,Java都是目前最合適的選擇。Java技術(shù)的開放性、安全性和龐大的社會已有資源,以及其跨平臺性,即“一次編寫,隨處運行”的特點,使Java技術(shù)成為智能手機軟件平臺的實施標準。采用Java技術(shù)后,編寫的應(yīng)用程序和提供服務(wù)的人就不必關(guān)心接收其服務(wù)的手機采用的是什么操作系統(tǒng)和芯片;同樣,生產(chǎn)手機的廠商也不必顧慮將來誰來提供增值服務(wù)。
1 Java程序設(shè)計教學中存在的問題
Java語言概念多、實踐性強、涉及面廣,采取的是面向?qū)ο蟮脑O(shè)計思路編程。傳統(tǒng)的程序語言教學通常是以知識點的層次遞進為體系[2-3]。Java程序設(shè)計就是按照Java程序基本結(jié)構(gòu)、標識符、運算符、語句、類、繼承、接口、線程、文件、swing、網(wǎng)絡(luò)編程和數(shù)據(jù)庫等知識點層次以遞進方式來展開教學的。在學習每個知識點時,采用的是“理論講解+程序演示”的模式,即講解一個知識點,然后演示一個針對相關(guān)知識點的例子,所舉例題都屬于驗證型的演示,這種方式有利于學生掌握相關(guān)知識點,然而學生并不理解它們的實際應(yīng)用場景。例如,在講接口的概念時,教師通常會編寫一個關(guān)于接口使用的例題,通過例題的講解與演示,學生基本能掌握接口的定義與使用的語法,但學生并不知道到底為什么要引入接口,因為驗證型的例題相對來說比較短,甚至去掉接口直接用抽象類完全可以實現(xiàn)相應(yīng)功能。學生對于應(yīng)用場景的困惑,會導致在實際程序的編寫過程中不知道什么時候應(yīng)該用接口。因此,這種純粹按照Java知識體系推進知識點的學習,缺少主線貫穿的教學方式,暴露出的問題也越來越多:①學生長期處于被動地接受狀態(tài),只重視各知識點的理解和掌握,沒有應(yīng)用場景或其他主線來貫穿這些知識點,學習的積極性會大大降低,所學知識點也不成體系,很容易忘記;②學生綜合利用所學知識解決實際問題的能力差,滿足于知識點的學習和例題的練習上,沒有參與到實際項目的開發(fā),無法直接感受所學知識在實際工作中的作用和地位;③考核方式單一,采用單一卷面考核方式,考察重點偏向于了解學生掌握知識的多少,導致教師的教學重點偏向課本的知識點而忽略學生實際動手編程能力的培養(yǎng)。
2 項目驅(qū)動在Java程序設(shè)計中的應(yīng)用
2.1 項目的選擇與拆解
項目驅(qū)動教學法是指在教學過程中,以學生為中心,把一個項目拆解成若干個子項目,然后提煉出各子項目所涉及到的知識點[4-5]。通過項目為主線,把相關(guān)知識點串聯(lián)起來,讓學生從體驗項目中找到學習的興趣,明確學習目標,掌握對應(yīng)知識點的應(yīng)用場景,提高利用所學知識解決實際問題的能力,轉(zhuǎn)變學生被動接受的角色,做到理論聯(lián)系實際,學會融會貫通[6]。
項目的選擇尤為重要,Java程序設(shè)計這門課程主要介紹Java基礎(chǔ),包括:JDK文檔的使用、類的設(shè)計模式,定制自己需要的類,異常、IO操作、線程、數(shù)據(jù)集合,Swing、Java2D和常用實用類等。因此所選擇的項目不應(yīng)超出Java基礎(chǔ)知識的范圍。
讓學生體驗項目功能的同時,列出實現(xiàn)項目所需的技術(shù),以及所需技術(shù)的學習資源,這些資源可分為兩類,一類是在學歷課程中覆蓋,另一類是通過第二課堂獲取。 學歷課程中覆蓋的多少根據(jù)教學計劃中安排的課時數(shù)而定,第二課堂中資源可包括教師錄制的一些視頻、ppt和切割的項目包等資源,以此來彌補課時的不足,這樣可以既有自己的辦學特色,又培養(yǎng)了應(yīng)用型人才,提高學生的就業(yè)質(zhì)量。
在教學過程中,可以通過幾個經(jīng)典類型的項目來貫穿。第一類項目為桌面游戲類,如掃雷游戲,掃雷游戲可以拆分成按難度等級生成界面,英雄榜,背景音樂播放等模塊,所涉及到的相關(guān)技術(shù)包括面向?qū)ο笤O(shè)計、Java swing、IO操作和常用類的使用等,可以在相關(guān)知識點的學習之后來完成相應(yīng)模塊,隨著新知識的學習,不斷進行完善,最后形成相對完整的項目。第二類項目為信息管理系統(tǒng),如學生信息管理系統(tǒng),這個項目涉及到的技術(shù)包括JDBC和Java swing的一些高級組件及事件驅(qū)動,如學習了Java swing中的相應(yīng)組件和布局之后就能完成界面的搭建,學習了事件驅(qū)動之后,再將相應(yīng)組件上加上事件處理。學習JDBC之后,要在項目中加上數(shù)據(jù)庫的相應(yīng)操作,這樣當所有知識點學完之后,學生信息管理項目也基本完成。第三類項目選擇如Java QQ之類的項目,這個項目涉及到集合類、多線程、IO流、網(wǎng)絡(luò)編程等相關(guān)知識。動手的過程,同樣是按照知識點進行切割,不斷填充整個項目。在項目貫穿的過程中,要注意對項目進行按功能模塊進行切割,這樣不僅便于學生學習各個知識點,而且讓學生明白如何運用所學知識編程解決實際問題。
2.2 搭建完整的Java技術(shù)體系與學習地圖
Java的學習,從Java開發(fā)環(huán)境開始,到Java語法,再到Java的核心API。主要分為四部分。
⑴ Java開發(fā)入門:Java開發(fā)環(huán)境的安裝與使用,包括JDK命令、Eclipse IDE下Java程序開發(fā)和部署。
⑵ Java語法基礎(chǔ):基于JDK和Eclipse環(huán)境,Java核心功能開發(fā),掌握Java面向?qū)ο蟮恼Z法構(gòu)成,包括類、抽象類、接口、靜態(tài)類、匿名類、內(nèi)部類、異常類的編寫。
⑶ Java 核心API:Java核心編程、Java圖形編程和Java網(wǎng)絡(luò)編程。
⑷ Java高級特性包括反射、泛型,以及Java自動裝箱和拆箱、枚舉類靜態(tài)導入等高級特性。
在Java的學習過程中,完整的Java技術(shù)體系與學習地圖的重要性越來越突顯,理解Java技術(shù)體系與學習地圖中的重點、難點,做到有的放矢。一方面,教師將相關(guān)技術(shù)知識點融入學歷教育、第二課堂與在線教育平臺中,按學生不同能力層次開設(shè),因材施教;另一方面,學生可以根據(jù)自己的能力和興趣,獲取更多的專業(yè)知識。
3 構(gòu)建“立體化”教育資源
由于相關(guān)知識點是分別融入到學歷教育、第二課堂和在線教育平臺中,因此相關(guān)資源的開放顯得尤為重要,教師應(yīng)為學生建立相應(yīng)課程的教學平臺,提供“立體化”的教育資源。平臺中應(yīng)包括學歷教育中所涉及知識點的大綱、課程ppt、實驗案例、實驗指導手冊及體驗項目工程包等,學生可以利用課余時間鞏固課堂內(nèi)的知識及完善課堂中的項目內(nèi)容。另外對于課堂外的相關(guān)教學資源也應(yīng)適當提供給學生,有能力和興趣的學生可以充分利用所提供的資源,如一些授課視頻及練習經(jīng)典習題等,獲得一些學歷外的知識和一些拔高技能,做到因材施教,培養(yǎng)學生的動手編程能力,提高學生的就業(yè)機會。
4 結(jié)束語
本文針對Java程序設(shè)計課程在教學中存在的一系列問題,提出了以項目為主線貫穿知識點進行教學,并把知識點按實際情況分解到課堂教育和第二課堂中。實踐證明,這種因材施教的項目貫穿的教學方式,可以提高課堂教學的趣味性,減少學生在學習知識點時的茫然和困惑,提高學生對各知識點的綜合能力,進而提高其編程和解決實際問題的能力。
參考文獻:
[1] 耿祥義,張躍平.Java程序設(shè)計精編教程[M].清華大學出版社,2010.
[2] 馮林,鄭薇薇.“任務(wù)驅(qū)動”與“項目驅(qū)動”相結(jié)合的創(chuàng)新教育研究[J].
黑龍江教育,2010.4:57-59
[3] 徐靜.卓越工程師培養(yǎng)計劃下“Java程序設(shè)計”課程改革[J].計算機時
代,2013.9:65-66
[4] 張耀明.“項目驅(qū)動+案例教學”模式在軟件工程教學中的應(yīng)用[J].中
國職業(yè)技術(shù)教育,2012.8:57-60
[5] 柯勝男,黃明和,雷剛.基于“項目驅(qū)動”的教學研究與探索 [J].計算機
教育,2007.4:25-27
[6] 姜大志,孫浩軍.基于CDIO的主動式項目驅(qū)動學習方法研究[J].高等
工程教育研究,2012.4:159-164