劉云玉
(黔南民族師范學院,貴州 都勻558000)
Java程序設計語言自誕生之日就引起了IT界的高度關注,經過20年左右的發展,越來越顯示出其強大的生命力。Java程序設計語言可以說是當今最流行、最受人關注的語言之一,也是高校計算機相關專業畢業生從事軟件開發工作必須要掌握的一門編程語言[1]。對培養學生的編程思維和提高學生的軟件開發能力有重要作用[2]。作為一名高校教師,通過近幾年在民族地區高校的教學發現當前的Java程序設計語言在教學方面還存在一些不足。因此,本文首先分析了其存在的問題,并在此基礎上結合CDIO教學模式提出了一些相應的改革措施。
CDIO(Conceive-Design-Implement-Operate,構思—設計—實現—運行)是由麻省理工學院和瑞典皇家工學院等四所大學歷時四年的研究、探索以及教學實踐建立的一種先進的基于工程教育的教學模式,該模式貫徹產品研發到產品運行的聲明周期,讓學生以主動的、實踐的、課程之間有機聯系的方式學習工程。CDIO培養大綱將工程畢業生的能力分為工程基礎知識、個人能力、人際團隊能力和工程系統能力四個層面,大綱要求以綜合的培養方式使學生在這四個層面達到預定目標[3]。但是CDIO并沒有具體規定某一門課程的能力要求以及具體的實施方法,這就要求教學老師根據實際需要制定符合CDIO的相應的教學內容、課堂教學方法以及考核方式。
1.2.1 教學模式單一
目前,Java程序設計在課堂教學中手段上雖然采用了多媒體進行教學,但是教學形式依然是傳統的模式,即教師在講堂上講,學生被動來接受知識。盡管早在2010年7月黨中央、國務院頒布的《教育規劃綱要》中就提出了教師的教育工作要以學生為主題,以教師為主導,充分發揮學生的主動性[4],但是在實際授課過程中教師往往通過PPT簡單的模式給學生傳授知識而缺乏和學生的互動,忽略了學生是主題這一塊。
1.2.2 教學缺乏過程管理
民族地區高校的學生大部分來自經濟欠發達的農村以及偏遠山區。少數民族學生占了相當一部分比例,這些學生整體受信息技術教育的程度低,信息相對閉塞[5]。由于很多學生進入大學后缺乏自律性,課堂教學結束后學生很少在業余時間復習已學過的知識,教師也無法掌握學生知識點掌握情況,最后導致期末考試后教師發現成績與預想的有一定的偏差。
1.2.3 學生學習的主動性不強、目的性不明確
目前課堂教學主要以章節為主線以知識點講解為主,學生不知道學完這門課程后能做什么,有什么用。大部分學生學習這門課程是因為學校開設了這門課程才學習,學習的目的就是為了期末能通過這門課程的考核。課程結束后學生無法將所有學過的知識點無法串聯起來進行綜合應用,最后給學生留下的印象就是“學過不會用”。
1.2.4 教學重難點不突出
許多院校在開設Java程序設計這門課之前已經開設了C語言程序設計,Java程序設計的開始章節和C語言程序設計前幾章內容結構類試,都是語法、數據類型、運算符、語句。這些內容在C語言程序設計中已講過并且內容大致相同,讓學生在學習認知上有一種疲勞感,失去了學習的興趣。
為了有效解決以上問題本文提出了掌握知識點為要素,項目化教學為依托,提高Java實踐技能為需求導向,加強學習過程管理以達到逐步提高學生學以致用的工程實踐能力。
為了更加有效地使學生全面掌握Java知識點,首先需要修訂Java課程的教學大綱和實驗教學大綱。由于Java知識點多而雜且需要通過實際動手加強對語言的理解和熟悉程度,課程由教室上課改為機房上課并且將Java課程分為2個學期進行教學。
第一學期為Java基礎編程;主要包括內容為掌握Java語言的標識符、關鍵字、數據類型、運算符、表達式和語句;重點掌握類、對象、接口、繼承、輸入輸出流、窗口設計及事件處理以和項目實踐。
第二學期為Java高級編程部分;主要包括內容為重點掌握集合、多線程、枚舉、反射、動態代理、網絡編程、JDBC數據庫編程和項目實踐。
為了避免課堂教學中填鴨式教學,避免學生成為被動的接受知識,本文提出了以下幾點改進課堂教學。
2.2.1 加強理論知識聯系生活實例并與學生進行互動
為了使課堂教學更加生動激發學生學習的興趣,在講解Java知識點過程中引入生活的例子加強學生對知識點學習的興趣和理解。在教學過程中加強教師與學生的互動,能夠提出一些思考問題讓學生進行回答。課堂中引入Java認證考試題目,讓學生解答問題,并對題目進行講解達到消化理解知識點。
2.2.2 增加在課堂教學中案例程序
在講授過程中通過現場寫程序演示方法不僅可以提高學生的專注度還可以通過演示使學生能夠清楚認識知識點如何使用。在演示程序過程中適當增加程序的BUG加強學生對程序錯誤的思考以達到對知識點的理解。
2.2.3 強化學習過程管理
隨著“互聯網+”概念的提出,混合教學模式逐步應用的教學過程中。MOOC是一種新的教育模式,它是提升課堂教學效果的有效手段之一[6]。在Java程序設計課程中將課程的重點難點知識制作MOOC,讓學生能夠在業余時間加強學習,并記錄學生的學習過程。引入在線系統,在每一堂課程結束后布置學生適當作業來加強學生動手和解決問題的能力。通過相應的考評機制對學生課后學習情況及總結情況進行量化打分,以此激勵學生不斷進行學習實踐探索,以提高自主學習能力、創新能力和實踐能力。
2.2.4 加強工程實踐能力
通過模擬實際項目給學生進行系統的分析、建模、最后進行編碼實現。讓學生親身體驗到知識的融會貫通如何解決實際問題。通過多個經典案例的學習,逐個剖析各個軟件項目的精髓,培養學生的項目結構分析能力,通過自身對項目的理解,對項目進行進化式的開發,整個流程采用案例教學、項目開發、項目改進。邊講邊練,真正地去動手感受真實的軟件開發。
2.2.3 制訂考核方案
根據CDIO倡導的教學理念,課程考核可以采用多種方式,考核方式以“章節考試+章節項目實踐+期末綜合實踐”。章節考試主要以無紙化考試為主,內容分為填空題、單選題以及編程題,并且章節考試與計算機等級考試(Java語言)掛鉤,按照通過計算機等級考試(Java)語言的成績等次來設置章節考試成績。總之,推行多樣性、過程化考核,同時兼顧職業資格考試最終達到提升學生的工程實踐能力。
通過引入CDIO教學理念對傳統的Java語言課程進行改革,可以在一定程度上解決Java語言教學中存在的問題,以此提高學生的動手能力、工程實踐能力和創新能力,達到學以致用的目的,為課程教學提供了一條可參考的思路。教學改革在實施過程中還存在許多不足,還需要繼續探索和改進。