周燕琴 呂緒洋
摘要:針對軟件工程專業(yè)本科學(xué)習(xí)JAVA語言面向?qū)ο蟪绦蛟O(shè)計課程教學(xué)中存在的問題進行分析總結(jié),文章主要從課程教材選擇、理論教學(xué)方式、實驗設(shè)計方法、考核模式等方面提出相應(yīng)的改革措施,結(jié)合當(dāng)前社會需求切實做到以“學(xué)生為中心,教師為輔”培養(yǎng)學(xué)生的創(chuàng)新能力和程序設(shè)計的實踐能力。
關(guān)鍵詞:軟件工程;JAVA;OOP;教學(xué)改革
中圖分類號:G642 ? ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)17-0165-02
Abstract: This paper analyzes and summarizes the problems existing in the teaching of JAVA language object-oriented programming for software engineering undergraduates, mainly puts forward the corresponding reform measures from the aspects of course material selection, theoretical teaching method, experimental design method and assessment mode. ?According to the current social needs to effectively achieve the "student-centered, teacher-assisted" to cultivate students' innovative ability and practical ability of program design.
Key words: software engineering; JAVA; OOP;teaching reform
隨著軟件產(chǎn)業(yè)界對象技術(shù)產(chǎn)品近年與日俱增,越來越多的人才加入軟件開發(fā)行業(yè),社會市場迫切需要大量軟件工程方向人才,這需求要求在校專業(yè)學(xué)習(xí)一定要與時代發(fā)展相同步。面向?qū)ο缶幊趟枷胧擒浖こ虒I(yè)學(xué)生必須掌握的核心課程內(nèi)容。在面向?qū)ο蟪绦蛟O(shè)計課程教學(xué)過程中,如何讓學(xué)生學(xué)習(xí)完該課程后能夠充分掌握面向?qū)ο缶幊趟枷牒头椒ǎ⒛茚槍δ骋粚嶋H問題用所學(xué)的方法和技能實現(xiàn)程序設(shè)計是當(dāng)前面向?qū)ο蟪绦蛟O(shè)計課程教學(xué)所面臨的迫切需要解決的問題。結(jié)合自身的從事該課程教學(xué)經(jīng)歷及其改革實際,從教和學(xué)兩方面進行分析梳理提出改進措施。
1 教學(xué)改革背景
本校是普通二本師范類院校,位于廣東省廣州市,學(xué)校樹立“教學(xué)以學(xué)生為本”理念,創(chuàng)新人才培養(yǎng)模式。同時為地方培養(yǎng)輸送計算機專業(yè)應(yīng)用型人才?!睹嫦?qū)ο蟪绦蛟O(shè)計》是軟件工程專業(yè)的專業(yè)教育必修課程,是一門綜合性、實踐性很強的工程技術(shù)課,有效地掌握面向?qū)ο蠹夹g(shù)與方法是軟件產(chǎn)業(yè)對每一位軟件從業(yè)人員的基本要求,并在大一下學(xué)期為軟件工程專業(yè)開設(shè)JAVA語言面向?qū)ο蟪绦蛟O(shè)計課程。教師授課方式多采用理論教學(xué)和上機實驗操作相結(jié)合教學(xué)方法。通常在理論教學(xué)課上,教師會將課程中各種語法、各種概念性知識講解清楚,將教學(xué)的重點偏移語法規(guī)則和語言的使用上,而忽略了利用面向?qū)ο笏季S來分析問題和解決實際問題的能力的培養(yǎng)。不少學(xué)生學(xué)了本課程后反饋除了能夠看懂課堂教學(xué)中使用過的問題實例,知道面向?qū)ο蟮母拍詈蚃AVA語言語法知識,但不能很好地理解面向?qū)ο笏枷耄欢萌绾谓M織程序代碼、如何進行面向?qū)ο蟮慕?。所以,結(jié)束了該課程后不能運用面向?qū)ο蠼鉀Q實際問題。我院一直倡導(dǎo)并推行教學(xué)改革,當(dāng)前正全面推行基于小班規(guī)模、網(wǎng)絡(luò)平臺的,以啟發(fā)式、探究式、案例式、問題式為導(dǎo)向的教學(xué)模式創(chuàng)新。旨在實現(xiàn)教學(xué)內(nèi)容從“知識傳授”向“知識獲取”轉(zhuǎn)變,教學(xué)目標(biāo)從“知識為本”向“能力為本”轉(zhuǎn)變[1]。近幾年,筆者一直從事面向?qū)ο蟪绦蛟O(shè)計課程教學(xué),結(jié)合教學(xué)經(jīng)歷對“面向?qū)ο蟪绦蛟O(shè)計”課程進行現(xiàn)狀分析及教學(xué)改革探索,提出幾點個人思考。
2教學(xué)中存在的問題
(1)理論教學(xué)存在問題,市面上JAVA語言程序設(shè)計教材鋪天蓋地,都有重語法的特點,正是因為這一點,教師在進行課程講解時,很容易將課程當(dāng)作計算機語言課來講授,大部分的課時都在講解JAVA語法規(guī)則和如何使用語言,忽略了圍繞面向?qū)ο笏季S和方法進行程序設(shè)計。學(xué)生也不能順利地建立理論基礎(chǔ),學(xué)習(xí)上產(chǎn)生畏難心理對課程失去興趣。
(2)實驗設(shè)計存在問題。實踐環(huán)節(jié)在程序設(shè)計類課程占據(jù)比較重要的地位,我系目前采用的實驗教學(xué)方式:實驗預(yù)習(xí)+上機完成實驗項目。這種實驗教學(xué)存在設(shè)計不科學(xué):首先,實驗預(yù)習(xí)過于形式化,不能完全檢驗學(xué)生是否有認(rèn)真完成實驗前的預(yù)習(xí)。其次,大多數(shù)實驗題目是針對某一知識點而設(shè)計,內(nèi)容較單一、整體性差,缺乏吸引力,難以滿足不同學(xué)生的需求,無法激發(fā)學(xué)生興趣和培養(yǎng)學(xué)生創(chuàng)新能力。最后,由于上機時班級學(xué)生較多,舉手提問人次多,而實驗指導(dǎo)教師能夠提供指導(dǎo)時間和次數(shù)有限,當(dāng)疑惑不能及時得到解決,學(xué)生學(xué)習(xí)自信心受到打擊,影響后續(xù)課程的學(xué)習(xí),甚至放棄學(xué)習(xí)。
(3)教學(xué)方式和手段存在問題。在理論教學(xué)中主要采用PPT播放課件+Eclipece集成開發(fā)環(huán)境+電教控制平臺共同構(gòu)建教學(xué)環(huán)境。用PPT教學(xué)課件輔助教學(xué)能夠包含更多的課堂內(nèi)容和增加信息量,但根據(jù)課程需求需來回切換屏幕。因此,有部分學(xué)生反應(yīng)教師上課速度快,內(nèi)容來不及理解,然后又跳到另一個平臺,造成學(xué)生在一些關(guān)鍵知識點上學(xué)生處于暈頭轉(zhuǎn)向的狀態(tài),沒有足夠的時間理解。課堂教學(xué)手段過多地使用信息化會弱化推理思維呈現(xiàn)的完整性,學(xué)生很難理解程序是如何演進。
3教學(xué)改革舉措
為提高程序設(shè)計課程教學(xué)質(zhì)量,且有效促進學(xué)生學(xué)習(xí)編程能力和創(chuàng)新思維能力,下面借鑒相關(guān)教學(xué)改革經(jīng)歷和對面向?qū)ο蟪绦蛟O(shè)計課程教學(xué)個人思考,就該課程如何開展教學(xué)改革進行探討。
首先應(yīng)從選擇教材開始,市面上眾多面向?qū)ο蟪绦蛟O(shè)計教材,在教學(xué)實踐中認(rèn)識到教材對教學(xué)有著巨大的影響,教材選擇對教學(xué)活動的效度起著至關(guān)重要的作用。筆者認(rèn)為應(yīng)該對教學(xué)對象有充分的分析,因課程面向軟件工程專業(yè)大一新學(xué)生開設(shè),所以考慮到一是新生、二是軟件工程專業(yè)這兩大特點,大一新生從有老師嚴(yán)格監(jiān)督下緊張學(xué)習(xí)環(huán)境進入管理和約束驟減寬松的大學(xué)生活,大部分學(xué)生處于一種懵懂、迷茫的狀態(tài),這需要有專業(yè)教師給予有效的引導(dǎo)和答疑解惑的人。軟件工程專業(yè)是一門新興工程性計算機技術(shù)專業(yè),中學(xué)時代學(xué)生鮮有接觸,進入大學(xué)后可能很難適應(yīng)由“自然語言”到“機器語言”的轉(zhuǎn)變。
綜合上述分析,我系組織專業(yè)教師精心挑選符合學(xué)生實際教材,遴選清華大學(xué)出版深澤剛主編《JAVA語言程序設(shè)計》微課版[2],該本教材優(yōu)點在于每一章節(jié)都制作了微視頻可以掃碼自主學(xué)習(xí),視頻里展示了程序演進的完成過程,幫助學(xué)生建立邏輯推理思維。微視頻可供學(xué)生課前觀看作為預(yù)習(xí)、課堂有不理解課后繼續(xù)學(xué)習(xí)、便于反復(fù)鞏固復(fù)習(xí),作為課堂教學(xué)的輔助工具,也能減輕教師的教學(xué)工作負(fù)擔(dān)。我系經(jīng)研究決定對軟件工程專業(yè)四年制學(xué)習(xí)實行“班主任+導(dǎo)師”制度。這些舉措對提高學(xué)生的學(xué)習(xí)能力和效率有著很好的促進作用。
其次,實驗教學(xué)設(shè)計方面,一方面在理論教學(xué)過程中我們會發(fā)現(xiàn)如果純講理論概念知識,教學(xué)氛圍枯燥乏味,顯然教學(xué)效果欠佳,因此,我系采用前期理論課程中預(yù)留一部分時間做驗證型實驗案例講解和練習(xí)幫助學(xué)生理解相關(guān)概念,同時充實了課堂活動。
另一方面在設(shè)計實驗項目上加強針對性和趣味性,采用項目導(dǎo)入任務(wù)驅(qū)動方式,將一個完整大項目分成四個階段完成,比如最后要完成一個學(xué)生學(xué)籍管理系統(tǒng),第一個階段完成實驗一,要求完成學(xué)生類的聲明、定義、使用,學(xué)生對象的實例化方法,構(gòu)造函數(shù)、成員函數(shù)的編寫方法,調(diào)試運行程序方法。第二個階段完成實驗二,要求完成實驗一的基礎(chǔ)上增加實現(xiàn)學(xué)生類的封裝編程方法、實現(xiàn)函數(shù)重載的方法、利用面向?qū)ο缶幊谭椒ǔ醪綄崿F(xiàn)學(xué)生學(xué)籍管理方法。每一實驗都是在前一個實驗基礎(chǔ)上添加功能,最終實現(xiàn)“學(xué)生學(xué)籍管理系統(tǒng)”程序設(shè)計、代碼調(diào)試與測試等完整系統(tǒng)項目。實驗教學(xué)安排16課時作為上機實驗,具體做法:會提前下發(fā)實驗要求,便于學(xué)生提前做好實驗預(yù)習(xí)工作,節(jié)省實驗用時,盡可能在實驗課上解決實驗疑問。采用將具體項目導(dǎo)入課程教學(xué)內(nèi)容,達(dá)到實現(xiàn)教學(xué)目標(biāo),以“學(xué)生主體,教師主導(dǎo)”,用明確的任務(wù)驅(qū)動學(xué)生完成實踐操作,項目導(dǎo)入任務(wù)驅(qū)動教學(xué)方式可培養(yǎng)學(xué)生專業(yè)素養(yǎng)和提高實踐編程技能。我系在每學(xué)期期末為面相對象程序設(shè)計類課程設(shè)有32課時的課程設(shè)計,單獨成立一門程序設(shè)計類課程,要求學(xué)生利用面向?qū)ο蟮姆椒ㄔO(shè)計一個與現(xiàn)實生活緊密聯(lián)系的系統(tǒng),可以自由組隊以項目團隊合作形式完成,要求《面向?qū)ο笳n程設(shè)計》設(shè)計報告格式參照學(xué)校畢業(yè)論文規(guī)范寫作。激發(fā)學(xué)生的興趣和主動性,培養(yǎng)學(xué)生的團隊協(xié)作精神和解決實際問題的能力,學(xué)生能提前了解畢業(yè)論文的寫作規(guī)范。
最后,教學(xué)方式和考核形式改革,一方面,采用教師講授+上機示范操作相結(jié)合的教學(xué)方式,在講解子模塊知識內(nèi)容時現(xiàn)場編輯源代碼、編譯、調(diào)試代碼方式、運行、測試演示給學(xué)生看,這樣做學(xué)生能夠更直觀的領(lǐng)悟知識要點,從而消除學(xué)生對代碼的“畏難”心理。另一方面,每周對學(xué)生做一次學(xué)習(xí)調(diào)查問卷,適當(dāng)?shù)恼{(diào)整教學(xué)方式,充分體現(xiàn)“以學(xué)生為主,教師為輔”,給學(xué)生盡可能提供一些實踐機會,讓更多的學(xué)生參與課堂活動,比如互換角色,由教師布置任務(wù),學(xué)生以小組形式提前做好準(zhǔn)備,課堂上一位同學(xué)負(fù)責(zé)主講,其他隊員補充。教師聽,做最后點評和補充。這種簡單的課堂翻轉(zhuǎn)教學(xué)模式可培養(yǎng)學(xué)生自學(xué)能力且利于個性化發(fā)展。為了體現(xiàn)全面綜合評價學(xué)生,必須對課程考核形式及成績評定進行相應(yīng)的改革[3],提出以下成績評定公式總成績=平時考核占比20%,+實驗考核30%+期末考試50%,平時考核評價方式由考勤10%和(課堂表現(xiàn)+課后作業(yè)兩方面)20%,實驗考核評價方式是四次上機操作實驗完成得分均值,期末考核評價方式以筆試考試形式考查對理論知識的掌握程度。
4總結(jié)
面向軟件工程專業(yè)的JAVA語言程序設(shè)計課程改革充分考慮了工科專業(yè)的特點,教學(xué)切實做到以“學(xué)生為中心,教師為輔”的培養(yǎng)學(xué)生的創(chuàng)新意識和動手實踐能力。通過面向?qū)ο蟪绦蛟O(shè)計的教學(xué)改革,一方面提高了教師教學(xué)水平,另一方面表現(xiàn)在學(xué)生期末通過率比改革前高可達(dá)到96.8%,并在2018年、2019年全國數(shù)學(xué)建模比賽、全國藍(lán)橋杯等計算機技能競賽獲得優(yōu)異的成績。兩年的實踐證明了該課程改革方案在軟件工程專業(yè)人才培養(yǎng)中的可行性和有效性。為后續(xù)更好的學(xué)習(xí)面向?qū)ο缶幊痰认嚓P(guān)技術(shù)乃至就業(yè)打下一個良好的基礎(chǔ)。對于該課程教學(xué)改革將繼續(xù)與時俱進不斷改革創(chuàng)新進行探索。
參考文獻(xiàn):
[1] 姜峰,湯偉,賴俊.基于能力培養(yǎng)的面向?qū)ο蟪绦蛟O(shè)計課程教學(xué)改革探索[J].計算機工程與科學(xué), 2014(4):126-130.
[2] 深澤剛.Java語言程序設(shè)計(第三版)[M].清華大學(xué)出版社,2018.
[3] 孫杰,秦建勇,樊春年,等.面向工科專業(yè)的C語言程序設(shè)計課程教學(xué)改革探索[J].計算機教育,2016(11):73-75.
【通聯(lián)編輯:王力】