文章編號:1672-5913(2015)07-0047-04
中圖分類號:G642
摘要:分析傳統(tǒng)計算機專業(yè)實踐類課程所面臨的問題,針對課題陳舊、技術(shù)滯后等現(xiàn)狀,提出一種基于項目導(dǎo)向的實踐類課程教學(xué)方法,指出該方法不僅可以提高學(xué)生參與實踐類課程的積極性,有助于改善教學(xué)效果,還可以為教師實施科研項目提供一定的軟件測試依據(jù)。
關(guān)鍵詞:計算機專業(yè);實踐類課程;項目導(dǎo)向教學(xué)法
0 引 言
計算機實踐類課程如程序設(shè)計、課程設(shè)計等是計算機專業(yè)的重要基礎(chǔ)性課程,對于計算機專業(yè)學(xué)生編程能力、思維模式和實踐能力的培養(yǎng)起到舉足輕重的作用。實踐類課程通常是在學(xué)生系統(tǒng)地學(xué)習(xí)某種高級程序設(shè)計語言的基礎(chǔ)上,教師通過設(shè)置和指導(dǎo)涵蓋綜合知識點的程序或軟件開發(fā)課題,期望學(xué)生通過課題的實踐鞏固高級程序設(shè)計語言語法和邏輯的一種直接而可行的方式。然而,大多數(shù)情況下,教師所設(shè)置的課題較為陳舊,多為各類信息管理系統(tǒng)或者傳統(tǒng)算法的設(shè)計與實現(xiàn),少數(shù)甚至與當(dāng)前計算機專業(yè)技術(shù)背景脫節(jié),因此導(dǎo)致學(xué)生對實踐類課程的認(rèn)知度下降,抑制學(xué)習(xí)和探索的興趣,從而影響實踐類課程的設(shè)置初衷和實際效果。
項目導(dǎo)向教學(xué)法是依托教師引導(dǎo)和學(xué)生實施而共同完成科研項目某個部分的教學(xué)方法,本質(zhì)上屬于建構(gòu)主義模式下的一種新型教學(xué)方法。著名的心理學(xué)家皮亞杰提出的建構(gòu)主義學(xué)習(xí)理論認(rèn)為,興趣對于學(xué)習(xí)的重要性不言而喻;教育心理學(xué)家認(rèn)為,學(xué)習(xí)興趣是一種力求認(rèn)識世界、渴望獲得各種知識的主觀意識傾向,這種傾向?qū)τ趯W(xué)習(xí)的效率和效果起著重要的作用。學(xué)生對課程產(chǎn)生興趣后會處于積極主動狀態(tài),可以達到自主學(xué)習(xí)的目的。教師是意義建構(gòu)的幫助者和促進者,而不是知識的提供者和灌輸者;學(xué)生是知識信息處理的主角,是意義建構(gòu)的主動者,而不是被動接收者。
在項目導(dǎo)向教學(xué)法的實施過程中,教師需要根據(jù)實踐課程的時長和學(xué)生的接收程度抽象、簡化出科研項目中具體任務(wù);學(xué)生以研究小組為單位,集體制訂研究計劃和任務(wù)分工,通過項目任務(wù)的理解、探索和解決等步驟達到提高專業(yè)技能和動手能力的目的。
1 計算機實踐類課程現(xiàn)狀及存在問題
1.1 計算機專業(yè)本科生特點
當(dāng)前計算機技術(shù)發(fā)展迅速并逐步趨于成熟,日常生活中充斥著各種計算機的應(yīng)用,極大地便利了人們的生活,因此大學(xué)生基本都具備一些計算機方面的常識,而作為計算機專業(yè)本科生則更加關(guān)注專業(yè)相關(guān)技術(shù)的最新進展及新型技術(shù)的出現(xiàn),對專業(yè)知識有著更深更廣的涉獵,重視計算機專業(yè)基礎(chǔ)課程學(xué)習(xí),在實踐類課程開始之前已經(jīng)打下良好的基礎(chǔ)。此外,教師在對計算機專業(yè)學(xué)生的培養(yǎng)上通常更側(cè)重其獲取新知識、應(yīng)用新知識、團結(jié)協(xié)作以及自主創(chuàng)新等方面能力。這些特點都為項目導(dǎo)向教學(xué)法的開展提供了必要條件,使得在實踐類課程中引入科研項目具有可行性。
1.2 現(xiàn)有教學(xué)法及缺點
現(xiàn)有應(yīng)用于實踐類課程教學(xué)的教學(xué)方法主要包括任務(wù)驅(qū)動教學(xué)法、案例分析教學(xué)法和競賽驅(qū)動教學(xué)法。任務(wù)驅(qū)動教學(xué)是以任務(wù)為主線開展的教學(xué)方法,是一種探究式教學(xué)模式,在實施步驟上與項目引導(dǎo)教學(xué)法比較類似,但是任務(wù)驅(qū)動教學(xué)通常使用背離前沿技術(shù)的課題并且在實施過程中沒有教師的主導(dǎo)參與,包括研究背景介紹、課題抽取和多指標(biāo)評價等,因此計算機專業(yè)學(xué)生的參與積極性不高,教學(xué)效果也受到限制。案例分析教學(xué)的核心是鼓勵學(xué)生表達對問題分析及解決過程的想法,通過教學(xué)雙方互動研討,學(xué)生在解決課題的實踐中掌握知識、熟練技能、側(cè)重實用,但這種方法缺乏團隊成員之間的交流和協(xié)作,沒有形成項目學(xué)習(xí)的共同體,不利于學(xué)生團結(jié)協(xié)作能力的培養(yǎng)和開放性思維的形成。競賽驅(qū)動教學(xué)法中成果評定一般都取決于最終程序的操作效果,因此學(xué)生往往關(guān)注程序的功能是否實現(xiàn),而忽略程序?qū)崿F(xiàn)方法的選擇和取舍。
1.3 項目導(dǎo)向教學(xué)法的引入
計算機實踐類課程期望能夠鞏固學(xué)生的專業(yè)知識、提高動手能力和強化創(chuàng)新意識,從而達到提高綜合實踐能力的目標(biāo),該過程中需要學(xué)生對課題具有自發(fā)的探索意愿,能夠發(fā)揮主觀能動性并學(xué)以致用,把零散知識碎片融會貫通。教師在該過程中扮演著課題提供者和引導(dǎo)者的角色,幫助學(xué)生盡快理解項目背景和課題要求,同時在學(xué)生實踐過程中對選用開發(fā)方法和軟件開發(fā)進程進行必要的管理和指導(dǎo)。項目導(dǎo)向教學(xué)法正能契合計算機實踐類課程的教學(xué),因此筆者提出一種基于項目導(dǎo)向教學(xué)法的實踐類課程改革思路。
2 基于項目導(dǎo)向教學(xué)法的實踐類課程教學(xué)
以科研項目導(dǎo)向的實踐類課程教學(xué)通常包括課題設(shè)計與引導(dǎo)、項目實施、項目驗收和教師評價4個步驟,如圖1所示。
1)課題的設(shè)計與引導(dǎo)。
首先,教師應(yīng)從科研項目中選取合適的內(nèi)容作為實踐類教學(xué)的素材,必須兼顧學(xué)生的專業(yè)基礎(chǔ)以及課題的趣味性、可探索程度、技術(shù)涵蓋面等多個方面,合理選擇教學(xué)素材是項目引導(dǎo)教學(xué)法的關(guān)鍵之一;其次,由教師介紹科研項目的研究背景和內(nèi)容,不僅可以拓展學(xué)生的視野,還可以幫助學(xué)生加快理解素材的內(nèi)容與本質(zhì);最后,教師和學(xué)生共同完成對課題的理解,教師充當(dāng)引導(dǎo)者角色,學(xué)生根據(jù)對科研項目背景的了解,嘗試以問答方式理解課題的內(nèi)容,分析出所需要運用到的技術(shù)和知識點。
2)項目實施。
首先,學(xué)生需要進行分組(5-6人為宜),各組按照課題要求指定實施計劃,計劃中應(yīng)包括項目的進度安排、個人分工和軟件總體目標(biāo)等;其次,根據(jù)軟件總體目標(biāo)進行功能模塊劃分,需要針對軟件各模塊確定需采用的算法及開發(fā)方法,必要時應(yīng)對算法及方法進行一定的優(yōu)化;最后,學(xué)生根據(jù)軟件設(shè)計結(jié)果進行實際的編碼開發(fā),開發(fā)過程應(yīng)嚴(yán)格遵守軟件工程的開發(fā)原則,當(dāng)開發(fā)完成后需要進行軟件測試,軟件開發(fā)和軟件測試一般是一個多次循環(huán)迭代的過程,即測試結(jié)果應(yīng)作為軟件修改和進一步開發(fā)的依據(jù),直至軟件測試結(jié)果符合項目的預(yù)期。
3)項目驗收。
在項目實施環(huán)節(jié)中,除了根據(jù)項目要求開發(fā)軟件外,學(xué)生還需要在制訂計劃、確定算法和方法以及軟件測試階段撰寫相應(yīng)的需求分析報告、軟件設(shè)計報告和軟件測試報告,因此項目的驗收包括對軟件成果和報告文檔的驗收,軟件成果要求程序結(jié)構(gòu)合理、邏輯清晰、模塊劃分正確和輸入輸出準(zhǔn)確,報告文檔要求內(nèi)容嚴(yán)謹(jǐn)、格式規(guī)范,能夠反映學(xué)生對項目內(nèi)容的理解和思考。
4)教師評價。
教師評價必須結(jié)合學(xué)生所開發(fā)軟件的運行結(jié)果正確性、算法巧妙性以及各類文檔規(guī)范程度等進行綜合評判,同時還必須關(guān)注每位學(xué)生在小組中的分工情況,對學(xué)生的理解能力、分析能力和動手能力進行評價,得到一個較為客觀的評價等級。
5)教學(xué)案例。
我們給出一個典型案例用以解釋該方法的具體實施過程,案例結(jié)合我們所承擔(dān)的國家自然科學(xué)基金項目“基于信號不規(guī)則性的水聲傳感器網(wǎng)絡(luò)關(guān)鍵技術(shù)的研究”,涉及水下聲通信傳感器網(wǎng)絡(luò)的部署、定位、拓?fù)淇刂萍奥酚赊D(zhuǎn)發(fā)等多項技術(shù),分為以下6個步驟。
(l)教師選取并抽象該項目中拓?fù)淇刂萍夹g(shù)的研究部分,將節(jié)點行為采用羅伯特·阿克塞爾羅德所提出的多方囚徒困境重復(fù)博弈方法:博弈雙方分別采用合作和背叛兩種行為將會得到不同的結(jié)果,如圖2所示?,F(xiàn)需要用軟件表現(xiàn)出水下節(jié)點各種行為,模擬出節(jié)點的善良性、自私性、可報復(fù)性、寬容性等典型特點,參照圖2,其中R表示雙方合作時(即節(jié)點互相轉(zhuǎn)發(fā)數(shù)據(jù)報文)得分,S表示自己合作但對方背叛時(節(jié)點為對方轉(zhuǎn)發(fā),但對方不為自己轉(zhuǎn)發(fā)數(shù)據(jù))得分,T表示自己背叛但對方合作時(節(jié)點不為對方轉(zhuǎn)發(fā),但對方為自己轉(zhuǎn)發(fā))得分,P表示雙方都背叛時(互不轉(zhuǎn)發(fā))得分。
(2)教師向?qū)W生解釋課題背景和意義、課題所需解決的主要問題及可能涉及的主要方法,指出在實施過程中可以使用的工具、語法和軟件設(shè)計方向。
(3)學(xué)生在理解課題之后需要分析問題并設(shè)計相應(yīng)的策略,分別形成需求分析報告與軟件設(shè)計報告,交由教師進行審核。
(4)學(xué)生根據(jù)步驟3中的軟件設(shè)計,完成軟件程序的開發(fā)工作,教師驗收開發(fā)成果,開發(fā)程序界面及部分核心代碼分別如圖3和圖4所示。
(5)學(xué)生使用自己程序與他人程序進行對抗,每輪對抗結(jié)束,學(xué)生還可以根據(jù)本輪結(jié)果重復(fù)步驟3和4以調(diào)整策略和改善程序,進入下一輪對抗。
(6)教師在評價學(xué)生成績時根據(jù)學(xué)生的對抗得分及在課程參與過程中分析問題、調(diào)整策略和改進程序的表現(xiàn),進行成績判定。
該項目中提取出的節(jié)點博弈課題并沒有一個標(biāo)準(zhǔn)答案,每個學(xué)生的最終得分取決于自己的程序策略和他人的程序策略,如何預(yù)測他人策略并以此設(shè)計自己的策略成為一個可以無限探索的方向。該課題是前沿技術(shù)的一部分并具有較強的趣味性,能夠引起學(xué)生積極參與課程的極大興趣,同時該程序結(jié)果也可為教師科研項目的繼續(xù)研究提供一定的實驗測試依據(jù)。
3 結(jié)語
當(dāng)前計算機專業(yè)實踐類課程存在課題陳舊、偏離前沿技術(shù)、學(xué)生積極性不高等諸多問題,影響了最終教學(xué)效果。針對該問題,筆者提出一種以科研項目為導(dǎo)向的實踐課程教學(xué)方法,在計算機專業(yè)實踐類課程中引入科研項目中的部分內(nèi)容,加以簡化抽取形成教學(xué)素材,由教師引導(dǎo)學(xué)生參與項目的研究與開發(fā),不僅激發(fā)了學(xué)生的學(xué)習(xí)興趣,提高了實踐類課程的教學(xué)效果,還使學(xué)生對前沿研究及技術(shù)有了更深的了解,提高了學(xué)生的開放性思維能力及實踐動手能力。