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