陳涵深



摘? 要: 針對傳統項目化教學法實施過程中學生積極性低、學習效果差和教學管理難等問題,對迭代式教學法在高職計算機類項目化課程中的實踐展開研究,并以“JavaScript程序設計”課程為例闡述迭代式教學法在計算機類項目化課程中的具體應用。教學實踐表明,該方法能激發(fā)學生的熱情和興趣,發(fā)揮學生的創(chuàng)新能力,提高學生的實踐設計水平。
關鍵詞: 教學改革; 迭代式教學; 項目化課程; JavaScript程序設計
中圖分類號:G652? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2020)06-80-04
Abstract: Aiming at the problems existed in the implementation of traditional project-based teaching method that students have low enthusiasm in learning, learning effect is poor and the management is difficult, this paper studies the practice of iterative teaching method in computer project-based courses of higher vocational education, and taking the course of "JavaScript Programming" as an example, expounds the specific application of iterative teaching method in computer project-based courses. The teaching practice shows that this method can stimulate the enthusiasm and interest of students, give full play to their innovation ability and improve their practical design level.
Key words: teaching reform; iterative teaching; project-based courses; JavaScript programming
0 引言
由于高職計算機類專業(yè)課程有著很強的實踐性,傳統的項目化教學法在眾多的教學理念和教學模式中凸現,雖然已經具備成熟的理論研究與廣泛的應用和發(fā)展,但仍不能滿足當前高職計算機類專業(yè)以產業(yè)需求為導向的課程教學要求。隨著互聯網時代的高速發(fā)展,信息技術正在改變著人們的生活方式,企業(yè)對信息軟件類人才的需求越來越多,技能要求也水漲船高,如何滿足高職計算機類人才建設的發(fā)展需求是高職計算機教育發(fā)展面臨的重要問題。迭代式開發(fā)方法是目前互聯網企業(yè)推崇的高效的開發(fā)模式,學生如果能夠在大學期間就具備初步的項目經驗,無疑為他們今后走上工作崗位提供很大的優(yōu)勢。目前,國家教育部門在大力推廣1+X證書制度,計算機類專業(yè)對接的證書由工信部或知名企業(yè)(華為,阿里巴巴等)負責頒發(fā),考證難度較大,因而對學生的知識掌握程度提出了更高的要求。作為互聯網軟件開發(fā)方式的創(chuàng)新課堂教學法,迭代式教學法能夠在課堂教學中營造出真實軟件開發(fā)氛圍,引導學生采用多次迭代的開發(fā)方法完成來自企業(yè)的真實項目,有望能循序漸進提高學生的專業(yè)理論水平和實踐能力。
目前國外關于迭代式教學研究的工作開展較為有限,但成效突出。Jiandong H等人[1]提出以案例為基礎的迭代式教學應用于數據庫課程,通過“認知-理論-實現”三階段進化形式,增強和訓練學生的理論認知和實踐設計能力,明顯提高了教學效果;Silveira PED等[2]探討了在計算機編程教學中實施迭代和遞歸技術來構建教學程序,結果強化了學生編程概念的理解,促進交互式學習體驗,提高學習成績和滿意度。國內院校對迭代式教學的研究已有開展:盧華燈等[3]探討了理實一體化類課程中,迭代式項目驅動教學的過程;此外,研究者亦在軟件工程[4],ASP.NET[5]等課程中采用迭代式教學法來提高學生的學習興趣、培養(yǎng)學生的職業(yè)技能,并取得了較好的教學效果。本文通過參考這些資料,根據當前教學工作特點,結合自身的企業(yè)軟件開發(fā)經驗,展開迭代式教學法的研究和實踐。
1 高職軟件課程教學現狀與存在的問題
軟件項目化教學一般采用的是瀑布模型,即將軟件項目教學過程分為:可行性分析、需求分析、軟件設計、編碼、測試、運行維護等幾個階段,強調完成上一個活動后才可進入下一個活動,依此流程,由教師進行排課和教學,學生逐步完成項目開發(fā)任務。然而,這種傳統的軟件項目化教學方法在面對高職學生教學過程可能存在以下幾個問題:①當將整個項目要求告知學生時,學生感覺項目復雜、無從下手,繼而產生畏懼心理,導致不愿嘗試或半途而廢;②項目教學前期主要是枯燥乏味的文檔(需求、設計等)編寫工作,容易在項目開端就出現學生學習興趣不高、積極性低下的情況;③整個項目周期長,教師管理項目進度難,往往有的學生到課程結束時,仍未完成整個項目,無法完全掌握各項技能并體驗項目全過程;④項目教學過程中,學生易遺忘,學了后面,忘記前面;⑤畢業(yè)生工作后發(fā)現學校所學和企業(yè)所做的項目開發(fā)過程差別較大,不能順利完成社會角色的有效轉變。
2 迭代式教學法的設計思路
迭代式開發(fā)有別于傳統的瀑布式開發(fā),它將一個大項目分解為若干個版本的小項目,每個小項目開發(fā)過程都包含不同比例的需求分析、設計、編碼、測試等工作,迭代規(guī)模較小,卻可以有針對性地處理項目中的問題。在由簡到繁的迭代開發(fā)中,軟件由最初的雛形經過一系列的迭代演化,由部分到整體、由弱到強,最終形成功能強大的完整的系統。
項目的教學內容被拆分到每一次迭代中,在不斷鞏固所學到的理論和技能的過程中,根據項目的演化逐步地增加新的知識和技巧,課程的教學目標在迭代中逐步實現,具體教學過程見圖1。學生在教學初期即通過簡單項目開發(fā)工作的完成獲得成就感,這樣在下一個迭代開發(fā)課堂中面臨即將實現的新功能,能激發(fā)學生的學習熱情和創(chuàng)新意識,從而實現由簡到繁、由淺入深的漸進教學,學生能夠充分熟悉所學內容,又能進一步加深所學知識的理解和掌握,提高自身的發(fā)現問題和解決問題的能力。每個版本都是采用啟發(fā)式、引導式教學方法對項目進行深入淺出的剖析,提出最基本的解決方案,然后由學生自主練習和相互討論,并提出最佳解決方案。每個版本發(fā)布的是一個經學生測試,教師驗證的可用軟件,通過多次版本迭代后完成整個課程的教學工作。
3 以“JavaScript程序設計”課程為例的迭代式教學法
JavaScript是高職計算機專業(yè)的一門核心課程,也是目前最常用的一種程序設計語言,本文以該課程為案例講解迭代式教學方法在課程教學中的具體實施過程。
3.1 課程的整體設計
課程的教學內容和目標與原有保持不變,對教學進度和授課安排進行重新設計,同時選用軟件項目需要具備一定的可分解性和可迭代性。教學中筆者以一個真實的網頁搖號器項目作為“JavaScript程序設計”課程的教學項目,按照由淺入深、現學現用的原則,將教學的各項理論知識和實踐技能分解到每一個具體明確的迭代版本中,讓學生在規(guī)定的時間內依次完成這些任務。具體來說,筆者將該項目分解成五個迭代版本,按照96學時分配,詳見表1。項目第一版稱為初級版,16學時,主要實現搖號器的基本功能;項目第二版本為基礎版,16學時,完成搖號器常用功能的開發(fā)工作;項目第三版和第四版分別為美化版和完善版,主要對界面的美觀度和功能做升級迭代,兩者各安排20學時;項目第五版本是最終版,為20學時,主要添加搖號器的增值功能。最后是項目總結,安排4個學時,引入聯想集團的“復盤文化”[6],即將整個項目開發(fā)過程做一個具體而全面的剖析,從而總結有利于今后工作的經驗教訓,歸納處理問題的方法,獲取新的知識和技能。
課程考核評價也針對迭代教學法的特點進行重新設計。每個版本作為一個完整獨立的階段,學生成績由每個迭代版本考核分累計組成。考慮學生適應新教學方法需要一個過程,第一版本的分值比例設定相對較低,為10%,其他版本分值比例均為20%。每個階段實施“過程考核與結果并舉、教師主導與學生主體并行”的綜合考核評價方法,即每個迭代階段的成績=平時考核20%+過程性考核30%+實踐成果考核50%。最后,每個迭代版本考核成績累加之和作為學生該課程的期末成績錄入。
3.2 每個版本的教學設計
依據教育家陶行知所提出“做中學、學中做”的教育思想,將每個版本設計成“教、學、做、演”遞進式的學習過程,通過反復學習實現知識的理解、記憶和掌握,詳見圖2。首先在“教”過程中,教師完成知識點、講義、作業(yè)的整理及編寫,傳授每個版本的專業(yè)理論知識,學生則通過聽講、問答的方式了解知識技能點,掌握其基本的使用方法;同時教師在網上學習平臺上為學生提供課程相關網址和視頻,使其通過網上資料和視頻的查閱,確保知識點的掌握。在“學”過程中,通過簡單的預研項目實驗練習,完成從“教”到“學”的過渡,使學生掌握知識技能在單個程序案例中的簡單應用,從而促進知識實質的領會,強化其“學”的能力,培養(yǎng)實際軟件項目的開發(fā)基礎。在“做”的階段,提供當前版本的開發(fā)素材,學生在原有的預研項目基礎上,通過修改和移植,把所學的知識和技能成功的應用到具體項目中,使學生完全掌握在具體項目中合理、快速地使用課程知識技能的能力。最后階段是“演”,通過學生作品展示和講解,發(fā)揮其主觀能動性,通過老師“點評”指出學生作品的設計優(yōu)缺點,使學生更加熟悉軟件項目開發(fā)中的代碼規(guī)范和設計思想。
4 迭代式教學法的教學實踐效果分析
在教學實踐過程中作者發(fā)現,教師是迭代式教學法過程中的引領者和驅動者,不僅能夠傳授學生理論知識和操作技能,更重要的是提高學生解決問題的能力,無形中培養(yǎng)學生專業(yè)實踐能力。從“教”和“學”兩個角度來評價,教師和學生都是受益者。
⑴ “教”角度
首先,教師更易實時了解學生對知識的理解和掌握程度。每個迭代階段都要求學生演示和提交當前版本的所有成果,并進行點評和打分,可及時掌握學生的學習狀況,通過整理學生的常見問題,在下個迭代版本中對教學進度和方法做適當的改進。再者,迭代式項目開發(fā)過程給學生提供一個知識融合的平臺,消除學生知識點孤立的情況,通過反復的迭代“講解+應用”這一過程,使學生的知識學習和知識應用更加緊密地結合。
⑵ “學”角度
統計和對比兩屆四個班級學生的授課情況,發(fā)現學生不管在學習的積極性還是知識掌握程度都較之前有所提高。直觀地體現在以下兩點:①學生在整個項目完成度上由傳統項目化教學法的86%提升到現在的97%;②學期間和學期末的師生溝通平臺顯示,學生對所采取的迭代式教學課程形式滿意度高,“學評教”分值提升了5個點。
5 結束語
本文結合高職院校計算機專業(yè)學生特點,根據學院學科發(fā)展的要求和學生技能職業(yè)化的準則,在程序設計類課程中引入了迭代式教學法,并以“JavaScript程序設計”課程為例闡述了具體的教學設計和過程。實踐表明,該方法能激發(fā)學生的熱情和興趣,發(fā)揮學生的創(chuàng)新能力,提高學生的實踐設計水平。筆者認為迭代式教學法也適合運用到其他計算機類專業(yè)課程中,針對課程要求和特點,在實踐過程中靈活地調整,才能不斷提高教學質量和效果。
參考文獻(References):
[1] Jiandong H, Jinyu S, Suojuan Z. Study on the iterative?teaching method in database curriculum[C].International Conferenceon Information Technology in Medicine and Education (ITME). IEEE Computer Society, Hangzhou:IEEE,2018:615-617
[2] Silveira PED, Rui GN. How to achieve better performancein teaching computer programming: Cases of iterative and recursive programming[C]. AIP Conference Proceedings. AIP Publishing LLC, 2019.2116(1):410003
[3] 盧華燈,李婷妤.基于Gitee的理實一體化迭代式項目驅動教學法應用研究[J].計算機教育,2019.7:117-120
[4] 朱忠旭,黃兵.基于案例項目的高職“軟件工程”迭代式教學法研究[J].安慶師范學院學報(自然科學版),2014.20:141-144
[5] 戴菲.基于迭代式項目教學法構建ASP.NET課程教學內容的研究[J].福建電腦,2014.30(06):152-153
[6] 柳傳志.復盤:最好的學習方式[J].新遠見,2013.7:59-61