陳福林
不管是本科院校還是高職高專,都開設(shè)了計算機程序設(shè)計語言課程。對于非計算機專業(yè)學(xué)生,可能開設(shè)了一到兩門計算機語言課程,程序設(shè)計語言課程的開設(shè)主要是計算機等級考試或某些專業(yè)課程學(xué)習(xí)的需要;而對于計算機專業(yè)學(xué)生,少則開設(shè)了三四門計算機語言類課程,多則開設(shè)了六七門,如C語言程序設(shè)計、C++程序設(shè)計、java語言程序設(shè)計、asp.net程序開發(fā)、VB語言程序設(shè)計等課程。目前,有相當(dāng)部分高校在開設(shè)這些課程時,沿用老的模式,即只安排了課堂理論教學(xué),沒有安排實踐教學(xué)。這種傳統(tǒng)教學(xué)模式,課堂中以教師講為主,學(xué)生聽為輔,從課堂的開始到結(jié)束,都是老師在灌輸理論知識,激發(fā)不了學(xué)生學(xué)習(xí)計算機程序語言課程的興趣,最終結(jié)果就是學(xué)生理論知識既沒學(xué)好,實踐能力又差。當(dāng)前社會出現(xiàn)一種怪現(xiàn)象,每年從高校走出的畢業(yè)生高達(dá)幾百萬,比如2013年就高達(dá)近700萬,而企業(yè)在招聘時,招不到合適人才,有些學(xué)生又找不到工作,出現(xiàn)尷尬兩難問題,即學(xué)生就業(yè)難,企業(yè)招聘難。這兩難問題的出現(xiàn),其原因就在于高校培養(yǎng)的學(xué)生缺乏實踐能力及創(chuàng)新能力,無法適應(yīng)企業(yè)的要求。如何使這兩難問題得到較好解決,是各高校管理者及教育工作者必須研究的課題。筆者多年來在計算機程序設(shè)計語言類課程的實踐教學(xué)中嘗試了“任務(wù)驅(qū)動”實踐教學(xué)法,發(fā)現(xiàn)該教學(xué)法對提高學(xué)生的實踐能力及創(chuàng)新能力有很好的效果。本文就如何把“任務(wù)驅(qū)動”教學(xué)法用于計算機程序設(shè)計語言類課程的實踐教學(xué)進行了探索、分析。
計算機程序設(shè)計語言課程“任務(wù)驅(qū)動”實驗教學(xué)法,簡單地說,就是“在實驗或?qū)嵺`教學(xué)過程中,力求以任務(wù)為驅(qū)動,通過提出問題,設(shè)定實例或項目,教學(xué)過程中通過學(xué)和做,培養(yǎng)學(xué)生分析問題、解決問題的能力”?!叭蝿?wù)驅(qū)動”實驗教學(xué)法強調(diào),學(xué)生的學(xué)習(xí)活動必須與任務(wù)或問題相結(jié)合,以探索問題、解決問題來引導(dǎo)和維持學(xué)習(xí)者的學(xué)習(xí)興趣及動機,讓學(xué)生帶著任務(wù)進行學(xué)習(xí)。通俗地說,“任務(wù)驅(qū)動”實驗教學(xué)法就是要求教師在教學(xué)過程中,根據(jù)學(xué)科特點和教材的內(nèi)容設(shè)計好教學(xué)案例或項目,在教學(xué)的實施過程中,以案例或項目為線索,把教學(xué)內(nèi)容巧妙地隱含在教學(xué)案例或項目之中,從而激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的實踐能力與創(chuàng)新能力,增加就業(yè)競爭力,實現(xiàn)高校人才培養(yǎng)的目標(biāo)。
“任務(wù)驅(qū)動”實踐教學(xué)模式,既能體現(xiàn)教師為主導(dǎo),學(xué)生為主體相結(jié)合的教學(xué)設(shè)計原則,又避免了實踐教學(xué)中到底是以教為主還是以學(xué)為主的相互矛盾,同時避免了實踐教學(xué)設(shè)計中教師主導(dǎo)作用和學(xué)生主體地位體現(xiàn)的相互矛盾,即“任務(wù)驅(qū)動”實踐教學(xué)既能發(fā)揮教師的主導(dǎo)作用,又能充分體現(xiàn)學(xué)生的主體地位,能培養(yǎng)學(xué)生的實踐能力與創(chuàng)新能力。本文以Java程序設(shè)計語言實踐教學(xué)為例,探討“任務(wù)驅(qū)動”教學(xué)法在計算機程序設(shè)計語言課程實踐教學(xué)的具體實施步驟。下圖簡要歸納出“任務(wù)驅(qū)動”教學(xué)法在計算機程序設(shè)計語言課程實驗教學(xué)的實施過程。
實驗教學(xué)的實施過程圖
實踐教學(xué)是根據(jù)學(xué)科的特點,以及教學(xué)的目的和要求而開展的實踐活動。實踐教學(xué)相對于理論教學(xué),更具綜合性、直觀性和創(chuàng)新性,是培養(yǎng)學(xué)生實踐能力、創(chuàng)新能力、增強學(xué)生就業(yè)競爭力的關(guān)鍵環(huán)節(jié),是整個教學(xué)工作的一部分,其質(zhì)量好壞直接關(guān)系到人才培養(yǎng)質(zhì)量的高低。計算機程序設(shè)計語言課程是計算機專業(yè)課程中實踐性強、趣味濃的課程,要求同學(xué)們通過計算機程序設(shè)計語言課程理論的學(xué)習(xí)及實踐操作,能夠編寫程序解決實際問題。實踐教學(xué)的最終目的就是要求學(xué)生經(jīng)過三年或四年的學(xué)習(xí),使其自身的實踐能力得到加強,創(chuàng)新能力得到提升,畢業(yè)時能適應(yīng)企業(yè)的要求,實現(xiàn)順利就業(yè)。
本文提出的“任務(wù)驅(qū)動”實踐教學(xué)分為課堂實踐教學(xué)與課外實踐教學(xué)。課堂實踐教學(xué)時間一般根據(jù)課程教學(xué)大綱和課程特性來定,也可以根據(jù)課堂理論教學(xué)進度與課程內(nèi)容結(jié)構(gòu)來定。課外實踐教學(xué)時間視教師與任務(wù)設(shè)定小組而定,短則一個學(xué)期,長則一個學(xué)年。最理想的課外實踐教學(xué)時間為同步于該課程開設(shè)的時間。因為課外實踐時間短了,同學(xué)們完成不了實踐任務(wù),達(dá)不到課外實踐教學(xué)要求,而如果課外實踐時間長了,則影響教師其他課程的教學(xué)。
1.課堂實踐任務(wù)設(shè)計。課堂實踐教學(xué)的目的是檢驗同學(xué)們對理論知識的吸收、消化情況。課堂實踐教學(xué)過程中布置的實踐任務(wù)要緊跟課堂理論教學(xué),因此,教師在設(shè)計實踐任務(wù)時,必須把握好時間節(jié)點以及實踐任務(wù)的難易程度,不能照本宣科,不假思索地把課本中的例題、練習(xí)或輔助教材實踐指導(dǎo)中的內(nèi)容作為實踐任務(wù)布置給學(xué)生。設(shè)計實驗任務(wù)時,必須注意教材各章節(jié)知識點的銜接,每次所做實驗都應(yīng)該突出相應(yīng)主題,任務(wù)的難度應(yīng)該要有“樓梯式”的上升。
下面以Java程序設(shè)計語言為例,淺析課堂實踐任務(wù)的設(shè)計。Java語言是當(dāng)前最成熟的網(wǎng)絡(luò)編程語言,基于Java語言的各種技術(shù)已經(jīng)擴展到信息領(lǐng)域的每個角落。Java程序設(shè)計教程版本雖多,但內(nèi)容結(jié)果安排基本一樣:第一部分講述Java語言的特點及Java開發(fā)環(huán)境的安裝與配置;第二部分講述Java語言的基本語法及語句結(jié)構(gòu);第三部分講述Java語言面向編程的有關(guān)知識;第四部分講述Java語言的常用庫類及使用;第五部分講述Java的圖形編程及輸入輸出流知識;第六部分講述通過JDBC訪問數(shù)據(jù)庫的知識;第七部分講述Java語言的網(wǎng)絡(luò)編程知識??偠灾ㄟ^課堂實踐教學(xué)讓同學(xué)們加深對理論知識的理解,能用所學(xué)知識編些小程序。通過小程序的正確運行,讓同學(xué)有成功感,從而激發(fā)他們學(xué)習(xí)計算機語言類課程的興趣。
2.課外實踐任務(wù)設(shè)計。本文講述的課外實踐教學(xué)是指根據(jù)課堂理論的教學(xué)進度,在課堂理論教學(xué)的幾個星期內(nèi)對學(xué)生進行分組,每一小組設(shè)定一個項目負(fù)責(zé)人,然后給每小組分配不同的項目或系統(tǒng),要求學(xué)生在規(guī)定的時間內(nèi)用本學(xué)科的知識進行開發(fā)。課外實踐教學(xué)的目的是培養(yǎng)同學(xué)們使用知識的串聯(lián)能力、實踐能力及創(chuàng)新能力。課外實踐任務(wù)設(shè)計對老師提出了更高的要求。任務(wù)設(shè)計時首先要充分考慮到要完成該任務(wù)或項目涉及哪些計算機專業(yè)知識,學(xué)生是否掌握這些專業(yè)知識,規(guī)定時間內(nèi)能夠完成多大規(guī)模的“項目”,“項目”的難度是否適合,等等。課外實踐對老師自身的要求也進一步提高。教師要有很深的“項目”開發(fā)功底,對學(xué)生在項目設(shè)計、程序編寫、項目測試過程中遇到的問題要能幫學(xué)生及時解決。這種教學(xué)方式表面上看對學(xué)生的實踐能力及創(chuàng)新能力提出了高要求,實際上對參與該課程理論教學(xué)及實踐指導(dǎo)教師的要求也提高了。具體體現(xiàn)在:一是需要教師有很高的專業(yè)素養(yǎng);二是教師要有豐富的項目開發(fā)經(jīng)驗,有大量的項目庫,能夠提供多個“項目”供學(xué)生分組選擇。
不管是課堂實踐還是課外實踐,老師必須實施動態(tài)跟蹤監(jiān)控,督促學(xué)生定時定量完成實踐教學(xué)任務(wù)。課內(nèi)實踐任務(wù)可以采用抽查的辦法進行監(jiān)控。具體方法為老師采用隨機的方式對學(xué)生進行抽查,當(dāng)某位同學(xué)被抽查到時,要求其通過多媒體方式向老師和所有同學(xué)講述實驗過程,展示實驗結(jié)果,同時對程序代碼進行解釋說明。課外實踐任務(wù)可以采用定期要求學(xué)生對布置的小組教學(xué)任務(wù)進行講解和演示的方式進行動態(tài)監(jiān)控。在講解的過程中為了防止有些同學(xué)濫竽充數(shù),老師可以采用隨機點名的方法要求同學(xué)們來對項目的實施過程、完成情況進行分析、講解和展示。
為了實現(xiàn)任務(wù)實踐驅(qū)動教學(xué)的目的,提高“任務(wù)驅(qū)動”式實踐教學(xué)的有效性,在任務(wù)實踐驅(qū)動教學(xué)的過程中必須加強對學(xué)生的考核??己说姆绞娇梢愿鶕?jù)學(xué)校或院系制定的制度來進行,如可以給學(xué)生每次的實踐成績進行打分,把每次打出的分值進行累加,累加之和作為期末成績的一部分。但考核不能僅以最終的實驗結(jié)果進行評定,特別是對課外實踐,要根據(jù)學(xué)生對項目的分析、問題的分解、項目的設(shè)計、程序的編寫、實驗結(jié)果等所有環(huán)節(jié)給每個項目小組進行合理評價考核。
自2005年來,筆者根據(jù)計算機語言程序設(shè)計課程的特點,對如何運用“任務(wù)驅(qū)動教學(xué)法”進行計算機語言程序設(shè)計類課程的實踐教學(xué)進行深入的探討與研究。經(jīng)過多年“任務(wù)驅(qū)動”實踐教學(xué)發(fā)現(xiàn),利用“任務(wù)驅(qū)動教學(xué)法”進行實踐教學(xué),可以激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生問題分析、項目設(shè)計和問題解決的能力,提高學(xué)生的實踐能力、做大項目的能力及創(chuàng)新能力,最終增強就業(yè)競爭力,使學(xué)生順利就業(yè)。