張靖
摘 要:程序設計基礎課程群為后續(xù)專業(yè)課程的教學構建知識、技術和思維的基礎。本文從CDIO工程教育模式的理念出發(fā),梳理了程序設計基礎課程群的培養(yǎng)目標所要求的能力體系,構建了與之相適應的教學模式,并提出了該教學模式相對應的評價體系。
關鍵詞:程序設計;課程群;CDIO;教學改革
程序設計基礎類課程是以計算機技術為核心技術的專業(yè)領域(如數字媒體技術專業(yè))的基礎課程。典型的程序設計基礎課程群通常循序漸進的設置以下三類課程:
(1)編程基礎:通過學習一門編程語言培養(yǎng)學生基本的結構化程序設計和運行能力。
(2)面向對象程序設計:培養(yǎng)學生對現實世界的抽象能力。
(3)數據結構與算法:培養(yǎng)學生針對問題進行建模并運用計算機編程技術進行求解的能力。
程序設計基礎類課程的教學目標是為后續(xù)的高階開發(fā)、管理、運營類課程構建知識、技術和思維的基礎?;A扎實則使后續(xù)課程的教學具有較高的效率;基礎不牢則后續(xù)課程的教學事倍功半。
課程群的教學目標通過教學活動作用于學生而得以實現。傳統的教學活動中,偏重課堂講解和知識點剖析,對編程實踐重視不足;在有限的實踐操作中,驗證性實驗多而與實際應用相結合的綜合性課題少。這種情況下,一方面導致學生難以認識到相關課程的價值,另一方面也使學生的學習視野受到局限。學生學習的目的蛻化為通過考試、獲取學分,往往在學期結束后迅速將知識遺忘,無法達到為后續(xù)課程提供知識、技能和思維支撐的目的。
CDIO(構思、設計、實現與運作)工程教育模式提出了一個涵蓋12條標準的教育指導原則,集中體現了“做中學”和基于項目教學的工程教育理念。從CDIO的指導思想出發(fā),本文提出一種程序設計基礎課程群的教育改革方案,以提升相關課程的教學、推動專業(yè)教育的目標得以實現。
1 能力體系
將CDIO工程教育模式所提出的各方面能力考慮在內,將課程群能力體系歸納為以下6個項目:
(1)理論知識:概念、規(guī)則等,作為基于項目應用的程序設計實踐的認知基礎。
(2)程序設計技能:理論知識的最終作用點,運用所學的知識編寫程序實現功能并解決問題。
(3)自主學習能力:在已經具有的理論知識和實踐技能的基礎上,能動的學習新的知識、技能,同時基于自己的思考和探索解決問題的能力。
(4)系統分析、設計并實現的能力:在具有一定理論知識、編程技能的基礎上對系統進行定義描述、總體和詳細設計、編程實現以及模塊集成運行的能力。
(5)交流、表達能力:在程序設計領域進行問題陳述、觀點表達以及討論交流的能力。
(6)團隊協作能力:在系統開發(fā)中進行基本的模塊劃分、分別實現并最終集成運行的能力。
2 教學模式
圍繞“做中學”和基于項目教學的核心思想,從課程和課程群兩個層面出發(fā)綜合考量以對教學環(huán)節(jié)進行構思和設計,可以構建包含3個層次級別的項目體系:
(1)面向課程內知識單元的驗證型項目。
(2)面向單門課程、橫向涵蓋大部分知識單元的課程設計項目。
(3)面向課程群的綜合項目。
2.1 驗證型項目
驗證型項目以教師課堂教學為基礎。以每周4學時的教學安排為例,將2個學時用于教師講解知識點,2個學時用于進行驗證型項目實踐。
在2個學時的教師教學環(huán)節(jié)中,教師要首先提出基于現實的問題,自然而然的推導出本次課程的核心知識點。這實質上是對知識的產生過程進行推演、繼而建立邏輯鏈條、最終使學生認識到學習該知識的合理性,提高學習動機。隨后教師講解知識單元的細節(jié)內容。講解完畢后進行總結,并布置書面作業(yè)。在這2個學時的末尾,教師還要發(fā)布一組驗證型項目選題,并規(guī)定每個選題人數上限以防止學生抄襲。
驗證型項目的分析、設計和實現以及文檔的撰寫要求學生在課下完成。這一過程不應當侵占后續(xù)2課時的時間。后者的作用是讓學生集中起來對教師進行演示,回答教師提出的問題,在教師指導下解決遺留問題。在最后提交文檔和代碼。
2.2 課程設計項目
課程設計項目橫跨課程教學大綱所涵蓋的多個知識點。隨著教學進度的延伸,學生逐步運用當前所學習到的課程知識與技能對項目進行實現、完善和改進,最終產出一個功能完整的應用程序。
課程項目由教師提供一組適當的選題。學生每2~3人一組進行選題。小組成員對項目進行設計并劃分模塊、分解任務,并輪流在項目進展過程中擔任負責人、開發(fā)人員或測試人員。學生每周填寫一份包含工作進度及工作量表。每組選題每周形成一個可演示的版本(可運行但不要求具有完整的功能)。最終在學期末尾完成整體項目的開發(fā)。每個項目組進行演示和答辯。
2.3 課程群綜合項目
在完成課程群中全部課程的教學之后,學生理論上應當具備了開發(fā)完整軟件產品的基本素養(yǎng)。這個過程持續(xù)2~3個學期。在這個基礎上,組織一次綜合項目實踐以作為一門單獨的實踐課程。該實踐項目應當滿足以下幾點:
(1)項目選題由教師擬定(可以參考學生興趣)
(2)學生自愿結成4人左右的團隊。
(3)使用文件系統而非數據庫系統存儲數據。
(4)有教師團隊進行指導。
項目過程按照軟件工程生命周期形式進行組織,可以包含以下幾個階段:
(1)問題調研和需求分析。
(2)系統總體設計和詳細設計。
(3)系統實現和測試。
項目在結束時由教師團隊組織驗收,學生全體到場。驗收流程如下:
(1)項目組長介紹項目總體功能和設計并演示。
(2)小組成員各自介紹和演示自己承擔的任務、遇到的問題、解決方法等。
(3)回答教師團隊提出的問題。
(4)評定成績。
3 評價體系
評價體系用以客觀反映學習成果并督促學生積極參與教學活動。結合課程及課程群的教學特點,在評價體系中對課程教學和課程群綜合項目分別進行評估。
3.1 課程評價
3.1.1 紀律評價
為了維持教學秩序,需要將考勤和課堂紀律納入評估范疇,在總成績中占比為20%。
3.1.2 理論知識評價
對于理論知識掌握情況的考查,一方面跟隨教學進度,考查隨堂作業(yè)或測驗的情況,另一方面在學期末進行一次期末考試以考查學生對該門課程的全局掌握情況。兩項一共占比為40%。
3.1.3 驗證型項目評價
驗證型項目主要體現學生若干方面的個人能力。學生在每次單元項提交項目報告和源程序,并向指導教師演示項目成果。占比20%。
3.1.4 課程項目評價
課程設計項目由一組學生協作進行分析、設計、實現并迭代維護。學生隨項目進度階段提交相關文檔、報表并演示,并在項目完成之后提交最終的報告、產品。此項考查占比20%。其中,系統源代碼和程序運行結果占20%,項目開發(fā)周期中各要素占20%,小組項目報告占15%,個人項目報告占20%,答辯占15%,小組成員工作量占10%。
3.2 課程群綜合項目評價
課程群綜合項目評價,一方面考慮對其過程進行監(jiān)控和評估,一方面考慮其最終完成情況的評價,還要考慮項目組成員各自的工作情況。
各項目組最終提交所需的文檔和成果:
歷次項目會議討論的議程和記錄:
(1)各階段工作安排和工作量表。
(2)項目組報告。
(3)個人項目報告。
(4)項目源代碼以及能夠部署運行的軟件產品。
從以下方面評定實習項目成績:
(1)各次議程和記錄(15%)。
(2)源代碼及項目產品運行結果(20%)。
(3)小組成員工作量(10%)。
(4)項目組報告(15%)。
(5)個人報告(20%)。
(6)答辯情況(20%)。
4 結語
本文從程序設計基礎課程群的教學目標和能力體系出發(fā),基于CDIO工程教育模式的理念構建了新的教學模式和評價體系,幫助教師和學生雙方提高教學質量、達成教學目標。另一方面,本文構建的教學體系的具體實施還依賴于教學資源、師資力量以及學生素養(yǎng)等因素,需要在具體的教學活動中進行優(yōu)化和修正。
參考文獻:
[1]查建中.論“做中學”戰(zhàn)略下的CDIO模式[J].高等工程教育研究,2008.1-6.
[2]顧學雍.聯結理論與實踐的CDIO[J].高等工程教育研究,2009.11-23.
[3]Carolina Gallardo Pérez,Pilar Martínez García,Jesús Snchez López.Project-based Learning Experience on Data Structures Course[J].IEEE Global Engineering Education Conference.2011.561-566.
[4]孫浩軍,孫梅,熊智.計算機專業(yè)基于課程群的 EIP-CDIO 項目設計[J].計算機教育,2010.101-106.