周黎鳴 郭拯危


摘? 要: 針對Java程序設計課程的現狀及存在的問題,分析了當前Java程序設計課程的教學內容、教學方式,以及教學過程中的考核機制。提出以“過程性評價、項目驅動”為核心的新教學體系,并說明教學成果。
關鍵詞: Java程序設計; 過程性評價; 項目驅動; 教學改革
中圖分類號:G642? ? ? ? ? 文獻標志碼:A? ? ?文章編號:1006-8228(2019)04-93-03
Abstract: Aiming at the current situation and problems of Java programming course, this paper analyzes the current teaching content, teaching methods and assessment mechanism in the teaching process of Java programming course.? A new teaching system with "process evaluation and project-driven" as the core is put forward, and the teaching results are explained.
Key words: Java programming; process evaluation; project-driven; teaching reform
0 引言
Java語言是一種功能強大和多用途的編程語言,針對不同的運行環境,Java語言具有“一次開發,到處使用”的特點,可針對Android平臺、臺式計算機以及服務器等開發相應的程序軟件。根據2018年12月TIOBE最新的編程語言排行榜中,Java語言以15.932%的熱度排名榜首[1],表明Java語言涉及的領域越來越廣泛。隨著互聯網技術的發展,企業對Java工作的要求越來越高。目前,各高校普遍把Java程序設計課程作為計算機類專業的核心課程,如何提升學生的編程水平和邏輯思維能力,是擺在本科教學過程中的突出問題[2-3]。
1 教學現狀分析
Java程序設計課程的教學質量直接影響到其他相關的課程教學,如移動應用軟件開發和Java Web開發,相關領域的專家也進行著廣泛地研究和改革[4-6],但是,Java教學中仍然存在著許多不足之處。
⑴ 理論知識重于實踐練習。在傳統的教學模式中,首先教師講解理論知識并演示代碼,然后學生分別進行實驗。在這種模式下,學生已學的理論知識和實踐操作并沒有緊密結合在一起,造成學生上機練習時理論知識已經忘記了很多,而實踐操作又沒有理論內容的支撐。因此,這種教學模式的效率很低,學生無法從學習中獲得程序開發的經驗和樂趣。
⑵ 教學過程中學生沒有項目實踐。學生在學習過程中,僅僅是針對某個知識點進行上機練習,很少會經歷實際的項目開發。因此,學生無法做到“學以致用”,無法串聯起每個知識點以及它們實際的用途和使用場景,進而造成學生只了解理論知識,而不會把這些知識運用到程序開發實踐中。
⑶ 缺少激勵性的評價機制。在傳統的教學過程中,有些學生理解知識快,動手能力強,但是他們并不善于考試,因此期末考試成績并不突出。這很容易使學生不注意平時的學習和積累,并在期末考試前突擊復習。
⑷ 學生缺乏自主學習的積極性。教師平時講授的知識大多是書本上的內容和練習,很少會涉及課外知識,這樣會使學生知識面狹窄和解決實際問題的能力薄弱,進而造成學生沒有積極學習的動力,無法培養學生的工程技術能力。
2 教學改革思路和措施
在新工科背景下,為了提高學生的學習效率和實踐能力,Java程序設計這門課在機房采用“即學即練”的教學方法,注重理論和實踐的結合。同時,該課程使用過程性評價機制來考核學生的學習情況。教師講完一個知識點后,學生就可以及時進行上機操作,并對已學知識進行實踐運用,從而幫助學生鞏固已學的知識點。通過Java程序設計課程的學習,幫助學生理解面向對象程序設計的思想,熟練掌握Java程序開發的基本方法。
2.1 課程實施
Java程序設計課程是本科計算機專業的核心專業基礎課,是培養學生程序設計能力的重要課程。該課程主要講授Java程序設計的基本概念和方法,包括Java語言基礎、面向對象機制、Java基礎類、圖形用戶界面設計、異常處理、多線程控制、輸入/輸出流、網絡編程、JDBC等。通過對該課程的學習,學生應達到以下程度:①理解和掌握Java語言的基本語法;②掌握面向對象編程的思想;③能夠運用Java進行面向對象的編程;④能夠使用Java語言進行基于GUI的應用程序設計;⑤了解Java類庫應用;⑥掌握Java高級程序設計的相關技術。最后,學生可以熟練使用Java編程,為學習與Java相關的課程做好鋪墊,同時也為未來的軟件開發奠定良好的基礎。學習Java語言既可以培養學生的邏輯思維能力,又能提高學生的代碼編輯和調試能力以及初步的軟件設計能力。
⑴ 課前知識預習
每次課前,教師通過在線學習平臺或者網盤發布與本次課相關的PPT、知識要點、問題列表、課外資料等資源,激發學生對知識的探索欲望和問題的思考。通過課前學習,學生是帶著問題來聽課,經過教師對問題的解答,可以幫助學生更好地理解所學知識。教師課前對本次課的理論內容和實踐內容進行分解,并做好知識點的串聯工作。
⑵ 課中教學
為了使學生更好地學習Java語言,該課程安排在機房授課。學生學完相關理論知識后,可以及時上機編寫代碼,并把理論知識與實踐操作相結合,從而促進學生更好的掌握相關知識點。在講解理論知識時,教師用邊講邊演示的方式,讓學生體會知識點與編寫代碼之間的聯系,從而提高學生的編程技巧和邏輯思維能力。在實驗操作中,學生碰到代碼上的問題,可以及時向老師請教,通過實際操作,使學生對所學知識進行查漏補缺。然后,教師歸納總結學生提出的問題,并再次進行代碼演示,同時指出學生的代碼問題。通過“教師演示-學生提問-問題歸納”的形式,幫助學生解決困難問題,讓學生逐漸掌握編程方法和解決代碼問題的方法。
⑶ 課后交流反饋
通過在線學習平臺、QQ群、郵件等多種形式,學生把遇到問題及時反饋給老師。根據學生提出的問題,教師將適當調整授課方法和授課內容。在學生和教師之間形成一種良性的溝通機制,一方面能增進師生間的相互了解,另一方面促進學生課下自主學習,提高學生獲取知識的積極性。通過師生間的交流,可以讓更多的學生參與到課堂教學中,并讓學生產生發自內心的學習動力。
2.2 實驗實踐項目
與課堂講解不同,實驗實踐項目需要每個學生單獨完成。根據已學內容,學生將實際問題轉化為Java程序,這樣不僅提高了學生的抽象邏輯能力,還提高了學生的編程水平。在實驗實踐項目中,學生在自主編寫代碼的過程中,通過發現問題、解決問題,以查漏補缺的形式逐漸提升自己解決問題的能力。通過代碼斷點調試,了解代碼編寫過程中的不足之處,體驗工程實踐。
實踐項目是學生從課堂練習走向自主開發程序的一個轉折點,通過實踐項目的鍛煉,學生能夠把理論知識轉為實際的項目實踐。通過實踐項目的開發,學生可以掌握知識靈活運用的方法,并獲得單獨開發工程項目的經驗。一些實驗實踐項目如表1所示。
2.3 綜合項目實踐
通過課堂練習和實驗實踐項目,學生已經基本掌握了使用Java語言編寫程序的方法。但是,真正的項目開發需要多人協作完成,因此,需要提升學生的團隊開發意識和協作溝通能力。
在綜合項目實踐階段,3-4名學生組成一個開發團隊,每個團隊包括一名項目負責人。在這個階段,項目開發可以劃分為幾個子模塊開發,每個團隊負責一個子模塊的開發,各個團隊需要溝通和協調接口的開發和調用。最后,各個子模塊被集成為一個軟件系統。以畢業論文管理系統為例,如圖1所示,其中前端展示分為登錄、論文提交、論文審查、幫助模塊;后臺服務包括學生管理、教師管理、論文管理和成績管理。
根據軟件的設計原則,首先進行各個子模塊的設計和實現,然后各個小組協調接口和調用方式,進而完成整個系統的開發。在開發過程中,各個小組不僅要負責本組的設計和開發工作,還要負責與其他小組進行協調和溝通。
通過綜合項目實踐,不僅可以提高學生的編程能力和團隊精神,還能幫助學生了解和掌握系統開發的流程,從而幫助學生積累寶貴的項目開發經驗。
3 過程性評價方案
Java課程不僅教授理論知識,還要求學生達到一定的編程水平。因此,只進行一次期末考試是不夠的,需要對學生的整個學習過程進行評估和考核,包括學生對知識的掌握情況和各個階段的學習狀況。在成績構成方面,平時成績和期末成績的比例分別為60%和40%,其中,平時成績包括作業10%,考勤5%,課堂討論5%,階段性測驗10%,實驗實踐項目10%,綜合項目實踐20%。因此,過程性評價貫穿于整個教學過程,這樣既能較好地評價學生的學習情況,又能高效地開展教學活動。
4 結束語
在新工科背景下,為了提高學生的學習積極性和項目開發能力,采用“過程性評價、項目驅動”為核心的教學理念。在Java程序設計課程實踐中,學生通過課堂實驗項目和綜合項目實踐的鍛煉,在學科競賽中取得了優異的成績,并提高了項目開發水平,整體教學效果良好。但是,教學過程中也存在著一些問題,比如學生學習的自主性需提高、課堂注意力需加強。在今后的教學改革中,我們會不斷探索和借鑒先進的教學理念和方法,進一步完善該課程。
參考文獻(References):
[1] TIOBE.TIOBE編程語言社區排行榜統計[EB/OL].[2018-12-03].http://www.tiobe.com/tiobe-index/.
[2] 袁利永,倪應華,于莉.面向工程應用能力培養的Java多維度混合教學模式探討[J].計算機教育,2018.5:49-52
[3] 李井輝,鄒龍朱,申靜波等.IT專業面向對象思維模式及能力培養體系建設研究[J].計算機教育,2018.8:37-40
[4] 任馨,張群燕.基于案例驅動模式的程序設計基礎教學改革[J].計算機時代,2017.8:73-76
[5] 喬善平,荊山,隋永平.基于案例驅動的Java程序設計課程實驗教學探討[J].計算機教育,2018.6:145-148
[6] 楊月華.基于校企雙導師制的“JavaEE企業級開發實訓”課程改革的探索[J].計算機時代,2017.7:85-87,90