姚曄
摘? 要: 在分析目前高校程序設(shè)計(jì)類課程教學(xué)中存在的相關(guān)課程教學(xué)內(nèi)容部分重合、實(shí)踐教學(xué)環(huán)節(jié)薄弱等問題的基礎(chǔ)上,研究從程序設(shè)計(jì)基礎(chǔ)到Java高級(jí)應(yīng)用開發(fā)框架的課程教學(xué)體系構(gòu)建。通過(guò)合理安排兩門課程的教學(xué)內(nèi)容,設(shè)計(jì)基礎(chǔ)知識(shí)和應(yīng)用開發(fā)兼顧的教學(xué)方案、項(xiàng)目驅(qū)動(dòng)的高級(jí)應(yīng)用框架開發(fā)實(shí)踐,以及理論結(jié)合實(shí)踐的考核模式等改革措施,促進(jìn)學(xué)生動(dòng)手能力及項(xiàng)目開發(fā)實(shí)踐能力的培養(yǎng),為程序設(shè)計(jì)類課程的教學(xué)體系構(gòu)建改革提供可行的方案。
關(guān)鍵詞: 課程教學(xué)體系構(gòu)建; 教學(xué)內(nèi)容; 教學(xué)方案; 過(guò)渡性教學(xué)設(shè)計(jì)
中圖分類號(hào):G642.4? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ?文章編號(hào):1006-8228(2021)07-95-03
Research on the construction of course teaching system from programming
foundation to Java programming
Yao Ye
(School of Cyberspace, Hangzhou dianzi university, Hangzhou, Zhejiang 310018, China)
Abstract: On the basis of analyzing the problems existing in the teaching of programming courses in our universities, such as the overlap of teaching contents and the weakness of practical teaching, the construction of the course teaching system from programming foundation to Java advanced application development framework is studied. Through the reasonable arrangement of the teaching contents of the two courses, the teaching scheme of considering both basic knowledge and application development, and the project driven advanced application framework development practice, as well as the assessment mode of combining theory with practice are designed, to promote the students' practical ability and project development practice ability, and provide a feasible scheme for the construction and reform of the teaching system of programming courses.
Key words: course teaching system construction; teaching content; teaching scheme; transitional teaching design
0 引言
“程序設(shè)計(jì)基礎(chǔ)(即C語(yǔ)言程序設(shè)計(jì))”是電子信息類、計(jì)算機(jī)類的專業(yè)必修課,是本科教學(xué)課程體系中最基礎(chǔ)、最重要的程序設(shè)計(jì)類課程。大多數(shù)高校的理工科專業(yè)已將“程序設(shè)計(jì)基礎(chǔ)”列為大學(xué)一年級(jí)必修課[1]。而Java是軟件開發(fā)領(lǐng)域的主流軟件開發(fā)語(yǔ)言,企業(yè)對(duì)Java開發(fā)人才需求量遠(yuǎn)多于對(duì)C語(yǔ)言的需求。雖然大多數(shù)高校計(jì)算機(jī)類、電子信息類等專業(yè)已逐漸開設(shè)了“Java面向?qū)ο蟪绦蛟O(shè)計(jì)”的課程,但是C語(yǔ)言與Java語(yǔ)言這兩門課在授課內(nèi)容、教學(xué)計(jì)劃和培養(yǎng)方案上尚未做到有效銜接和過(guò)渡。如何設(shè)計(jì)Java語(yǔ)言的授課內(nèi)容、減少兩門課程中編程基礎(chǔ)知識(shí)的重疊度、增加Java應(yīng)用開發(fā)框架授課內(nèi)容、培養(yǎng)學(xué)生軟件項(xiàng)目開發(fā)的實(shí)踐能力、增強(qiáng)他們?cè)趯?lái)的工作中的競(jìng)爭(zhēng)力,是程序設(shè)計(jì)類課程教學(xué)改革的重要目標(biāo)。
1 當(dāng)前C語(yǔ)言和Java語(yǔ)言課程教學(xué)存在的問題
受傳統(tǒng)教學(xué)模式和教學(xué)體系的影響,程序設(shè)計(jì)類課程教學(xué)基本呈現(xiàn)出偏重基礎(chǔ)語(yǔ)法語(yǔ)義、缺少綜合項(xiàng)目實(shí)踐、無(wú)法滿足社會(huì)需求的特征,制約和影響了程序設(shè)計(jì)類課程的教學(xué)質(zhì)量[2-3]?;谧罱鼛啄甑恼{(diào)研,目前程序設(shè)計(jì)課程教學(xué)主要存在以下幾個(gè)問題。
⑴ 課程定位不清晰,與程序設(shè)計(jì)基礎(chǔ)課程缺乏過(guò)渡銜接
當(dāng)前的“Java面向?qū)ο蟪绦蛟O(shè)計(jì)”教學(xué)大綱中,還包含基本數(shù)據(jù)類型、變量、表達(dá)式和控制語(yǔ)句等教學(xué)內(nèi)容。由于Java語(yǔ)言和C語(yǔ)言在基礎(chǔ)語(yǔ)法方面有較大相似性,在以“程序設(shè)計(jì)基礎(chǔ)”為先修課程的“Java面向?qū)ο蟪绦蛟O(shè)計(jì)”授課過(guò)程中,Java語(yǔ)言的基礎(chǔ)語(yǔ)法的授課時(shí)間沒有變化,也沒有協(xié)調(diào)并做好與先修課程的過(guò)渡銜接。
⑵ 教學(xué)內(nèi)容更新不及時(shí),不能緊跟最新開發(fā)技術(shù)發(fā)展
全國(guó)大多數(shù)高校的Java程序設(shè)計(jì)課程教學(xué)大綱,都要求學(xué)生掌握面向?qū)ο蟮幕靖拍?。課程計(jì)劃主要講授類和對(duì)象、繼承與多態(tài)等基礎(chǔ)性內(nèi)容。高級(jí)應(yīng)用開發(fā)涉及的Swing圖形編程和Applet基礎(chǔ)等教學(xué)內(nèi)容陳舊,而面向企業(yè)應(yīng)用需求的最新開發(fā)框架基本沒有介紹。特別是像最新的Spring+Spring MVC+Mybatis等企業(yè)應(yīng)用開發(fā)框架很難及時(shí)地反映在教材中。
⑶ 教學(xué)模式不合理,教學(xué)手段陳舊
現(xiàn)有教學(xué)模式大多是以教師為中心,學(xué)生以被動(dòng)的聽講學(xué)習(xí)為主。教師在教學(xué)過(guò)程中以播放多媒體課件為主要教學(xué)手段,學(xué)生在學(xué)習(xí)過(guò)程中以單純的客觀題練習(xí)和編程題作業(yè)完成為目標(biāo)。這種教學(xué)模式缺少師生之間的互動(dòng),限制了學(xué)生學(xué)習(xí)的積極主動(dòng)性,無(wú)法培養(yǎng)學(xué)生的實(shí)踐創(chuàng)新能力。
⑷ 考核方式與評(píng)價(jià)體系單一
期末課程考核是教學(xué)過(guò)程中的一個(gè)重要環(huán)節(jié),是衡量教學(xué)效果的過(guò)程。目前課程教學(xué)中的考核形式較為單一,大多是書面閉卷的理論考試。這種考核方式缺乏實(shí)踐考核,不能考核學(xué)生靈活應(yīng)用面向?qū)ο蟾拍罱鉀Q實(shí)際問題的能力,不能全面反映學(xué)生的實(shí)際掌握情況,更難于衡量學(xué)生的項(xiàng)目實(shí)踐能力和綜合素質(zhì)。
基于上述原因,本文提出從程序設(shè)計(jì)基礎(chǔ)到Java程序設(shè)計(jì)的課程教學(xué)體系改革,將“程序設(shè)計(jì)基礎(chǔ)”與“Java面向?qū)ο蟪绦蛟O(shè)計(jì)”的教學(xué)內(nèi)容做過(guò)渡銜接,加入最新的企業(yè)應(yīng)用開發(fā)框架授課內(nèi)容,改革教學(xué)模式和教學(xué)手段,完善考核和評(píng)價(jià)體系,提高學(xué)生的基礎(chǔ)理論知識(shí)掌握程度和實(shí)際項(xiàng)目開發(fā)能力。
2 從C語(yǔ)言到Java語(yǔ)言過(guò)渡性教學(xué)體系的具體措施
從程序設(shè)計(jì)基礎(chǔ)到Java程序設(shè)計(jì)的課程教學(xué)體系改革,實(shí)現(xiàn)C語(yǔ)言到Java語(yǔ)言的過(guò)渡性教學(xué)體系[4-5]的措施包括以下幾個(gè)方面。
⑴ 修訂教學(xué)大綱和教學(xué)計(jì)劃,做好相關(guān)課程銜接。
以“程序設(shè)計(jì)基礎(chǔ)”為先修課程,修訂“Java面向?qū)ο蟪绦蛟O(shè)計(jì)”的教學(xué)大綱和教學(xué)內(nèi)容,做好兩門課程的過(guò)渡銜接。主要包括:①刪減包括基本數(shù)據(jù)類型、變量、表達(dá)式和控制語(yǔ)句等基本語(yǔ)法教學(xué)內(nèi)容的課時(shí);②刪減已經(jīng)過(guò)時(shí)的Swing界面開發(fā)和Applet基礎(chǔ)編程,以及不太常用的多線程、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)等內(nèi)容;③關(guān)注Java語(yǔ)言和C語(yǔ)言語(yǔ)法的差異,減少基礎(chǔ)語(yǔ)法課內(nèi)授課學(xué)時(shí),使學(xué)生盡快進(jìn)入Java面向?qū)ο蟮膶W(xué)習(xí)進(jìn)程中。
⑵ 優(yōu)化教學(xué)內(nèi)容,增加面向企業(yè)應(yīng)用的Java框架授課內(nèi)容。
為了提高學(xué)生實(shí)際項(xiàng)目的開發(fā)能力,擬在授課計(jì)劃中整合SSH框架(Struts、Spring和Hibernate),增加利用SSH框架進(jìn)行應(yīng)用開發(fā)的實(shí)踐教學(xué)內(nèi)容。使得學(xué)生熟悉MVC(Model-View-Control)架構(gòu)的代碼分層結(jié)構(gòu)、Struts進(jìn)行數(shù)據(jù)顯示及流程控制、Hibernate進(jìn)行數(shù)據(jù)訪問、Spring進(jìn)行業(yè)務(wù)邏輯的管理和控制的基本概念。通過(guò)增加Java框架開發(fā)的課程設(shè)計(jì)作業(yè),使學(xué)生了解Java框架開發(fā)的基本流程。
⑶ 做好理論和實(shí)踐結(jié)合的教學(xué)模式創(chuàng)新。
為了增強(qiáng)授課過(guò)程中的師生互動(dòng),強(qiáng)化學(xué)生的學(xué)習(xí)產(chǎn)出能力培養(yǎng),擬采用理論和實(shí)踐結(jié)合的教學(xué)模式。主要包括:①利用多媒體技術(shù)和網(wǎng)絡(luò)教學(xué)平臺(tái)提高課堂效率,促進(jìn)學(xué)生學(xué)習(xí)的熱情,同時(shí)提升學(xué)生的學(xué)習(xí)效率;②采用課程實(shí)踐和任務(wù)驅(qū)動(dòng)的教學(xué)模式,培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神,提升學(xué)生的實(shí)踐編程能力;③鼓勵(lì)學(xué)生積極參與理論教學(xué),引入課堂討論和互動(dòng),提升學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)效率。
⑷ 完成課程考核和評(píng)價(jià)體系改革。
通過(guò)改革課程考核和評(píng)價(jià)體系,引導(dǎo)學(xué)生注重學(xué)習(xí)過(guò)程中的過(guò)程性考核,提高學(xué)生的實(shí)際項(xiàng)目開發(fā)能力。主要包括:①進(jìn)行基礎(chǔ)知識(shí)的隨堂單元測(cè)試,考核學(xué)生的掌握情況,計(jì)入平時(shí)成績(jī);②在期末綜合考試階段,主要考查學(xué)生綜合運(yùn)用知識(shí)的水平和能力; ③在期末綜合課程設(shè)計(jì)階段,要求學(xué)生利用最新的SSH或SSM框架開發(fā)一款輕量級(jí)的軟件,檢驗(yàn)學(xué)生的實(shí)際開發(fā)能力。
3 過(guò)渡性教學(xué)設(shè)計(jì)和課程教學(xué)體系的實(shí)施效果
目前,大多數(shù)高校計(jì)算機(jī)類、電子信息類等專業(yè)都將“程序設(shè)計(jì)基礎(chǔ)(包括C語(yǔ)言)”作為程序設(shè)計(jì)類課程的入門課程,并且在高年級(jí)提供面向?qū)ο蟪绦蛟O(shè)計(jì)的高級(jí)語(yǔ)言程序設(shè)計(jì)。學(xué)生可以從“Java面向?qū)ο蟪绦蛟O(shè)計(jì)”和“C++面向?qū)ο蟪绦蛟O(shè)計(jì)”兩門課程中,選擇一門來(lái)修讀。由于C語(yǔ)言和Java語(yǔ)言,在基礎(chǔ)語(yǔ)法上有較多相似性,這就需要教師在授課內(nèi)容、教學(xué)計(jì)劃和培養(yǎng)方案上做好這兩門課的銜接。
經(jīng)過(guò)最近幾年筆者所在團(tuán)隊(duì)教師的努力,團(tuán)隊(duì)內(nèi)部已經(jīng)形成了一套比較成熟的“程序設(shè)計(jì)基礎(chǔ)”和“Java面向?qū)ο蟪绦蛟O(shè)計(jì)”的教學(xué)培養(yǎng)模式。在授課內(nèi)容、教學(xué)計(jì)劃、培養(yǎng)方案和考核模式上,做到從面向過(guò)程到面向?qū)ο蟮挠行蜚暯雍瓦^(guò)渡。面向過(guò)程的基礎(chǔ)知識(shí)會(huì)直接影響面向?qū)ο蟮木幊棠芰μ嵘?,“程序設(shè)計(jì)基礎(chǔ)”課程學(xué)習(xí)較好的學(xué)生,在“Java面向?qū)ο蟪绦蛟O(shè)計(jì)”的課程考核中也表現(xiàn)優(yōu)異。
本課程組相關(guān)教師在杭州電子科技大學(xué)的電子信息類部分專業(yè)2017級(jí)和2018級(jí)學(xué)生中,進(jìn)行了兩輪過(guò)渡性課程教學(xué)體系改革實(shí)踐。參與教學(xué)改革的學(xué)生,在項(xiàng)目開發(fā)和實(shí)踐動(dòng)手方面的能力得到了用人單位的認(rèn)可。部分學(xué)生已經(jīng)到就業(yè)單位實(shí)習(xí),參與企業(yè)實(shí)際應(yīng)用項(xiàng)目的開發(fā)。這些學(xué)生的實(shí)踐能力、團(tuán)隊(duì)意識(shí),以及用人單位的認(rèn)可程度,都明顯優(yōu)于其他學(xué)生。
4 結(jié)束語(yǔ)
Java面向?qū)ο蟪绦蛟O(shè)計(jì)是使用Java框架開發(fā)企業(yè)級(jí)應(yīng)用程序的基礎(chǔ),是當(dāng)前眾多管理信息系統(tǒng)首選的開發(fā)語(yǔ)言。我們應(yīng)該基于過(guò)渡性課程教學(xué)體系改革的指導(dǎo)方針,結(jié)合學(xué)生特點(diǎn)和對(duì)實(shí)踐開發(fā)人才培養(yǎng)的需求,探索并豐富Java高級(jí)開發(fā)人才的培養(yǎng)模式。只有授課教師加強(qiáng)課程教學(xué)體系設(shè)計(jì),才能使得學(xué)生能夠打好C語(yǔ)言基礎(chǔ),順利過(guò)渡到Java語(yǔ)言的學(xué)習(xí)進(jìn)程中,達(dá)到較高的學(xué)習(xí)效率,實(shí)現(xiàn)較好的學(xué)習(xí)效果。
目前,我們雖然取得了一些效果,程序設(shè)計(jì)類課程體系建設(shè)進(jìn)展也比較順利,但是,也存在一些問題。其中,最主要問題是Java框架開發(fā)知識(shí)點(diǎn)較多,學(xué)生的學(xué)業(yè)壓力大。經(jīng)過(guò)課程教學(xué)體系改革后,Java語(yǔ)言的授課課時(shí)由48學(xué)時(shí)上升到64學(xué)時(shí)。然而,仍然無(wú)法完全滿足課堂講授和實(shí)踐上機(jī)的學(xué)時(shí)需求。因此,還需要繼續(xù)優(yōu)化教學(xué)大綱、調(diào)整專業(yè)培養(yǎng)方案,使得學(xué)生能夠打好編程基礎(chǔ)的同時(shí),更能輕松愉快的學(xué)習(xí)Java高級(jí)編程課程內(nèi)容。
參考文獻(xiàn)(References):
[1] 黃賢立,羅冬梅.教育技術(shù)學(xué)專業(yè)程序設(shè)計(jì)語(yǔ)言入門課程的設(shè)置研究[J].現(xiàn)代教育技術(shù),2010.20(11): 54-58
[2] 張新猛,羅海蛟,彭碧濤等.面向軟件行業(yè)需求的Java工程人才培養(yǎng)探索[J].計(jì)算機(jī)教育,2019.6:77-80
[3] 齊敏菊.Java程序設(shè)計(jì)“互聯(lián)網(wǎng)+”教學(xué)模式與方法探索[J].計(jì)算機(jī)時(shí)代,2020.12:66-69
[4] 周雪芹.運(yùn)用五星教學(xué)法實(shí)現(xiàn)從C語(yǔ)言到Java語(yǔ)言過(guò)渡性教學(xué)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2020.16(16): 161-162
[5] 羅剛,任廷艷,趙誠(chéng).如何有效地從C語(yǔ)言的學(xué)習(xí)過(guò)渡到Java[J].電腦知識(shí)與技術(shù),2013.9(32):7271-7273