屈微++姚琳++武航星++張敏++萬亞東
摘 要:通過分析高校計算機教育的培養目標,提出基于游戲編程的計算機實踐教學模式,具體說明在新的實踐教學中如何實現計算思維和工程能力的培養,結合開設的具體項目設計及實現過程,說明新實踐教學模式實施的效果并總結課程反饋情況。
關鍵詞:實踐教學;程序設計;計算思維;工程能力;量規
0 引 言
傳統的程序設計實踐課程教學目標通常設定為綜合已學習的理論知識,提高編程解決實際應用問題的能力,初步掌握計算機應用程序設計的一般方法?;诖四繕说慕虒W設計存在以下問題:學生對教師給定的題目進行驗證性編程,題目只是加大了平時上機實驗難度和程序代碼量,缺乏思維性訓練;課堂理論教學加上機實驗的傳統教學形式使得知識點僵化,學生創新能力培養不足;教師根據學生出勤和實踐報告給出評分,無法實現過程表現性評價和有效激勵。
1 高校計算機教育培養目標
隨著計算機技術的發展,高等學校計算機教育不再是計算機普及教育和單一技能傳授,需要轉變為能力、素質、思維和文化的綜合培養,特別要著眼于以下兩個方面。
一是計算思維的培養。計算機技術已經發展到“復雜信息系統時代”,計算機教育的目標不再是傳播計算機技術,而是傳播計算思維,即“通過計算機教育,學生學會如何像計算機科學家那樣思考”[1]。教育部制定的《大學計算機基礎課程教學基本要求(2015)》提出大學計算機基礎教學的總體目標是“大學生通過學習應能夠理解計算學科的基本知識和方法,掌握基本的計算機應用能力,同時具備一定的計算思維能力和信息素養?!庇嬎銠C程序設計課程不再局限于對程序執行性能、代碼復用性等編程技術的訓練,而要關注問題的計算機建模,引導并訓練學生利用計算思維提高解決專業問題的能力,培養學生跨學科范圍的“計算”意識,自主地將計算思維應用到本專業領域的學習研究中,提高專業相關知識發現、問題處理和科學創新能力。
二是工程能力的培養。2016年教育部《中國工程教育質量報告》要求“高等教育‘回歸工程,把學生能力培養當做工程教育質量之本,指出學生工程實踐能力薄弱是當前工程教育的顯性‘短板。工程教育應切實扭轉科學化傾向,把學生能力培養當做質量之本。”高等教育作為培養創新型工程科技人才的重要平合,其模式正在轉變為工程范式下的工程教育模式。此外,新一輪科技革命和產業變革對高等工程教育提出了新的、更高的要求,需要加強“知識結構、能力結構、創新素質和創新精神” 4個方面素質的培養,尤其需要具備跨界創新能力的工程技術人才,這類人才需要跨學科、跨專業和跨文化的“跨界培養”[2]。
2 基于游戲編程的計算機實踐教學模式建立
近年來,國內計算機教育界對計算機游戲形式教學展開研究,一些學者探討了這種形式對程序設計課程教學的影響[3]。2013年開始,我們對計算機實踐課程開展全面教學改革,探索一種基于游戲編程、突出計算思維和工程能力一體化培養的計算機實踐新教學模式。新教學模式基本思路是訓練學生運用計算機思維,遵循軟件開發流程,借助程序設計語言將計算問題轉變為計算機程序,實現解決各學科領域的計算問題?;谟螒蚓幊痰挠嬎銠C實踐,設定的待解決問題為編寫一個可運行的游戲,即基于游戲和動畫界面的C、C++和Java語言綜合實驗教學平臺,開發互動式游戲或應用系統。教學改革包括設立計算思維和工程能力一體化培養的教學目標,確定以計算思維模式為主的教學內容,采用基于教學游戲開發流程的教學形式和配套包含表現性評價的考核體系。新教學模式建立思路和過程如圖1所示。
3 新實踐教學模式中計算思維和工程能力的培養
3.1 教學目標
新實踐教學模式的總體教學目標是突出計算思維和工程能力培養,使學生了解計算思維的概念,建立運用計算思維解決問題的思想,掌握游戲編程中典型計算思維模式的內涵及實現算法,并能夠將游戲中的計算思維模式擴展應用到專業問題的解決和建模仿真中;使學生建立初步的工程意識,了解工程技術人才應具備的基本素質,掌握工程項目控制流程、團隊合作和協調分工的工程實施方法。
3.2 教學內容和形式
新實踐教學模式的教學內容包括計算思維模式和軟件工程基礎理論兩個方面。
國際教育技術協會(ISTE)和計算機科學教師聯合會(CSTA)提出了建立計算思維的可操作定義,即在解決問題的過程中,如果包含下述特征,即體現出計算思維的建立[4]:①以使用計算機解決問題為目的,對待解決問題進行規劃;②通過算法思維,即一系列有序步驟,自動求解問題;③對一個問題求解的計算思維過程可以推廣和轉化到更多問題求解。
計算思維模式可以進行具體分類,包括碰撞、吸收、產生、拉、推、查找、輪詢檢測、協同擴散、認知/行為同步等[5],其中,前5種是基本計算思維模式,作為課程重點內容。將計算思維模式實例化融入每個項目編程中作為可實施的具體教學內容,見表1。各專業對計算思維模式的要求不同,還需要進一步確定具體教學內容。我們在實際應用中初步實現了與自動化專業過程控制建模仿真軟件Matlab的結合,與材料科學專業材料分析建模軟件Ansys的結合。
新教學模式中游戲項目的設計和實現過程是完整的軟件開發及運行過程,將軟件工程的基本知識納入教學內容,能夠實現工程的概念和工程意識的建立并保證教學進度的正常推進。具體教學內容側重開發流程和文檔編輯兩個方面,包括項目開發流程,即項目開發背景、需求分析、總體設計、詳細設計、代碼實現及測試、打包部署等相關內容以及經典的瀑布模型[6]。
商業游戲生產基于軟件工程流程,屬于軟件開發范疇,但教學與商業開發不同,學生缺少開發經驗,投入的時間精力不足,因此教學中應精簡開發流程,建立一套以學生執行為主、教師指導監督的教學游戲開發流程,作為教學實施方法和推進方式。教學游戲開發流程包括項目啟動、項目運行管理、項目質量管理、項目驗收評審4個環節,在各個環節中教師和學生分擔不同的角色和任務,兩者結合構成完整的工程實施過程。學生處于主體地位,擔任項目開發的主要任務,包括啟動階段的部分任務以及運行管理和質量管理的全部任務;教師承擔輔助角色,任務是題目審查和驗收方案制訂。教學游戲開發流程及角色分配如圖2所示。endprint
為保證教學實施的有效性,適時增加中期檢查、預答辯等環節,增進組間的交流討論,有助于調整工程進度和項目順利完成,同時可以提高學生對工程的控制意識和能力,幫助學生了解工業生產過程管理方式。
3.3 考核評價及激勵機制
教師應建立與教學內容相對應的考核評價和激勵機制,包括以下幾方面。
(1)評價計算思維模式的使用:制訂項目中計算思維模式使用種類、次數、質量和效果4個方面的量化指標,給出分級評分。
(2)評價項目最終成果:根據學生提交的游戲項目文檔,結合PPT答辯和成果展示,給出評分。
(3)評價課程中學生表現:設計表現性評價方法,建立評價量規[7]。
(4)實施有效的激勵機制:采用組織競賽評獎和作品展示方式,促進學生相互競爭,激發學生的主動性和積極性。
4 新實踐教學模式實施和效果
4.1 新教學模式實施
自動化專業是工程性、實踐性和綜合性較強的工科專業。2016年暑期,我們選擇自動化專業試點實施新教學模式。課程共3周,60學時,授課對象是已修C語言程序設計的自動化專業學生,具體實施過程如下。
(1)選擇結合自動化專業的計算思維模式。將自動化過程建模軟件Matlab與游戲編程中一致的計算思維模式實例化到實踐教學過程中,培養建立專業性計算思維。例如,Matlab編程中的矩陣處理與游戲編程中的二維和三維地圖建立具有一致性計算思維模式;自動化過程控制仿真中消息傳遞和處理與游戲編程的碰撞計算思維模式具有一致性等。
(2)分組選題。按自愿原則建立合作式小組,自定組長,組長分配任務并帶領組員執行各個階段的任務。教師對各組實行目標管理,只檢查各組最終運行結果。組內具體運作則由內部自行協調,教師只在必要時提出建議,培養學生的團隊合作精神及協調工作能力。各組根據教師給定的范圍和建議,在規定時間內選定題目,經教師認可啟動項目。
(3)工程化項目管理。教師在實施選題、中期、預答辯、驗收等環節,引導學生遵循軟件工程思想,關注和控制工程進度,分階段進入開發的各環節,在游戲開發過程中采用經典軟件開發瀑布模型;從實體設計包括場景建立、地圖形成、精靈控制和效果添加,到代碼建立、修改運行測試的軟件設計,從無到有,最終形成一個分階段控制的工程。
(4)考核評價。強調工程意識的項目驗收,教師對學生提交的項目文檔、PPT答辯和計算思維模式的量化應用給出評分;對項目中的個人表現實施表現性評價,綜合教師和同組成員之間兩方面評分,量規包括團隊合作分、組員完成所承擔任務情況及質量、是否盡了最大的努力、組員間合作時的表現、參與會議的出勤情況及發言情況等。
(5)通過各種形式展示優秀作品,實現激勵機制并為課程實施的良性循環提供準備。游戲平臺提供商評定優秀作品并給予獎金激勵;將優秀作品實踐報告整理修改,作為下一屆學生的項目參考案例文檔,并在課程網站宣傳和在微信公眾號推廣。
4.2 教學效果反饋
對參與課程的5個班150人實施全樣本問卷調查,發現認為參加實踐課程對培養團隊合作精神十分有效的占62.75%,一般有效的占29.41%,僅僅了解的占7.84%;對游戲編程中計算思維模式的體驗,認為十分顯著的占64.71%,效果一般的占31.37%,不深刻的占3.92%;對使用C程序設計語言開發項目方面的成就感,認為十分顯著的占66.67%,效果一般的占25.49%,不深刻的占7.84%。另外,要求每個學生項目驗收報告中包括不少于800字的感受。粒子闖關游戲的設計者這樣描述其對計算思維模式學習和使用過程的感受:“……而粒子的跳躍更是超出了預計,本以為設置碰撞就行,因為各個粒子之間存在的作用,所以粒子在木板上不是簡單的碰撞,而是在不停地上下抖動,顯然碰撞已經不能適用。后來解決方案只能改變成與木板的距離,當二者的距離足夠近時給予粒子跳躍的屬性”。磚塊大作戰小組學生的感受體現出其對工程概念的初步認識:“制訂目標不能好高騖遠,一開始我們沒有按照一個固定的程序套路編寫,而是選擇設計自己的游戲,這使得我們在后來的工作中,在程序邏輯和實際編寫上都遇到不小的麻煩,帶來需要學習新東西的挑戰”。
以訪談形式收集教師對課程的反饋。參與實踐教學的教師認為“與以往參與的學生相比,學生為了實現游戲編程中的功能,會主動學習涉及的科學仿真建模和編程知識”。自動化現代控制理論課程教師談到“本屆學生更容易理解自動控制流程建立的思想,掌握過程模型的抽離方法,較往屆學生更快進入控制理論學習”。
5 結 語
北京科技大學每年約有3 300名學生參加暑期實踐,參加計算機實踐的學生約為1 600名,占比約50%。計算機實踐分為程序設計類:VB程序設計(約120人)、C++和C程序設計(約1 200人)以及辦公軟件類:Office高級應用(約280人);在教學開展過程中,探索建立基于游戲編程的計算機實踐教學模式,并在自動化專業本科開展試點實施。通過教學結果數據統計和學生教師反饋表明,與以往枯燥抽象的實踐課程感受相比,新教學模式能夠提高參與者的興趣和主動性,同時將計算思維向專業領域擴展,對專業課學習起到助力作用,達到計算思維和工程能力一體化培養的教學目標。計算思維模式的細化、分類及量化評價是下一階段的研究內容。
參考文獻:
[1] Wing J M. Computational thinking[C]//Visual Languages and Human-Centric Computing. Washington D C: IEEE, 2011: 3.
[2] 周緒紅. 中國工程教育人才培養模式改革創新的現狀與展望: 在2015國際工程教育論壇上的專題報告[J]. 高等工程教育研究, 2016(1): 1-4.
[3] 牟琴.“輕游戲”對計算思維能力的培養: 教育游戲對程序設計基礎課程教學的影響[J]. 遠程教育, 2011, 29(6): 94-101.
[4] Repenning A, Webb D C, Koh K H, et al. Scalable game design: A strategy to bring systemic computer science education to schools through game design and simulation creation[J]. Acm Transactions on Computing Education, 2015, 15(2):11-29.
[5] Koh K H, Basawapatna A, Nickerson H, et al. Real time assessment of computational thinking[C]// Visual Languages and Human-Centric Computing. Washington D C: IEEE, 2014: 49-52.
[6] 李發陵, 劉志強, 張浩然, 等. 軟件工程[M]. 北京: 清華大學出版社, 2013: 111-178.
[7] 李雁冰. 課程評價論[M]. 上海: 上海教育出版社, 2002: 102-155.
(編輯:宋文婷)endprint