于 延,李英梅,于 龍
(哈爾濱師范大學 計算機科學與信息工程學院,黑龍江 哈爾濱 150025)
高級語言程序設計課程是計算機相關專業(yè)基礎課程,也是很多其他專業(yè)的必修課,更是讓學生了解計算機工作原理,用計算機解決數學、物理、工程、管理等問題的最好工具。目前國際許多著名高校都非常重視學生程序設計能力的培養(yǎng),甚至在中小學階段開展程序設計教學已成為國際通行慣例。
作為培養(yǎng)學生計算思維、邏輯推理、解決問題能力的課程,傳統教學模式的缺點越來越明顯。教師的教學過程枯燥而缺乏活力,學生的學習方法僵化而效果甚微。為了切實提高程序設計課程的教學效果,筆者及團隊一直積極探索教學方法改革。通過多年的努力和實踐,筆者引入了游戲化教學模式,取得了良好的教學反饋。
20 世紀80 年代,國際上出現關于教育游戲的研究。國內關于游戲化學習的研究在近十幾年成為熱門。北京大學教育學院尚俊杰教授于2011年提出“游戲化探究學習模式”,采用計算機游戲為主要學習環(huán)境進行科學探究[1]。游戲化學習就是在教學設計過程中就培養(yǎng)目標與發(fā)展、評價手段、學習者心理特征與教學策略等方面借鑒游戲,設計、選擇適當的發(fā)展工具、評價方法、教學策略[2]。游戲化學習主要包括數字化游戲和游戲活動兩類,教師將游戲作為與學習者溝通的平臺,培養(yǎng)學生的多元智力素質[3]。
本文提出的游戲化教學模式與上述學者觀點不同,主要指將程序設計課程日常教學、管理、評價等所有教學活動以游戲形式開展,讓學生在現實世界真實游戲中完成學習任務。游戲化教學模式強調在真實世界中,將真實教學活動以游戲關卡和任務的形式進行分解和實施,學生在現實世界通過做任務和通關完成課程學習。
將C 語言程序設計課程真實教學活動以游戲形式開展,教師應該通過學前測試和專業(yè)介紹等形式讓學生深入了解以下背景。
(1)2016 年全國高校計算機教育大會以“計算機系統能力”為主題。以哈爾濱師范大學為例,近年來開展計算機系統能力課程群建設,程序設計作為課程群基礎課程,地位十分重要。多年來各高校積極探索程序設計課程教學改革,翻轉課堂、研究性學習、任務驅動、編程游戲等概念不斷應用到教學改革實踐中。
(2)TIBOE 編程語言社區(qū)公布的2016 年7月最新一期的編程語言排行榜,C 和C++排名第2、第3 位,僅次于Java 語言。多年來C 語言在行業(yè)中一直處于第2 名的領先位置。
(3)隨著物聯網技術的發(fā)展,C/C++技術在3G 網絡通信(移動網絡、互聯網、Zigbee 等專用網絡)、多媒體處理、智能識別等領域得到了進一步的推動和發(fā)展。
(4)所有開課學生的地域來源、高考成績、個人學習愿望、性格、智商、情商和學校環(huán)境等因素,也是游戲(學習活動)背景的重要組成部分。
教師在實施游戲的過程中,游戲策略、數值設置、評價機制要根據以上背景因素靈活變化,以適應游戲玩家,取得最佳的學習效果。
課程內所有學習者被定義為玩家,根據歷年學生的學習情況,將所有玩家進行分類,見表1,在游戲過程中可以為不同類型的玩家采取不同的游戲策略以及設計不同的學習任務。玩家在游戲過程中通過自己的努力可以改變玩家類型標志。
表1 玩家分類
為配合教學改革,筆者以“章—節(jié)—知識單元”三級目錄結構出版了《C 語言程序設計與實踐》一書。全書重新整合C 語言教學內容,“知識單元”努力做到相對獨立和規(guī)模適中,其下又分為幾個小的知識點。筆者還出版了與此教材配合使用的《C 語言程序實驗與課程設計》一書,書中對主教材知識單元進行科學詳細的知識點任務分解,并對每一個知識點任務提出“認識、理解、領會、運用、創(chuàng)新”5 級能力要求,并對不同能力要求給出了學習步驟和方法。
主教材全書分為16 章,每1 章對應1 個主關卡,章內每1 節(jié)對應1 個子關卡,節(jié)內每個知識單元對應1 個任務;知識單元下設1 至多個子任務。表2 為教材部分章節(jié)的任務分解示例。
游戲玩家是整個游戲過程中的主角,作為學習者在不同類型的游戲活動中可以扮演表3 提示的各種角色,來達到學習的目的。
表2 配套教材與關卡任務的對應關系
建構主義教學理論強調以學生為中心的教學設計,筆者設計的游戲中以學生作為唯一玩家角色。對于某一特定玩家來說,其他玩家和角色都被定義為NPC 角色,在游戲中主要起到引導、教學、輔助、合作、答疑的作用(表4)。
游戲場景是游戲玩家的基本平臺,所有的游戲任務都要在某個場景中完成。不同的場景適合進行不同的游戲任務,對玩家的能力培養(yǎng)有不同的側重點,豐富的場景會讓玩家感到強烈的帶入感和新鮮感。表5 是筆者對游戲場景的定義和設計。
表3 玩家角色
表4 NPC 角色
表5 游戲場景
玩家在游戲過程中,要借助道具來完成任務。不同的道具有不同的作用,筆者對游戲中可能使用的道具及其作用分析見表6。
C 語言教學內容被分解成若干不同的游戲關卡和任務,對于不同類型的任務,玩家可以選擇不同的方式完成。不同的任務完成方式有不同的特點,可以鍛煉玩家的不同能力(表7)。
表6 游戲道具及作用
表7 任務類型及能力目標
為了保障游戲的順利實施,課程組在學院內選拔若干學生助教輔助教師完成整個游戲(教學活動)的實施、管理、評價等工作。學生助教負責對玩家所有關卡和任務完成情況的檢查、評價和記錄,負責周測、月考的組織和實施。學生助教的全程管控保證了游戲的實施和對學生有效的過程性評價,這些措施有效地彌補了授課教師不能全程參與學生學習過程的缺憾。
為了提高教學活動的游戲性,讓玩家在游戲過程中能有較高的融入感、體驗感和成就感,筆者對游戲進行了以下設計。
(1)隨機任務。在游戲過程中,教師會不定期公布隨機任務,可設計為簡單任務、普通任務、高難任務,或者設計為必做任務和可選任務,玩家對隨機任務的期待和關注提高學生的學習興趣。
(2)點數和級別。玩家完成規(guī)定任務,按照完成時間和質量可以得到一定點數,不同點數的玩家可以獲得不同的級別,可分為打醬油(消極玩家)、小學生(普通玩家)、大學生(核心玩家)、學霸(超級玩家)。點數和級別可以激勵玩家不斷努力進取。
(3)考試和競賽。通過周測、月考、期中考試、期末考試和競賽等方式,提供玩家之間競技的機會,考試和競賽排名可以為玩家?guī)硪欢ǖ狞c數和獎勵。
(4)排行和徽章。在點數設計的基礎上,對全體玩家適當公布排行,可以選擇按周、按月排行,玩家通過排行可以清楚地了解自己所處的位置和努力方向。根據點數絕對值、點數變化、考試競賽中的特殊成就或者對游戲建設的貢獻等因素,給玩家發(fā)放不同類型徽章,此項舉措是評價玩家的重要指標,可極大滿足玩家的成就感。
游戲化學習被廣泛應用于學科教學改革,本文提出的游戲化教學模式與流行的游戲化學習有所不同。游戲化教學模式是在現實世界中將真實教學活動分解為規(guī)模適當的教學任務,并設計游戲元素、玩家角色、任務類型、游戲場景、評價與激勵,使學習者以游戲玩家身份,通過做任務完成課程學習。實踐證明,游戲化教學模式顛覆式地改革了傳統教學模式,創(chuàng)新性地豐富了游戲化學習理論和實踐,利用游戲理論和方法,激發(fā)學生的學習興趣,提高了學生的學習效果。相信游戲化教學模式會對教育改革起到積極的影響。