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