趙曉春
摘要:傳統的Java課堂教學過程往往是重理論輕實踐,并且在教學過程中存在一些問題,和企業對Java開發人才需求有著較大的差距。本文研究了Java課堂教學過程模擬實際軟件項目開發場景,形成一種教學和項目深度融合的教學模式。整個教學過程以選取的項目案例為引線,讓學生扮演不同角色完成該項目功能。實踐證明,這種教學方法既激發了學生的學習興趣,提高了學生學習的主動性,又增強了學生的動手能力,能達到事半功倍的效果。
關鍵詞:Java程序設計;實踐教學;軟件項目開發場景
中圖分類號:TP3 文獻標識碼:A
文章編號:1009-3044(2019)10-0147-02
開放科學(資源服務)標識碼(OSID):
Java是當前最為流行的程序設計語言之一, 憑借著其良好的網絡地位、語言地位及需求地位,在市場上占領了一席之地,也是受很多企業青睞的一門開發語言。所以絕大部分高校計算機等專業也會選擇Java這門語言講解面向對象程序設計相關課程。在本課程學習過程中,要求理論和實踐相結合,重在培養學生的編程理念,提高學生的編程水平。
1 目前Java課堂教學存在的問題
1.1 學生不是課堂主體問題
目前的Java課堂教學,通常是由“理論+實踐”兩部分組成。理論部分采取的是教師灌輸的教學模式[1],實踐部分采取上機的方式實現。而且理論課所占的比例大于實踐課程,教學內容絕大部分也僅僅局限于課本上的例題,學生只學會了課上的例題。即使通過上機進行實踐,但是效果并不是太好。這樣的教學方法,導致學生在自主進行程序設計時,毫無頭緒,無從下手,不能做到活學活用,理論和實踐基本上處于脫離的狀態,從而失去了學生的創造性,實踐教學效果不佳。
1.2 學習知難而退問題
Java技術在很多行業中得到了廣泛的應用, 同時很多培訓機構也一直在宣傳Java應用開發。學生非常了解社會對Java人才的需求量,知道學習好Java的重要性。所以在初次學習Java課程時,大部分學生學習興趣十分濃厚,并且由于學習Java時有C語言以及C++的基礎,比較容易入門。但是隨著課程的不斷深入就會出現一些問題:
1)內容太抽象,不易理解
如面向對象程序設計思想、抽象類、接口等內容,如果課上選擇的例子不夠形象,學生很難理解。即使理解了,也不明白為什么要這么做,所以在教學過程中,如果沒有采取合理的教學方式往往會使學生因難而退。
2)思維定式問題,不易轉換
雖然Java語言是一門高級語言,應用更貼切生活,但有了先入為主的面向過程編程思維后,有些學生反而不會應用現實生活的思維去進行程序設計,影響學生學習的積極性,讓學生產生畏懼心理,進而影響Java課程的整體教學效果。
1.3 學習興趣不濃厚問題
學生在學習過程中一直處于被動地位,通過傳統課堂的講解,學到的基礎知識僅僅會完成課本上的例題,那么所學的知識在實際項目中怎么應用,了解甚少。并且在講解Java基礎知識時,有一部分理論內容比較抽象,難理解,這樣很容易引起厭學,使得學生對Java程序設計這門課程失去興趣。而且課本的實例學生不一定感興趣,對于不熟悉的內容學生有時候也存在抗拒心理,不愿意去深入學習。這樣, 在實踐過程中, 導致學生只能照本宣科去敲代碼,而很少考慮代碼為什么這么實現的問題,更何談自主設計、創新。
2 基于實際項目開發場景的教學實踐過程
目前應用型本科院校對學生的培養目標應逐步轉向職業化,在學習過程中要注重學生的個性發展,培養多元化的創新型人才。恰巧Java程序設計這門課程是學生走出象牙塔,初入職場時必備的技能,所以為了提高學生的編程能力,Java課程教學有必要模擬實際項目開發場景進行授課。
基于實際項目開發場景的教學是根據教學大綱或者課標確定具體的學習內容,學習過程中“以學生為中心”,綜合考慮制定一種既能培養學生的綜合能力,又能把教學任務貫穿到項目開發過程中的教學方案。具體可以從以下幾方面進行:
2.1 選擇規模適中、難易度適中的項目作為實踐課堂教學內容
選擇規模合適的項目[2]作為Java課堂教學內容是基礎,項目規模太大,或者是所選項目用到的知識比較難,對課程效果都會有一定的影響。綜合多方面考慮,本文選擇“銀行卡管理系統”作為教學講解內容,銀行卡分為兩種類型:借記卡和信用卡,這兩種類型的銀行卡都包含登錄、修改密碼、查詢個人信息、消費、存款/還款等功能,此外信用卡還具有和信用相關的一些功能。在銀行卡管理系統功能的實現過程中,Java中的封裝、繼承、多態及抽象等知識點都會用到,故該項目適合作為課堂實踐教學內容。
2.2 按照項目角色分組
在實際項目開發過程中,項目組成員各司其職,所以在教學過程中,會對學生也進行小組及角色劃分,每個小組由項目經理、軟件設計人員、研發人員、測試人員以及配置管理人員等組成(不同角色可以兼任),角色不同那么所承擔的責任也不同。教學過程中可以讓學生自愿或者是輪崗去扮演不同的角色。通過這種方式進行教學,一方面可以讓學生對軟件開發過程有初步認識,另一方面可以讓學生通過模擬實際工作發現自己的興趣愛好以及特長,甚至可能對未來的職業選擇有一定的影響。同時通過小組協作方式的學習過程,既能鍛煉學生與人交流及語言表達能力,也能增強學生的團隊意識,培養學生的團隊協作精神。
2.3 真實模擬實際項目開發工作場景
為了增加學生的動手時間,在教學過程中,教師主要從中選擇幾個具有代表性的模塊進行講解,采用MVC或者是傳統的三層架構方式,從界面控件如何布局、業務邏輯的處理方法及數據庫的具體實現這三方面實現模塊功能,講解后讓學生先實現教師所講模塊功能,然后再逐個實現該系統的其他功能模塊。通過真實項目開發過程鍛煉,既能讓學生知識內化[3],又能創造性地去實現其他功能,鍛煉學生的邏輯思維,同時能提高動手能力。每個項目完成后,教師對整個項目所用到的知識點和學生容易出錯的地方進行總結,進一步鞏固學生的基礎知識,補齊短板。
3 結束語
Java程序設計課程教學過程模擬實際項目開發場景,通過項目案例進行教學實踐。在整個教學過程中以學生為主體,教師起著引導性作用。通過做這種模式進行教學,既能培養學生的動手能力,又能增強學生的團隊協作意識,讓學生在學習過程中逐步培養團隊合作精神。
參考文獻:
[1] 雷燕瑞. 高職項目驅動式課程教學資源庫的設計與應用研究[J]. 中國職業技術教育,2018(2)
[2] 吳奕. 層次化項目驅動在JAVA教學中的應用研究與實踐[J]. 當代教育實踐與教學研究,2018(10).
[3] 游曉明,方志軍,姚興華.MOOC+翻轉課堂混合教學模式下應用型高校教學改革與實踐[J].軟件導刊(教育技術),2017(1):7-9
【通聯編輯:張薇】