秦麗娜
摘 ? 要:基于藍橋杯軟件設計大賽,針對當前“Java程序設計”教學現狀,“以賽促教、以賽促學、以賽促改、以賽促建”形成教學做賽一體化的教學模式,不僅激發了學生學習軟件設計的興趣,也很好地培養了學生編程的思維能力和動手實踐能力。
關鍵詞:Java程序設計;教學模式;競賽驅動
近年來,隨著“一帶一路”、“互聯網+”行動計劃等國家戰略全面實施,軟件行業得以蓬勃發展,企業越來越需要具有高技能的IT人才,培養出這方面的人才以符合社會的需求是現代職業教育改革的重要方向。近幾年來,國家一直倡導和政策鼓勵開展職業技能競賽,儼然已成為職業教育發展和改革的推進器。以職業技能競賽引導實踐能力教學,將賽項內容融入課程中去,增強學生實踐動手能力的同時也培養了學生的科技創新能力,“以賽促教”逐步培養高技能創新創業型IT人才,推進教學改革、課程改革、專業建設。
本課題將討論以藍橋杯軟件設計大賽的實踐方式改變傳統的思維方式,激發高職學生的創新能力,激勵學生主動接觸參與綜合實驗項目和科技創新項目及相關比賽,以自主探究、小組合作等教學方法促使學生利用業余時間查詢整理資料并走進實驗室,把課堂教學延伸到課外自主學習,達到增強技能訓練的目的,進一步激發學生對軟件類課程的學習興趣。
“藍橋杯”全國軟件專業人才設計與創業大賽由工業和信息化部人才交流中心、教育部高等學校計算機科學與技術教學指導委員會決定聯合舉辦,為行業培養和選拔一批優秀的軟件人才。該競賽分為Java軟件開發、C/C++語言程序設計、創業大賽3個項目,并分別設置本科組和高職高專組。基本形成了國賽、省賽、校賽的三級競賽機制,“以賽促教、以賽促學、以賽促改、以賽促建”。該競賽已與相關產業發展和需求緊密結合,運城職業技術學院部分教師以競賽項目作為教學實施的載體,將職業技能大賽中學生應當掌握的理論知識,實踐技能,創新思維和職業素養在課堂上進行分解、落實和傳授,從往屆技能大賽的成績來看取得了較好的成就,有效地實現了高職院校專業教學和職業技能大賽的融合,實現了專業教學和職業崗位、專業技術標準以及職業資格認證的銜接,有利于運城職業技術學院人才培養目標的順利實現。
“Java程序設計”是面向對象的編程語言,具有簡單性、安全性、分布式、健壯性、平臺獨立與可移植性、多線程、動態性、面向對象等特點。Java可以編寫APP、桌面程序、Web動態網頁、分布式系統和嵌入式系統應用程序等,遍布生活的各個領域,幾乎所有的高校都開設了這門語言,運城職業技術學院電子信息工程系把這門課程作為全系的專業基礎課,著重培養學生的面向對象的網絡編程能力、嚴謹的邏輯思維能力和解決生活實際問題的能力。但在實際教學過程中也反映出一些問題,課堂積極性不高、學習課程的主動性差、實踐編程能力薄弱等。為了改變現狀,提高教學水平和教學效果,運城職業技術學院課程組教師結合藍橋杯軟件設計大賽,將“教、學、做、賽一體化”教學模式引入到課程實際教學過程中,同時以項目驅動組織課堂,優化知識點分布和教學手段、方法,保證教學質量,提高教學效果。最終總結了一套針對本門課程的基于工作過程的模塊化教學模式,具體如下。
1 ? ?選取專業的師資組成教學團隊,為課程提供可靠的保障
擔任本課程的主講教師需要具有Java軟件開發經驗,了解一般Java桌面應用系統的組成和實現方法,深刻理解面向對象編程思想,具備一定的數據編程能力,同時要求對后續課程比較熟悉,把握Java系列課程的培養目標及要求。在教學組織能力方面,本課程的主講教師應具備基本的設計能力,即根據本課程的整體設計制定詳細的授課計劃,對每一堂課的教學過程精心設計,做到詳細、具體安排。教師還應具備較強的施教能力,在教學過程中具備一定的課堂控制能力和應變能力。對教師的技術要求主要包括:
(1)具有Java編程語言的基本理論知識。(2)具有SQLServer數據庫管理和應用能力。(3)具備一定糾錯和調試程序能力。(4)能使用Java語言進行軟件系統的開發。(5)熟練使用Eclipse或Myeclipse進行Java桌面程序開發。
2 ? ?制定精準教學目標,針對高職生學情有效進行因材施教
通過采用“項目分解、任務驅動”的創建教學模式和項目綜合實訓,使學生基本勝任Java開發程序員的工作崗位。課程教學目標具體體現為專業技能、專業素質和專業知識3方面的目標。
2.1 ?專業技能目標
(1)能運用面向對象程序設計的思想分析和設計類。(2)會定義接口,并能有效組織類和接口。(3)會使用Eclipse開發工具開發Java應用程序。(4)能綜合應用所學知識解決實際問題。
2.2 ?專業素質目標
(1)具有良好的IT職業道德、職業素養和職業規范。(2)具有熱愛科學、實事求是、嚴肅認真、一絲不茍、按時守信的工作作風。(3)具有較強的自我更新知識和技能的能力。(4)具有基本的閱讀文檔、編寫程序文檔的能力。(5)具有良好的團隊協作和創新能力。
2.3 ?專業知識目標
(1)會安裝并配置典型的Java開發環境。(2)會應用Java語言編寫簡單的程序。(3)會應用Java常用組件創建圖形用戶界面。(4)會應用Java中的事件處理方法處理組件事件;會應用Java異常處理機制處理、拋出和捕獲異常,編寫高質量的程序。(5)會使用數據庫連接(Java DataBase Connectivity,JDBC)技術訪問數據庫和處理數據庫中的數據。(6)會使用Java文件處理技術完成文件的處理,并使用Java中的集合容器類解決實際問題。
3 ? ?精選教材,注重學生程序設計能力技能的培養
選取教材時遵循“知識夠用,技能為主”的原則,本課程選用Java教學團隊開發編寫的“教、學、做”一體化教材《Java程序設計項目教程》。《Java程序設計項目教程》教材是國家“十二五”規劃教材、高等職業技術教育計算機類課程新形態一體化規劃教材。該教材以J2SE為基礎,圍繞Windows程序員能力要求以及本課程培養目標組織教材內容。教材以項目驅動,強調理論與實踐的結合,便于實現“教、學、做”一體化為特色,以夠用為原則,重點涵蓋利用Java進行桌面程序開發所需的知識和技能。
4 ? ?項目驅動式開展課堂教學、提高課堂效率
“Java程序設計”課程的教學內容以程序員崗位的實際工作任務為依據,采用基于“面向崗位,立足學生,培養能力”的教育思想,基于工作過程,引進企業的工作情景,打破原有課程章節體系,圍繞課程教學目標,精心設計“房屋租賃管理系統”和貫穿于整個系統的“9個模塊”以及“32個任務”。采用工學交替、任務驅動、項目導向、理論實踐一體化的教學模式,重點培養學生的職業能力和職業素養,使理論教學和實踐教學內容融為一體,讓學生在模擬或真實的軟件開發環境中,使枯燥乏味的編程學習過程變得生動、形象、妙趣橫生。
模塊一:搭建Java開發環境
子任務1:安裝JDK;子任務2:使用開發工具開發Java。
模塊二:Java語言基礎
子任務1:界面設計;子任務2:用戶類型選擇;子任務3:租金計算;子任務4:多用戶租金計算。
模塊三:面向對象程序設計
子任務1:財務信息類設計;子任務2:使用static設計財務信息類;子任務3:使用構造方法設計財務信息類。
模塊四:繼承與多態
子任務1:求租客戶信息類設計;子任務2:使用構造方法繼承設計求租客戶信息類;子任務3:添加求租客戶信息設計;子任務4:使用常用工具類設計添加求租客戶信息。
模塊五:集合容器
子任務1:添加房源信息設計;子任務2:修改房源信息設計;子任務3:刪除房源信息設計;子任務4:查詢房源信息設計。
模塊六:圖形用戶界面設計
子任務1:用戶登錄界面設計;子任務2:求租人信息設置;子任務3:出租人信息設置;子任務4:系統主界面設計。
模塊七:JDBC
子任務1:求租人信息查詢;子任務2:出租人信息查詢;子任務3:租賃業務處理。
模塊八:輸入輸出流與多線程
子任務1:使用字節流設計記事本;子任務2:使用字符流設計記事本;子任務3:使用數據流設計記事本;子任務4:時鐘顯示器。
模塊九:房屋租賃管理系統設計與實現
子任務1:系統需求分析;子任務2:系統設計與實現;子任務3:系統測試;子任務4:系統打包。
課堂上主要由基于工作過程的項目教學法為主線而貫穿整個教學過程的,將學生按照班級分組(4~5人),充分調動學生的主動學習能力,好資料搜集能力在老師適度的提示和幫助下,鼓勵學生自行查閱應用程序編程接口(Application Programming Interface,API)得到相關的幫助文檔,積極參與項目的設計與開發,勇于挑戰技術難題,激發學生對軟件開發的熱情。給學生大量的項目匯報和項目總結機會,鍛煉學生的語言表達能力,加強學生團隊協作能力和高度負責精神,將學生的整個學習過程融入模擬的真實項目開發過程中,項目的最終完成成績由老師和組內同學共同評定。
以下以面向對象基本概念學習這一任務為例說明課堂教學設計架構,整個教學過程分為:課前準備、課堂實施、課后提升3個部分。
課前:診斷分析,知識預演。
掃一掃 :學生自主探究法通過掃描課本上的二維碼,查看本任務的微課視頻,完成教師在線發布的預習報告,并在線提交。
查一查:教師通過“課堂派”學習平臺自動統計分析功能,檢查學生預習效果。
課中:創建情境、任務提出、問題解決、任務實施、展示總結。
打個卡:學生通過掃描教師發布的二維碼進行課堂考勤。
玩一玩:電子教室軟件+PPT展現一段“王者榮耀”游戲視頻,吸引學生注意。
說一說:學生分組討論游戲里的英雄特征和技能。
動一動:學生把討論結果發布到“課堂派”學習平臺“課堂互動”環節。
問一問:教師在線隨機提問如何去新疆,如何吃到飯問題。
講一講:通過“王者榮耀”情境模擬對教學重難點進行分析,突破知識目標。
搶一搶:學生通過在線搶答,回答教師提出的問題,初步檢驗課堂學習效果。
練一練:學生自行定義“王者榮耀”角色扮演游戲中英雄對象,去完成小組內英雄互毆,突破技能目標。
秀一秀:賞識激勵,由完成度最優和最快的小組在全班展示自己的成果,進一步突破素質目標。
想一想:教師布置作業—給予一定的提示自行完成房屋租賃系統財務信息類的設計,教師共享源代碼pdf格式文件。
課后:完成作業、知識拓展。
做一做:學生根據課堂學習到的知識點、國家精品課資源庫的學習資料自行設計財務信息類,提交至課堂派。作業環節下次課進行點評。
拔一拔:接觸教師精選的不同領域的實際項目案例資源,進行實戰演練,教師給予課后指導。
Java課程的考核改變期末一紙試卷考核方式,采用過程考核和期末考核相結合的方法。其中,過程考核所占比例為40%,主要由考勤、課堂表現(教學軟件上記錄的課堂互動情況)、測試、作業4部分,考查學生運用Java開發桌面應用程序的能力。期末考核采用上機的方式檢驗學生對教學中各知識點綜合應用的掌握情況。靈活多樣的考核方式可以全面考核學生的學習效果。
5 ? ?結語
“Java程序設計”作為電子信息類專業的一門重要專業基礎課程,對于學生后續學習Android開發和Java Web開發等課程有著很大的影響,對更加先進的教學方式和教學方法的探討我們還會一直繼續。努力做到與時俱進,不斷學習和改進教學方法和模式,提高課堂的整體教學效果。