袁亞麗,朱 萍
(1.河北北方學(xué)院 信息科學(xué)與工程學(xué)院,河北 張家口 075000;2.河北北方學(xué)院 科研處,河北 張家口 075000)
Java語言是一種面向?qū)ο蟮母呒?jí)程序設(shè)計(jì)語言,自1995年問世以來受到廣大編程人員的歡迎[1]。為了適應(yīng)社會(huì)人才需求,國(guó)內(nèi)很多高校的計(jì)算機(jī)及相關(guān)專業(yè)都開設(shè)了Java程序設(shè)計(jì)課程。傳統(tǒng)的“JAVA語言程序設(shè)計(jì)”課程大多采用課堂講授加上機(jī)實(shí)驗(yàn)的教學(xué)方式,教師在課堂忙于講課,很少與學(xué)生交流。并且學(xué)生上課人數(shù)多,教師在授課過程中很難兼顧所有學(xué)生。因此,改變以教師為中心的傳統(tǒng)教學(xué)模式,探索現(xiàn)代的教學(xué)方法勢(shì)在必行。此外,移動(dòng)互聯(lián)網(wǎng)技術(shù)的快速發(fā)展使智能手機(jī)和平板電腦在大學(xué)校園中快速普及。目前,中國(guó)高校學(xué)生的智能手機(jī)普及率已達(dá)到100%。以智能手機(jī)為代表的數(shù)字終端在為學(xué)生提供生活便利和多樣化娛樂手段的同時(shí),也使一些學(xué)生養(yǎng)成了上課不認(rèn)真聽課、低頭玩手機(jī)和平板電腦的習(xí)慣??梢?,對(duì)傳統(tǒng)教學(xué)模式進(jìn)行改革,將互聯(lián)網(wǎng)與教育教學(xué)相結(jié)合已勢(shì)在必得。
Java語言具有跨平臺(tái)性、安全性、可移植性和內(nèi)置多線程等特點(diǎn),與其他編程語言相比具有更多的優(yōu)勢(shì)。當(dāng)前,Java語言已成為網(wǎng)絡(luò)時(shí)代最重要的編程語言之一。它不僅是一門正在被廣泛使用的編程語言,還是軟件開發(fā)人員應(yīng)當(dāng)掌握的一門基礎(chǔ)語言,很多新的技術(shù)領(lǐng)域都涉及Java技術(shù),國(guó)內(nèi)外許多大學(xué)已將Java語言列入了本科教學(xué)計(jì)劃,熟練掌握J(rèn)ava已經(jīng)成為高等教育的共識(shí)。Java程序設(shè)計(jì)是信息管理專業(yè)、軟件工程專業(yè)和計(jì)算機(jī)科學(xué)與技術(shù)等相關(guān)專業(yè)的一門重要的程序設(shè)計(jì)語言類必修課程,無論在游戲軟件開發(fā)、網(wǎng)絡(luò)教育系統(tǒng)還是企業(yè)和行業(yè)的軟件設(shè)計(jì)中都應(yīng)用得非常廣泛[2]。
河北北方學(xué)院信息科學(xué)與工程學(xué)院從2008年開始首先在計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)中開設(shè)Java程序設(shè)計(jì)課程,后陸續(xù)在信息工程、電子信息工程、醫(yī)學(xué)信息工程以及信息管理與信息系統(tǒng)等各專業(yè)開設(shè)了該課程。通過多年的教學(xué)實(shí)踐,發(fā)現(xiàn)傳統(tǒng)Java語言程序設(shè)計(jì)教學(xué)主要存在以下教學(xué)難點(diǎn)。
Java語言是一門完全面向?qū)ο蟮母呒?jí)程序設(shè)計(jì)語言,其中類的機(jī)制、對(duì)象中的封裝、類的繼承和多態(tài)等概念相對(duì)抽象,不容易理解。同時(shí),理論課涉及大量程序代碼,需要實(shí)驗(yàn)運(yùn)行驗(yàn)證,學(xué)生只有在實(shí)踐中應(yīng)用,舉一反三才能理解抽象的理論內(nèi)容。由此可見,Java語言程序設(shè)計(jì)課程是一門實(shí)踐性很強(qiáng)的課程。
以筆者所教的醫(yī)學(xué)信息專業(yè)為例,Java語言程序設(shè)計(jì)課程總學(xué)時(shí)為48學(xué)時(shí),其中理論課和實(shí)驗(yàn)課程各24學(xué)時(shí)。在24學(xué)時(shí)的理論課時(shí)內(nèi)要講授10章內(nèi)容,涵蓋面向?qū)ο蟮幕A(chǔ)知識(shí)、UML建模語言、圖形用戶界面編程方法、網(wǎng)絡(luò)和數(shù)據(jù)庫程序的編程方法、多線程的使用以及Java集合框架等實(shí)用開發(fā)技術(shù)(表1)。另外,隨著Java技術(shù)的不斷發(fā)展,語言內(nèi)容越來越豐富,Java版本不斷迭代升級(jí),教師還要把Java的最新趨勢(shì)、工具、技術(shù)和功能介紹給學(xué)生。因此,24學(xué)時(shí)的理論課時(shí)不能完成所有的內(nèi)容。
表1 Java語言程序設(shè)計(jì)課程授課內(nèi)容
傳統(tǒng)教學(xué)中,教師采用PPT的教學(xué)方式授課,教師起主導(dǎo)作用,學(xué)生被動(dòng)聽課,課堂參與度低。再加之學(xué)習(xí)內(nèi)容較抽象,學(xué)生易產(chǎn)生懈怠厭倦的情緒,導(dǎo)致上課不注意聽講,學(xué)習(xí)主動(dòng)性不強(qiáng)。
按照傳統(tǒng)教學(xué)大綱要求,Java程序設(shè)計(jì)先上理論課,后上實(shí)驗(yàn)課。理論教學(xué)和實(shí)驗(yàn)教學(xué)之間有一定的時(shí)間間隔[4],教師理論課上所講的知識(shí)學(xué)生無法及時(shí)上機(jī)調(diào)試,而在上實(shí)驗(yàn)課時(shí)又缺少理論指導(dǎo)。此外,實(shí)驗(yàn)課上,學(xué)生在調(diào)試程序會(huì)遇到語法錯(cuò)誤或邏輯錯(cuò)誤等程序錯(cuò)誤,排除錯(cuò)誤需要有經(jīng)驗(yàn)的老師進(jìn)行指導(dǎo),但由于學(xué)生人數(shù)眾多,教師不能逐個(gè)指導(dǎo),造成了理論和實(shí)踐脫節(jié),導(dǎo)致部分學(xué)生逐漸失去了學(xué)習(xí)的信心,不能很好地完成各項(xiàng)教學(xué)任務(wù)。
目前,Java語言程序設(shè)計(jì)課程的評(píng)價(jià)方式主要由3個(gè)部分組成,即平時(shí)成績(jī)、期中成績(jī)和期末成績(jī)。平時(shí)成績(jī)由每節(jié)課的考勤和平時(shí)的實(shí)驗(yàn)報(bào)告兩部分組成,但由于學(xué)生眾多,教師每次只能批閱一部分實(shí)驗(yàn)報(bào)告,因此不能全面地反映學(xué)情。期中測(cè)試和期末測(cè)試是對(duì)一個(gè)學(xué)段的終結(jié)性評(píng)價(jià),這種評(píng)價(jià)方式不能及時(shí)對(duì)學(xué)生的平時(shí)學(xué)習(xí)情況進(jìn)行考察,無法全面反映學(xué)生掌握知識(shí)的情況。
針對(duì)Java語言程序設(shè)計(jì)課程實(shí)踐性強(qiáng)的特點(diǎn),以及在教與學(xué)過程中出現(xiàn)的問題。課題組依托“藍(lán)墨云班”移動(dòng)教學(xué)平臺(tái)進(jìn)行了教改實(shí)踐。
課題組組織多年有經(jīng)驗(yàn)的教師對(duì)教學(xué)內(nèi)容進(jìn)行詳細(xì)設(shè)計(jì),細(xì)化教學(xué)計(jì)劃,對(duì)不同章節(jié)和不同內(nèi)容進(jìn)行分析,結(jié)合學(xué)習(xí)目標(biāo)設(shè)計(jì)教學(xué)內(nèi)容,明確哪些內(nèi)容線上學(xué)習(xí),哪些內(nèi)容線下學(xué)習(xí),哪些內(nèi)容課前預(yù)習(xí),哪些內(nèi)容課上師生討論,哪些內(nèi)容上機(jī)練習(xí)。增加實(shí)訓(xùn)環(huán)節(jié),以項(xiàng)目為驅(qū)動(dòng),在每章節(jié)后都設(shè)計(jì)一個(gè)實(shí)踐項(xiàng)目,包括Java運(yùn)行環(huán)境的搭建、數(shù)據(jù)庫操作、輸入輸出流、多線程和網(wǎng)絡(luò)操作等內(nèi)容,涵蓋Java程序設(shè)計(jì)課程的全過程。每周有針對(duì)性地讓學(xué)生完成一個(gè)項(xiàng)目,以學(xué)生實(shí)踐為主,教師起引導(dǎo)作用,從而形成一套完整的教學(xué)和實(shí)踐相結(jié)合的教學(xué)模式。
根據(jù)細(xì)化后的教學(xué)計(jì)劃,教師為學(xué)生準(zhǔn)備在線學(xué)習(xí)資源,包括PPT課件、課程視頻、音頻、圖片和軟件安裝包等[3]。這些教學(xué)資源按來源可分為兩類:一是教師自己制作的教學(xué)資源;二是在現(xiàn)有資源基礎(chǔ)上改造和加工的資源。準(zhǔn)備好教學(xué)資源后,教師可針對(duì)每章節(jié)設(shè)計(jì)測(cè)試內(nèi)容,了解學(xué)生對(duì)知識(shí)的掌握情況。
針對(duì)理論課時(shí)少、內(nèi)容抽象、語法復(fù)雜和知識(shí)點(diǎn)眾多等困難,課題組老師改革傳統(tǒng)的課堂教學(xué)方式,增加了課前預(yù)習(xí)和課后拓展學(xué)習(xí)內(nèi)容。1.課前預(yù)習(xí)。教師課前布置學(xué)習(xí)任務(wù),讓學(xué)生自學(xué)云班課里的相關(guān)章節(jié),為上課學(xué)習(xí)打下一定的基礎(chǔ)。課上教師對(duì)重難點(diǎn)進(jìn)行串講,并拓展相關(guān)知識(shí)點(diǎn),從而節(jié)省了講授時(shí)間。學(xué)生對(duì)在課前預(yù)習(xí)過程中發(fā)現(xiàn)的問題會(huì)集中注意力聽講,這也提高了學(xué)生的聽課效果,激發(fā)了學(xué)習(xí)的積極性。2.課后拓展學(xué)習(xí)。課程資源中有其他院校的優(yōu)質(zhì)資源和網(wǎng)頁鏈接,如“中國(guó)大學(xué)MOOC”和“學(xué)堂在線”等,通過這些平臺(tái)學(xué)生們能夠接觸到清華大學(xué)、浙江大學(xué)和哈爾濱工業(yè)大學(xué)等高校的視頻課程,其中就有免費(fèi)的Java程序設(shè)計(jì)課程,包含豐富的視頻、課后作業(yè)、章節(jié)測(cè)驗(yàn)和期末試題,可給學(xué)生帶來全新的學(xué)習(xí)體驗(yàn)。
借助移動(dòng)教學(xué)平臺(tái),教師把每次實(shí)驗(yàn)課的目的和要求發(fā)布在教學(xué)平臺(tái)中,并且把實(shí)驗(yàn)操作步驟錄成視頻上傳到教學(xué)平臺(tái),學(xué)生按照實(shí)驗(yàn)課目的和要求完成實(shí)驗(yàn)內(nèi)容,并拍照上傳源程序和運(yùn)行結(jié)果。同時(shí),教師給出評(píng)分細(xì)則,要求學(xué)生通過互評(píng)來互相學(xué)習(xí)和互相促進(jìn),這種方式改善了實(shí)驗(yàn)報(bào)告教師不能全批全改的現(xiàn)狀和實(shí)驗(yàn)教學(xué)與理論教學(xué)脫節(jié)的情況,大大提高了實(shí)驗(yàn)課的教學(xué)效果。
Java程序設(shè)計(jì)課程涵蓋理論基礎(chǔ)知識(shí)和軟件開發(fā)技能,過程性評(píng)價(jià)方式針對(duì)理論模塊和實(shí)踐模塊設(shè)計(jì)形式多樣的多維度評(píng)價(jià)指標(biāo)[5],包括考勤、課堂互動(dòng)、隨堂測(cè)驗(yàn)、任務(wù)點(diǎn)完成率、實(shí)驗(yàn)報(bào)告互評(píng)和綜合性實(shí)驗(yàn)等,這些活動(dòng)都可在移動(dòng)教學(xué)平臺(tái)中進(jìn)行。教師在移動(dòng)教學(xué)平臺(tái)云班課中設(shè)置這些評(píng)價(jià)指標(biāo)的權(quán)重,根據(jù)學(xué)生的完成情況全面考查學(xué)生對(duì)基礎(chǔ)知識(shí)的掌握情況。用綜合性實(shí)驗(yàn)成績(jī)替代傳統(tǒng)的期末考試成績(jī),要求學(xué)生按照軟件開發(fā)步驟階梯性地完成一個(gè)課程設(shè)計(jì),每個(gè)步驟均有相應(yīng)的成績(jī),以此全面考查學(xué)生分析問題和解決問題的能力。
實(shí)踐證明,基于移動(dòng)教學(xué)平臺(tái)的教學(xué)改革解決了傳統(tǒng)Java程序設(shè)計(jì)課程理論教學(xué)抽象、學(xué)生學(xué)習(xí)的積極性和主動(dòng)性不強(qiáng)以及實(shí)驗(yàn)教學(xué)與理論教學(xué)脫節(jié)等問題,實(shí)現(xiàn)了以學(xué)生為主體的目標(biāo),提高了學(xué)生的學(xué)習(xí)興趣。教學(xué)改革后,學(xué)生的動(dòng)手能力和編程能力得到加強(qiáng),教學(xué)取得了很好的效果。