黑龍江 王智慧
工程任務(wù)課程化在軟件編程課程中的應(yīng)用
黑龍江 王智慧
工程任務(wù)課程化是在教學(xué)過程中以實際項目為教學(xué)主線展開,把相關(guān)的知識點融入到項目的各個環(huán)節(jié)中。本文采用工程任務(wù)驅(qū)動教學(xué)法對軟件編程課程的意義和實施進(jìn)行了探討。
工程任務(wù)課程化;工程任務(wù)
作為一名高職高專的計算機教師在長期的教學(xué)中筆者深深的感到傳統(tǒng)的教學(xué)方法往往拘泥于對課程知識結(jié)構(gòu)的分析,注重于每一個知識點的講解,學(xué)生缺少綜合應(yīng)用知識點的訓(xùn)練。特別是對于程序語言課程來說,如果僅注重書本中知識點的學(xué)習(xí)和單一實例的練習(xí),其結(jié)果往往是學(xué)生在學(xué)了一大堆語法基礎(chǔ)、編程思想等知識之后,仍然對如何開發(fā)實際項目很茫然。傳統(tǒng)教學(xué)方法已經(jīng)難已滿足軟件類專業(yè)課程的教學(xué)要求,要改善教學(xué)效果,培養(yǎng)學(xué)生實踐動手能力,就要對現(xiàn)在的教學(xué)方法進(jìn)行改革。將實際工程任務(wù)引用到軟件類專業(yè)教學(xué)實踐中是一次很好的嘗試,本文結(jié)合筆者近年教學(xué)工作實際,對該方法的實施過程、教學(xué)效果進(jìn)行了探討。
所謂工程任務(wù)課程化教學(xué)法是指在教學(xué)過程中以一個實際項目為主線來展開,把相關(guān)的知識點融入到項目的各個環(huán)節(jié)中去,層層推進(jìn)項目。通過對問題的深化或功能擴充,來拓寬知識的廣度和深度,直至得到一個完整的項目解決方案,從而達(dá)到學(xué)習(xí)知識、培養(yǎng)能力的目的。
工程任務(wù)課程化教學(xué)方法是一種具有系統(tǒng)性、多樣化、實用化的教學(xué)方法,其主要思想是將工程任務(wù)分解為與各章節(jié)知識相關(guān)的一個個任務(wù)交給學(xué)生,學(xué)生在教師的指導(dǎo)下,按照實際工作的完整程序進(jìn)行信息搜集、項目決策、項目實施、系統(tǒng)評測、評估總結(jié)的過程。與傳統(tǒng)教學(xué)法相比,該方法強調(diào)“學(xué)生為主體,教師為主導(dǎo)”的思想,學(xué)生是認(rèn)知的主體,是知識意義的主要建構(gòu)者。對于計算機軟件類專業(yè)課程而言,如程序設(shè)計課程,工程任務(wù)課程化教學(xué)方法的思路是將一個完整的軟件開發(fā)項目貫穿于整個教學(xué)過程中,以項目的構(gòu)建過程為主線安排教學(xué)進(jìn)度,教學(xué)過程由項目分解后的各個任務(wù)驅(qū)動。教學(xué)實踐中,學(xué)生參與到一個實際項目的分析、設(shè)計、實現(xiàn)全過程中,教師指導(dǎo)學(xué)生分析項目及任務(wù)內(nèi)容,學(xué)生通過實踐教學(xué)環(huán)節(jié)勤學(xué)苦練,在任務(wù)完成或整個項目完成后,通過學(xué)生自評、互評和教師評價發(fā)現(xiàn)問題,并分析找到解決問題的方法,加以實施,實現(xiàn)了“教、學(xué)、練、評”的有機結(jié)合。在這個過程中學(xué)生不僅完成了理論知識的系統(tǒng)學(xué)習(xí),而且從整體上掌握了課程的精髓,將理論知識與開發(fā)實踐活動結(jié)合起來,提高了在實際工作中分析問題、解決問題的能力,同時也培養(yǎng)了學(xué)生自主學(xué)習(xí)能力和團隊協(xié)作精神。
(一)工程任務(wù)的選擇
課程教學(xué)以一個與企業(yè)需求為目的的實際項目為引導(dǎo),但對于軟件類專業(yè)的學(xué)生而言項目僅僅是一個抽象的概念,他們還無法將課程知識與具體項目有機聯(lián)系起來,因此,如何選擇項目對于課程教學(xué)實施的成功與否至關(guān)重要。所以工程項目的選擇就需要包括多方面的知識,并有針對性的選擇項目。項目不宜過大,也不宜過小。應(yīng)選擇覆蓋整個課程知識體系的,且難易適中的項目。
(二)工程任務(wù)的模塊劃分
項目選擇后,教學(xué)的實施就變成了教學(xué)內(nèi)容和教學(xué)項目開發(fā)過程的研討和講解,又是實訓(xùn)項目開發(fā)的引導(dǎo)。這時候教師就可以根據(jù)課程知識點和軟件項目的特點進(jìn)行功能模塊的分解,將一個軟件項目分解為一系列的問題即任務(wù)。這種分解應(yīng)是多維的,橫向來看這一系列任務(wù)組合起來應(yīng)具有項目的完整性、系統(tǒng)性和課程知識的全局性,縱向來看每一個任務(wù)都是課程知識點的不同集合,具有一定的相對獨立性。通過分解過程后,一個完整的項目被劃分為更容易理解的子模塊,而且課程知識點也融入到了各個子模塊中,不僅使學(xué)生在完成模塊任務(wù)的同時也掌握了知識點,又可充分調(diào)動學(xué)生學(xué)習(xí)的主動性,提高學(xué)習(xí)效率。
(三)教學(xué)過程實施
全課程以核心內(nèi)容貫穿,同時每次課也從有關(guān)的實際問題入手,由實例引入本堂課的內(nèi)容。這樣,無論是對整個課程還是對每堂具體的課程,學(xué)生的學(xué)習(xí)目標(biāo)都十分明確、具體。教師授課時把這部分知識與能完成項目模塊的知識點緊密的聯(lián)系起來,使學(xué)生在明確任務(wù)的同時產(chǎn)生濃厚的興趣。還有就是教師要明確每次項目拓展所引出的程序設(shè)計中的知識點及學(xué)生應(yīng)掌握的技能,使其能夠涵蓋章節(jié)中程序設(shè)計的所有基本內(nèi)容。如完成存儲模塊設(shè)計時,必須學(xué)習(xí)以下知識:掌握文件的建立、打開、讀、寫等操作;系統(tǒng)的數(shù)據(jù)輸入、修改、查詢、統(tǒng)計、輸出等功能,必須掌握函數(shù)的調(diào)用;數(shù)據(jù)內(nèi)容的組織涉及數(shù)組、結(jié)構(gòu)體、鏈表,必須掌握數(shù)組、結(jié)構(gòu)體、鏈表等數(shù)據(jù)對象的操作;每一個模塊設(shè)計時還必須設(shè)計算法控制流程,掌握不同的流程圖表示方法。教學(xué)的實施過程就是教學(xué)內(nèi)容和教學(xué)項目開發(fā)過程的講解,又是實訓(xùn)項目開發(fā)的引導(dǎo)。整個過程充分體現(xiàn)以學(xué)生為主體,教師為主導(dǎo)的特點。
(四)教學(xué)的評價
以往的教學(xué)考核是以理論考核為主即筆試,而試題都是一些標(biāo)準(zhǔn)化的試題。為了考取一個好的成績,學(xué)生只是機械地背誦一些概念。這樣的考核方式使學(xué)生失去了對學(xué)習(xí)的興趣,也屏蔽了學(xué)生的動手能力。而工程任務(wù)課程化教學(xué)方法要想實現(xiàn)由“知識考核”向“能力考核”轉(zhuǎn)變,軟件開發(fā)類課程的考核形式采取“項目設(shè)計”的方式是最佳的選擇。在教學(xué)結(jié)束后,由同一課程學(xué)習(xí)的同學(xué)和任課教師組成答辯小組。被考核同學(xué)完成答辯后,由全體同學(xué)和教師根據(jù)程序設(shè)計、程序講解、答辯三個方面分別給出評價。學(xué)生評價的平均分占該同學(xué)課程成績的30%,教師評價的平均分占該同學(xué)課程成績的70%。
通過工程任務(wù)課程化教學(xué)法在軟件課程教學(xué)中的實施,提高了學(xué)生學(xué)習(xí)的積極性,培養(yǎng)了學(xué)生實踐應(yīng)用能力和團隊協(xié)作精神,實現(xiàn)了教學(xué)培養(yǎng)目標(biāo)。經(jīng)過一年教學(xué)實踐檢驗,工程任務(wù)課程化教學(xué)法在改善教學(xué)效果、提高教學(xué)質(zhì)量方面取得了一定成效,并且使學(xué)生在就業(yè)競爭力和工作能力方面都得到了加強,特別是參加了實際項目開發(fā)的同學(xué)能夠很快進(jìn)入崗位角色,并在學(xué)習(xí)過程中設(shè)計完成的項目給企業(yè)帶來了實惠,學(xué)生也有了一些收入。
[1]羅凌.基于項目驅(qū)動的“ASP.NET程序設(shè)計”課程創(chuàng)新教學(xué)法研究[J].計算機教育,2009(13).
[2]李天飛.淺談計算機教學(xué)現(xiàn)存的問題及對策[J].科教文匯(下旬刊),2009(5).
[3]史志才.軟件工程專業(yè)人才培養(yǎng)模式的改革與創(chuàng)新[J].大連大學(xué)學(xué)報,2005(6).
[4]曹春華.高職軟件開發(fā)課程考核模式的探索與實踐[J].電腦知識與技術(shù),2008(25).
(編輯 李艷華)
(作者單位:齊齊哈爾工程學(xué)院)