




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
以在線理論和工程實(shí)訓(xùn)為導(dǎo)向的Java程序設(shè)計(jì)課程教學(xué)改革〔〕:
摘要:針對(duì)Java程序設(shè)計(jì)課程提出以在線理論和工程實(shí)訓(xùn)為導(dǎo)向的教學(xué)改革思路。課程內(nèi)容分為根底知識(shí)和專題知識(shí)兩局部。在根底知識(shí)中引入在線理論和程序設(shè)計(jì)競賽,進(jìn)步學(xué)生的學(xué)習(xí)積極性和理論才能。專題知識(shí)與后續(xù)三門專業(yè)課銜接,以工程實(shí)訓(xùn)的方式引出專業(yè)課的根底知識(shí)。
關(guān)鍵字:Java程序設(shè)計(jì);在線理論;程序設(shè)計(jì)競賽;工程實(shí)訓(xùn)
本文引用格式:王桂平,等.以在線理論和工程實(shí)訓(xùn)為導(dǎo)向的Java程序設(shè)計(jì)課程教學(xué)改革[J].教育現(xiàn)代化,2022,6(27):35-37.
Java程序設(shè)計(jì)是高校面向計(jì)算機(jī)、軟件工程、物聯(lián)網(wǎng)等專業(yè)開設(shè)的一門程序設(shè)計(jì)類課程。課程的教學(xué)目的是通過對(duì)Java語言的學(xué)習(xí)與認(rèn)識(shí),使學(xué)生掌握J(rèn)ava編程技術(shù),理解并掌握面向?qū)ο缶幊獭⒍嗑€程編程、網(wǎng)絡(luò)編程、Android開發(fā)等技術(shù)。本文針對(duì)Java程序設(shè)計(jì)課程提出以在線理論和工程實(shí)訓(xùn)為導(dǎo)向的教學(xué)改革思路。
一課程體系及Java程序設(shè)計(jì)課程所處位置
程序設(shè)計(jì)和軟件開發(fā)是計(jì)算機(jī)類專業(yè)學(xué)生都應(yīng)掌握的根本理論才能,因此這些專業(yè)開設(shè)了高級(jí)語言程序設(shè)計(jì)〔或程序設(shè)計(jì)根底〕、面向?qū)ο蟪绦蛟O(shè)計(jì)、C#程序設(shè)計(jì)、Java程序設(shè)計(jì)、Python程序設(shè)計(jì)等課程。以重慶交通大學(xué)為例,這些課程構(gòu)成如圖1所示的課程體系。
一般而言,各高校在開設(shè)Java程序設(shè)計(jì)課程之前,學(xué)生先期已經(jīng)學(xué)了C++〔或C#、Python〕等編程語言,如圖1所示。因此,在設(shè)計(jì)課程教學(xué)內(nèi)容時(shí)因注意知識(shí)的進(jìn)階性,防止一樣或相似的教學(xué)內(nèi)容在課程體系中反復(fù)出現(xiàn)。
此外,后續(xù)專業(yè)課,如操作系統(tǒng)原理、計(jì)算機(jī)網(wǎng)絡(luò)原理等,在教學(xué)演示、課程實(shí)驗(yàn)等環(huán)節(jié)也需要用到編程語言和技術(shù),因此程序設(shè)計(jì)類課程在教學(xué)過程也應(yīng)注意和后續(xù)專業(yè)課銜接的問題。
二教學(xué)現(xiàn)狀
Java語言誕生于20世紀(jì)90年代初。2022年3月,Oracle公司發(fā)布了Java1.8正式版,也稱Java8;2022年9月,Java1.9正式發(fā)布。Java具有簡單性、面向?qū)ο?、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)。21世紀(jì)初,國內(nèi)高校開始針對(duì)計(jì)算機(jī)等專業(yè)開設(shè)Java程序設(shè)計(jì)課程。
Java程序設(shè)計(jì)早期的教學(xué)主要以Java語法為主線。由于Java體系非常龐大,且新的語法不斷參加。以語法為主線的教學(xué)思路不僅教學(xué)過程枯燥,難以激發(fā)學(xué)生的學(xué)習(xí)積極性,而且純粹講語法不講應(yīng)用,學(xué)生難以真正掌握J(rèn)ava語言及技術(shù)。因此,近年來,案例驅(qū)動(dòng)、任務(wù)驅(qū)動(dòng)、工程驅(qū)動(dòng)等教學(xué)方法陸續(xù)提出【1】【2】【3】。這些教學(xué)方法不單純講Java語法,而是以解決問題、完成任務(wù)、甚至施行一個(gè)完好的工程為出發(fā)點(diǎn),把Java語言及相關(guān)技術(shù)串接起來講解。
而由麻省理工學(xué)院等四所大學(xué)提出并倡導(dǎo)的CDIO工程教育形式包含4個(gè)方面[4,5]:構(gòu)思(Conceive)、設(shè)計(jì)(Design)、實(shí)現(xiàn)(Implement)和運(yùn)作(Operate),以軟件產(chǎn)品研發(fā)到運(yùn)行的生命周期為載體,將相關(guān)課程的教學(xué)內(nèi)容有機(jī)聯(lián)絡(luò)起來。CDIO可視為任務(wù)驅(qū)動(dòng)和工程驅(qū)動(dòng)教學(xué)形式的升華。為了更好地將CDIO工程教育理念落地施行,文獻(xiàn)【4】針對(duì)Java程序設(shè)計(jì)課程設(shè)計(jì)了明晰的學(xué)習(xí)需求、教學(xué)目的及配套的工程理論內(nèi)容,設(shè)計(jì)了更加合理的教學(xué)案例工程、施行過程考核方式,等等。
此外,隨著慕課(MOOC)、翻轉(zhuǎn)課題等教學(xué)理念引入國內(nèi),各高校也在Java程序設(shè)計(jì)課程中采用這些教學(xué)理念[6,7]。文獻(xiàn)【6】針對(duì)Java程序設(shè)計(jì)課程提出工程驅(qū)動(dòng)和翻轉(zhuǎn)課堂相交融的教學(xué)方法,總結(jié)了一些詳細(xì)的教學(xué)案例,該教學(xué)方法獲得了較好的效果。
三教學(xué)改革及教學(xué)方法
筆者承當(dāng)?shù)腏ava程序設(shè)計(jì)課程,理論教學(xué)為32課時(shí),實(shí)驗(yàn)教學(xué)為16課時(shí)。本文提出的以在線理論和工程實(shí)訓(xùn)為導(dǎo)向的教學(xué)改革思路,將理論教學(xué)內(nèi)容分為兩局部:根底知識(shí)和專題知識(shí)。課時(shí)安排如表1所示。根底知識(shí)局部包括Java根本語法、面向?qū)ο笏枷爰捌湓贘ava語言中的實(shí)現(xiàn),占16課時(shí)。專題知識(shí)局部包含三個(gè)專題〔也占16課時(shí)〕:Java多線程技術(shù)、Java網(wǎng)絡(luò)編程根底、Android開發(fā),分別與下學(xué)期三門專業(yè)課銜接:操作系統(tǒng)原理、計(jì)算機(jī)網(wǎng)絡(luò)原理、挪動(dòng)互聯(lián)APP。
〔一〕根底知識(shí)
如圖1所示,學(xué)生前期已經(jīng)學(xué)了C++、C#編程語言,局部學(xué)生還選修了Python語言,這3門語言都是面向?qū)ο缶幊陶Z言。此外,學(xué)生還學(xué)了面向?qū)ο蟪绦蛟O(shè)計(jì)這門課。因此,在設(shè)計(jì)Java程序設(shè)計(jì)根底知識(shí)教學(xué)內(nèi)容時(shí),一個(gè)應(yīng)遵循的原那么是:用盡力少的課時(shí)講解Java根本語法和面向?qū)ο笏枷?。詳?xì)執(zhí)行情況如下。
1.對(duì)Java根本語法中的數(shù)據(jù)類型、運(yùn)算符、流程控制均一帶而過,重點(diǎn)講解Java語言中特有的或與其他編程語言有區(qū)別的語法,如文檔注釋、數(shù)組等。
2.著重講解面向?qū)ο笏枷朐贘ava語言里的實(shí)現(xiàn),包括:定義類和使用對(duì)象、構(gòu)造方法、封裝與隱藏、繼承和多態(tài)、抽象和接口、使用Java類庫,等等。這局部內(nèi)容占了10課時(shí),各局部內(nèi)容課時(shí)安排如表1所示。
3.授課時(shí)注重將Java語言和學(xué)生前期學(xué)過的C++、C#、Python比照分析,如C++語言中的指針與C#語言中的引用,C#語言和Java語言中的垃圾內(nèi)存回收機(jī)制,C++語言中的純虛函數(shù)和Java語言中的抽象方法,等等。
此外,為了進(jìn)步學(xué)生的學(xué)習(xí)積極性、激發(fā)學(xué)生的編程興趣,在根底知識(shí)局部還引入在線理論和程序設(shè)計(jì)競賽,這二者的根底是在線評(píng)判,如圖2所示。
在線評(píng)判是指對(duì)用戶提交的程序,根據(jù)所采用的編程語言〔C、C++、C#、Java、Python等〕調(diào)用相應(yīng)的編譯器,編譯用戶的程序,編譯無誤后運(yùn)行,讀入測(cè)試輸入數(shù)據(jù),生成用戶程序的輸出數(shù)據(jù),再將其與正確的輸出數(shù)據(jù)進(jìn)展比對(duì),從而評(píng)定用戶程序的正確性并統(tǒng)計(jì)程序的運(yùn)行時(shí)間,最后把評(píng)判結(jié)果實(shí)時(shí)反響給用戶。
傳統(tǒng)的編程理論往往是由老師布置題目,學(xué)生課后完成并提交給老師手工修改。在線理論不同于傳統(tǒng)的編程理論,它是指由在線評(píng)判〔OJ,OnlineJudge〕網(wǎng)站或軟件提供題目,學(xué)生在線提交程序,在線評(píng)判系統(tǒng)實(shí)時(shí)評(píng)判并反響結(jié)果。這些題目往往具有較強(qiáng)的興趣性和挑戰(zhàn)性,而且評(píng)判過程和結(jié)果公正及時(shí),能引起學(xué)生的極大興趣[8]。
目前國內(nèi)高校開展的程序設(shè)計(jì)競賽主要有省市級(jí)大學(xué)生程序設(shè)計(jì)大賽、中國大學(xué)生程序設(shè)計(jì)大賽、國際大學(xué)生程序設(shè)計(jì)大賽、藍(lán)橋杯全國軟件和信息技術(shù)專業(yè)人才大賽〔包括省賽和全國總決賽〕、中國高校計(jì)算機(jī)大賽團(tuán)體程序設(shè)計(jì)天梯賽等。這類學(xué)科競賽具有參賽門檻比擬低〔只要學(xué)了一門編程語言就可以參賽〕、興趣性高、層次多、參賽時(shí)機(jī)多等特點(diǎn),同時(shí)也具有較高的挑戰(zhàn)性,所以吸引了大量學(xué)生參賽。
筆者承當(dāng)?shù)腏ava程序設(shè)計(jì)課程,課堂案例、課后練習(xí)、實(shí)驗(yàn)任務(wù)、上機(jī)考試等教學(xué)內(nèi)容局部或全部采用在線理論。同時(shí)也鼓勵(lì)學(xué)生積極參加各類程序設(shè)計(jì)大賽,獲獎(jiǎng)甚至僅僅是參與都能得到相應(yīng)的加分,以此鼓勵(lì)學(xué)生通過這些新穎的程序理論進(jìn)步編程和軟件開發(fā)才能。
〔二〕專題知識(shí)
由于Java語言是計(jì)算機(jī)專業(yè)系統(tǒng)學(xué)習(xí)的最后一門編程語言〔如圖1所示〕,因此這門課程還起到與后續(xù)專業(yè)課銜接的作用。三個(gè)專題的教學(xué)方法是,在簡述必要的根底知識(shí)后,通過工程實(shí)訓(xùn)的方式把相關(guān)的方法和技術(shù)串接起來。三個(gè)專題只是后續(xù)三門專業(yè)課的前期導(dǎo)引,因此涉及到的根底知識(shí)只是常識(shí)性的、普適性的知識(shí)。以下簡述三個(gè)專題的教學(xué)過程。1.Java多線程技術(shù)專題:簡述進(jìn)程和線程的根本概念、Java實(shí)現(xiàn)多線程的兩種方式〔繼承thread類創(chuàng)立線程類、實(shí)現(xiàn)runnable接口創(chuàng)立線程類〕,通過兩個(gè)工程〔多線程計(jì)算素?cái)?shù)、多線程計(jì)數(shù)〕講述Java多線程技術(shù)的實(shí)現(xiàn)細(xì)節(jié)。2.Java網(wǎng)絡(luò)編程根底專題:簡述網(wǎng)絡(luò)編程根底知識(shí)后〔難度不超過計(jì)算機(jī)導(dǎo)論課程要求〕,通過兩個(gè)客戶端/效勞器工程〔素?cái)?shù)判別、猜數(shù)字小游戲〕講述Java網(wǎng)絡(luò)編程技術(shù)的實(shí)現(xiàn)細(xì)節(jié)。3.Android開發(fā)專題:簡述Android系統(tǒng)體系構(gòu)造、Android應(yīng)用工程及構(gòu)成、開發(fā)環(huán)境搭建后,通過兩個(gè)工程〔簡易計(jì)算器、音樂播放器〕講述Android開發(fā)的細(xì)節(jié)技術(shù)。專題知識(shí)局部不僅是Java語言和技術(shù)的應(yīng)用,也能鍛煉學(xué)生從工程整體的角度把握J(rèn)ava技術(shù)的才能。通過專題知識(shí)的學(xué)習(xí)后,學(xué)生能完成實(shí)驗(yàn)任務(wù)里設(shè)置的同等難度的工程。
〔三〕其他教學(xué)方法
1.教學(xué)案例的設(shè)計(jì)應(yīng)注重興趣性、更貼近生活。例如,Java程序設(shè)計(jì)課程采用的課堂案例包括:用Java及面向?qū)ο竽M大學(xué)課堂;用Java及面向?qū)ο笤O(shè)計(jì)多個(gè)類表示?出師表?中的人物,設(shè)計(jì)屬性和方法,類和類之間的繼承關(guān)系,程序能輸出整篇?出師表?;用抽象類或接口實(shí)現(xiàn)魯提轄梯度、但不必遵循和尚的所有行為〔吃齋、念經(jīng)、打坐、撞鐘等〕。
2.為了改變學(xué)生拖沓的陋習(xí),所有課后作業(yè)和實(shí)驗(yàn)報(bào)告均通過網(wǎng)絡(luò)教學(xué)平臺(tái)提交,設(shè)定截止時(shí)間;在OJ系統(tǒng)上布置的在線理論作業(yè),也設(shè)定截止時(shí)間;截止時(shí)間過了,就不能提交了,這局部平時(shí)成績就沒有了。
3.培養(yǎng)學(xué)生查閱JDKAPI等幫助文檔的習(xí)慣。在軟件開發(fā)中,防止不了頻繁查閱幫助文檔,而這一點(diǎn)對(duì)在校學(xué)生來說是個(gè)障礙。除了在課堂教學(xué)時(shí)反復(fù)演示通過JDKAPI查閱JDK類的用法外,還在實(shí)驗(yàn)報(bào)告中設(shè)計(jì)一些需要學(xué)生獨(dú)立查閱API文檔才能完成的實(shí)驗(yàn)任務(wù)。
4.培養(yǎng)學(xué)生寫文檔注釋的習(xí)慣。文檔注釋是Java中的一種新的注釋類型,在Java工程中適當(dāng)位置編寫文檔注釋后,可以通過javadoc命令〔或IDE開發(fā)工具中的菜單命令〕生成一份系統(tǒng)的API文檔。
四教學(xué)效果及完畢語
本文針對(duì)Java程序設(shè)計(jì)課程提出的教學(xué)改革思路,在根底知識(shí)局部引入在線理論和程序設(shè)計(jì)競賽這些新穎的編程理論,可以進(jìn)步學(xué)生的興趣,專題知識(shí)局部以工程實(shí)訓(xùn)的方式引出后續(xù)三門專業(yè)課的根底知識(shí)。上述教學(xué)思路在重慶交通大學(xué)已連續(xù)施行3年,獲得了非常好的教學(xué)效果。3年間,學(xué)生在重慶市大學(xué)生程序設(shè)計(jì)大賽〔團(tuán)隊(duì)賽〕上獲得二等獎(jiǎng)4個(gè)、三等獎(jiǎng)10個(gè),在藍(lán)橋杯大賽〔個(gè)人賽,Java語言B組〕上獲得國家二等獎(jiǎng)1個(gè)、三等獎(jiǎng)5個(gè),省一等獎(jiǎng)6個(gè)、二等獎(jiǎng)11個(gè)、三等獎(jiǎng)15個(gè)。另外,教學(xué)班的學(xué)生承當(dāng)大學(xué)生創(chuàng)新創(chuàng)業(yè)方案工程市級(jí)1項(xiàng)、校級(jí)5項(xiàng)。在后續(xù)的教學(xué)研究中,筆者將在這種教學(xué)思路的根底上進(jìn)一步探究新穎的教學(xué)方法。
參考文獻(xiàn)
【1】夏紅科.非計(jì)算機(jī)專業(yè)Java語言案例教學(xué)理論[J].中國電力教育,2022(35):123-124.
【2】盧冶,劉永良,張小立.面向應(yīng)用型人才培養(yǎng)的Java課程群研究與/r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 自動(dòng)控制原理試題及答案
- 出試題及答案用什么軟件ai
- 支持更高效學(xué)習(xí)的多媒體應(yīng)用設(shè)計(jì)師試題及答案
- 2025年煙草香精項(xiàng)目申請(qǐng)報(bào)告模板
- 農(nóng)信社考試題庫及答案
- 備考心態(tài)的系統(tǒng)分析師考試試題及答案
- 網(wǎng)絡(luò)設(shè)計(jì)師考試要點(diǎn)與試題及答案
- 初中物理基礎(chǔ)試題及答案
- 肌肉功能解剖試題及答案
- 優(yōu)化復(fù)習(xí)策略初級(jí)社會(huì)工作者考試試題及答案
- LCE-RB-3-004空調(diào)風(fēng)柜保養(yǎng)指導(dǎo)書內(nèi)容
- GB/T 26516-2011按摩精油
- 2023年燕舞集團(tuán)有限公司招聘筆試模擬試題及答案解析
- 電機(jī)檢測(cè)報(bào)告
- 上市合作合同協(xié)議書范本-IPO
- 最新消毒記錄表每日消毒表
- 自發(fā)冠脈夾層診療指南解讀
- 《一滴水經(jīng)過麗江》的課件
- 三級(jí)醫(yī)院服務(wù)能力指南2022
- 家庭室內(nèi)裝飾裝修工程驗(yàn)收單
- 物流招標(biāo)文件模板(完整版)
評(píng)論
0/150
提交評(píng)論