李忠成
(浙江萬里學(xué)院 基礎(chǔ)學(xué)院, 浙江 寧波 315100)
程序設(shè)計是通過程序語言編寫進而驅(qū)動電腦正常運行的一種模式。在高等院校中,程序設(shè)計課程的宗旨是讓學(xué)生掌握高級程序設(shè)計語言的基礎(chǔ)上,能獨立完成基本的計算機問題求解,并獲取程序設(shè)計的技巧,最終實現(xiàn)問題的求解。程序設(shè)計十分復(fù)雜,在問題提出、編寫代碼以及相關(guān)測試和調(diào)試環(huán)節(jié)中都需要十分精準,專業(yè)的性能,對于培養(yǎng)學(xué)生邏輯思維能力方面具有不可替代的作用[1]。
(1)程序設(shè)計具有語言工具屬性。高校程序設(shè)計課程作為一門專業(yè)技術(shù)學(xué)科,具有顯著的工具屬性功能。要想在計算機工作中設(shè)計出標準的程序,需要反復(fù)練習(xí)和訓(xùn)練。只有進行大量程序設(shè)計實踐,才可能將理論知識與實踐有效銜接,為將來就業(yè)奠定堅實基礎(chǔ)[2]。
(2)程序設(shè)計過程不可肢解。程序設(shè)計包含三個方面內(nèi)容,分別為算法、數(shù)據(jù)結(jié)構(gòu)和程序語言。無論在設(shè)計中面對何種問題,都需要遵循其固有的特征和規(guī)律。例如在計算圓的面積中,首先要將半徑和面積做好儲存,并做對應(yīng)算法的程序調(diào)試,以確保在求圓面積時只需輸入半徑即可。這也證明了程序設(shè)計過程具有不可肢解的特征,還要做好相關(guān)調(diào)試工作,才能使計算機正確識別并得到正確的結(jié)果[3]。所以說,高校程序設(shè)計課程是一個兼具算法、數(shù)據(jù)結(jié)構(gòu)以及程序語言的完整綜合體。
(3)程序設(shè)計具有極高的邏輯思維特點。在解決所面臨的問題時,方案的制定要與問題實時對應(yīng),可以說程序設(shè)計并沒有過多的固定套路,很多時候還需要靈感驅(qū)動,在程序設(shè)計中,對于學(xué)生理解和把握問題能力要求很高,在選擇表達數(shù)據(jù)問題和調(diào)試中,還需要極高的邏輯思維,需要學(xué)生能夠獨立思維并自主完成[4]。項目研發(fā)工作十分艱巨,既需要大量的人才、技術(shù)和知識保障,還應(yīng)確保系統(tǒng)運行性能的穩(wěn)定,方便維護。在設(shè)計的過程中,學(xué)生要確保與項目的功能相吻合,做好周密嚴謹?shù)脑O(shè)計,培養(yǎng)責(zé)任心和團隊協(xié)作意識,使程序設(shè)計高級邏輯思維的優(yōu)勢全部表現(xiàn)出來[5]。
隨著社會對應(yīng)用型人才需求的提高,高校計算機教學(xué)工作迎來了機遇和挑戰(zhàn)。高等教育始終強調(diào)素質(zhì)教育,而如何開展素質(zhì)教育卻成為了長期困擾教育工作者的難題,這也是高校教學(xué)改革重點關(guān)注的課題之一[6]。在長期的改革實踐當(dāng)中,專家和學(xué)者逐漸認識到傳統(tǒng)理論教育灌輸?shù)谋锥?,通過借鑒國外教育的先進經(jīng)驗和成果,結(jié)合我國實際,在程序設(shè)計課程當(dāng)中將理論與實踐有機結(jié)合,通過大膽教學(xué)創(chuàng)新為學(xué)生提高綜合素質(zhì)奠定堅實基礎(chǔ)。模塊化教學(xué)憑借其突出的優(yōu)勢,能夠有效將理論知識、實踐經(jīng)驗、操作技能同步,特別注重能力培養(yǎng),是突破以往知識傳授模式的重要途徑[7]。在高校程序設(shè)計課程當(dāng)中,構(gòu)建以模塊教學(xué)為基礎(chǔ)的課程體系,既可以提高教學(xué)組織的有效性,降低教育成本,關(guān)鍵是有助于校際合作與資源共享。由于模塊化教學(xué)與傳統(tǒng)教學(xué)的側(cè)重點具有顯著的區(qū)別,尤其是教學(xué)方法、內(nèi)容和理念方面存在很大的不同。
模塊化是一個單位課程內(nèi)容的總稱,即在形式上相對獨立而卻自成一體的教學(xué)單位。這一模塊包含有教學(xué)和實訓(xùn)內(nèi)容。在起點與終點的模塊間分界十分顯著。模塊化的教學(xué)功能意義很顯著,可以為教學(xué)目標作動態(tài)調(diào)整,目的是為了獲取更長遠的目標和使命。由于課程模塊化在實施過程中多以教育教學(xué)、管理功能分析為基礎(chǔ),充分考慮了課程編制和課程實施,人才培養(yǎng)目標更加明確。通過課程模塊庫的組合嵌入,課程體系能夠更加高效融入到專業(yè)課程體系之中,實現(xiàn)了專業(yè)教學(xué)的快速修訂[8]。此外,高校程序設(shè)計課程引入模塊化教學(xué)的優(yōu)勢還在于規(guī)范中心模式,確保每個操作步驟能夠反映出所對應(yīng)的技能和認知態(tài)度,使學(xué)生能持續(xù)儲備所需的知識、技能和思維。當(dāng)然在模塊化教學(xué)中,課程組織實施的針對性更強,能深入到課程的每一個細節(jié),這也是模塊化教學(xué)的優(yōu)越所在。面對模塊化教學(xué)的獨特功能,在設(shè)計的前期應(yīng)將教學(xué)系統(tǒng)作為一個有機整體關(guān)系,確保不同要素及相互間關(guān)系的融洽[9〗。模塊設(shè)計條理清晰,內(nèi)容邏輯嚴密,教學(xué)環(huán)節(jié)是獨立的,有助于教師進行修正。模塊化教學(xué)已經(jīng)成為新時期高校程序設(shè)計教學(xué)改革的重要內(nèi)容。
(1)符合人才培養(yǎng)規(guī)律。我國幅員遼闊,高校數(shù)量眾多,地域分布特點明顯。不同高校具有自身特色的培養(yǎng)理念和目標,但本質(zhì)上都是將人才培養(yǎng)質(zhì)量作為首要目標,即培養(yǎng)社會所需的綜合型、創(chuàng)新型和應(yīng)用型人才。通過實施模塊化教學(xué)可以顯著提升程序設(shè)計教學(xué)效果,符合人才培養(yǎng)規(guī)律。
(2)確保學(xué)生技術(shù)實踐能力的形成。近年來,社會人才需求逐漸向技術(shù)實踐能力轉(zhuǎn)變,學(xué)生要想在激烈的競爭處于優(yōu)勢,必須要活學(xué)活用,在獲取最關(guān)鍵理論技能的同時,還要具備較強的實踐思考能力,在價值觀和專業(yè)技能等方面保持領(lǐng)先地位。程序設(shè)計課程十分復(fù)雜,且晦澀難懂,學(xué)生要想在大學(xué)期間掌握該課程具有一定的難度,需要教師優(yōu)化教學(xué)方法,做好學(xué)生的引導(dǎo),創(chuàng)造與之對應(yīng)的實踐空間和氛圍,組織相關(guān)知識的實踐訓(xùn)練,使培養(yǎng)的學(xué)生綜合素質(zhì)提升[10]。
(3)激發(fā)學(xué)生學(xué)習(xí)動機。伴隨著大學(xué)擴招的持續(xù)進行,學(xué)生生源質(zhì)量呈現(xiàn)差異化。學(xué)生的學(xué)習(xí)興趣不濃,一些學(xué)生甚至對程序設(shè)計課程產(chǎn)生抵觸心理,制約了課程教學(xué)的效果。為了改變這一現(xiàn)狀,應(yīng)該從學(xué)生動機入手,打破常規(guī),融入職業(yè)情境和職業(yè)實景當(dāng)中。模塊化教學(xué)方式十分新鮮,符合學(xué)生認知需求特征,是激發(fā)學(xué)習(xí)動機的好的選擇。
為了確保程序設(shè)計課程的效果,滿足不同層次學(xué)生的個性化學(xué)習(xí)需求,在借鑒了軟件項目公司的成功經(jīng)驗后,設(shè)計出如下實驗項目管理平臺。在該平臺中師生之間的關(guān)系是互助和協(xié)作的。
(1)項目開發(fā)管理平臺。在項目管理平臺的開發(fā)前期,確定服務(wù)功能,在軟件工程項目管理環(huán)節(jié)中,利用SVN工具搭建真實項目開發(fā)環(huán)境。由于SVN具有開放源代碼的特點,能為項目研發(fā)帶來開發(fā)版本控制工具的支撐保障。還要專門開設(shè)賬號,讓每一位同學(xué)都有自己的參與空間。通過代碼提交到服務(wù)端,師生可以同時對版本進行控制,教師能借助該工具審閱學(xué)生的最新研發(fā)成果。
(2)項目基礎(chǔ)培訓(xùn)。在項目基礎(chǔ)培訓(xùn)中,應(yīng)該確保實驗環(huán)境簡單化,讓學(xué)生能以最佳的狀態(tài)融入到軟件研發(fā)項目當(dāng)中。教師還需讓學(xué)生了解團隊合作研發(fā)項目的重要性,將動態(tài)鏈接庫以及項目工程的概念及時傳授給學(xué)生。當(dāng)基礎(chǔ)培訓(xùn)結(jié)束后,即可以獨立完成項目培訓(xùn)時,鼓勵學(xué)生進行傳幫帶,確保新加入的學(xué)生能夠快速掌握程序設(shè)計知識。
(3)項目設(shè)計。在程序設(shè)計中,模塊化應(yīng)用顯得尤為重要。它需要在選型上與需求項目保持對應(yīng),從健全設(shè)計角度出發(fā),使組織方式更為切合實際。在項目進程中,完整項目可以分解為相對獨立的模塊,不同模塊之間要有完整的接口說明。
(4)層級團隊建設(shè)。在高校程序設(shè)計課程中,模塊化教學(xué)法的引入還需要項目研發(fā)團隊的保障。在專業(yè)團隊的保障下,才會確保軟件研發(fā)具有一定的層次和等級。層級團隊建設(shè)還要從長遠出發(fā),不斷培養(yǎng)學(xué)生向上的理念,教師要做好指導(dǎo)工作,督促學(xué)生完成好各環(huán)節(jié)的設(shè)計工作。
(5)項目的實施。在模塊化教學(xué)方法引入過程中,教師要做好宏觀的把握,以項目經(jīng)理或用戶的角色全程參與設(shè)計。既要做好文檔、概要設(shè)計等基礎(chǔ)工作,又要整體把握設(shè)計的質(zhì)量和進度。在設(shè)計中教師還要與學(xué)生多交流,并提出建設(shè)性意見,使得項目能夠順利通過驗收。
(6)管理考核機制的完善。通過程序設(shè)計模塊化教學(xué)方法的敘述,表明程序設(shè)計項目是可行的,也證實了項目開發(fā)模塊化的必要性。為確保項目達到預(yù)期的目的,在管理考核機制方面應(yīng)加大力度,采取創(chuàng)新加分機制,使學(xué)生成績與創(chuàng)新分有效對接。創(chuàng)新分還要與教師的年終考核掛鉤,通過師生共同努力,完成體系的建設(shè)任務(wù)。
以C語言程序設(shè)計為例,對模塊化教學(xué)的引入做了如下實踐探索,在各實際層面都介入模塊化理念,循環(huán)結(jié)構(gòu)化特征十分明顯。
(1)采用層次化實驗教學(xué)內(nèi)容.一是,將教學(xué)重點集中在算法模型的分析上,詳細闡述程序的設(shè)計思想,為循環(huán)結(jié)構(gòu)設(shè)計奠定基礎(chǔ)。二是,在算法模型的構(gòu)建中,要讓學(xué)生掌握具體分析方法建立算法模型。借助大量上機實驗有助于C語言程序循環(huán)結(jié)構(gòu)的掌握。三是,根據(jù)實驗指導(dǎo)書要求,明確設(shè)置對應(yīng)的實驗,以實驗?zāi)康臑檩o助,確保達到實驗和試驗效果。實驗課的難度要適中,多以驗證性實驗內(nèi)容為主。
(2)實施多元化實驗教學(xué)管理。一直以來,學(xué)生都會對do while循環(huán)語句、for語句以及do loop循語句等形式語句的掌握有一定難度,伴隨大量錯誤系統(tǒng)關(guān)鍵字的出現(xiàn),影響了程序設(shè)計的教學(xué)效果。其原因在于學(xué)生在語法掌握方面基礎(chǔ)并不扎實,需對教師的指導(dǎo)提出了更高的要求。教師應(yīng)該實施多元化實驗教學(xué)管理,將循環(huán)結(jié)構(gòu)出現(xiàn)的問題分層次加以克服,實現(xiàn)循環(huán)結(jié)構(gòu)語句更加優(yōu)化。
(3)強化實驗教學(xué)組織。在程序設(shè)計實驗課程中,為發(fā)揮模塊化教學(xué)的功效,還需采取靈活的方式,結(jié)合學(xué)生的基本情況,將自然教學(xué)班級重新分組,分為綜合性實驗組和驗證性實驗組。通過分層后的小組管理,使傳統(tǒng)教學(xué)模式得到了優(yōu)化和改進,學(xué)生在劃分后的小組內(nèi)彼此幫助和協(xié)作,快速掌握程序設(shè)計知識。實踐小組控制在4-5人,既便于管理和指導(dǎo),學(xué)生也能更好地掌握設(shè)計語句。
(4)推進實驗教學(xué)效果的評價。在學(xué)生的反饋環(huán)節(jié)中,需進行模塊化評價機制的引入。對于一般驗證性實驗,可考慮實施三個等級的評價,即分為A,B,C三等,結(jié)合學(xué)生的設(shè)計能力和綜合性實驗結(jié)果進行量化打分。根據(jù)具體問題,評價模式還需要根據(jù)學(xué)生設(shè)計思路、完成比重以及難度系數(shù)進行綜合評價,確保讓每一個學(xué)生通過評價反饋認識自身的不足,在此后的程序設(shè)計中加以克服和改進。
高校程序設(shè)計課程具有極其重要的作用,對于學(xué)生就業(yè)和成長的影響很大。實施模塊化教學(xué)改革十分必要。隨著社會用人需求的變化,如果高校計算機專業(yè)畢業(yè)生不具備真才實學(xué),將無法在激烈的競爭環(huán)境中生存下去。高校教師要以人才的能力培養(yǎng)為重點,重視模塊化教學(xué)改革提高學(xué)生解決實際問題的能力。