吳苗 裘國永
摘 要 目前,在高中階段的編程教學中,最常使用的就是VB語言以及近來比較熱門的圖形化編程平臺,但是取得的教學效果并不理想。如何提高中學段編程教育的教學效果是急需解決的問題。極客戰記是一款游戲化的編程平臺,在這個平臺上,學生可以編寫代碼,構思策略,在闖關的過程中通過試錯和實驗循序漸進地掌握編程。筆者實習所在的陜西師范大學附屬中學在高一年級的信息技術教學中采用了這種編程平臺,筆者通過課堂聽課、課下與相關學生進行交流詢問等方式,調查了極客戰記教學平臺在中學編程教學中的實際教學效果。研究發現,極客戰記以其游戲化教學平臺以及簡單易學的Python編程語言受到學生的歡迎,采用極客戰記教學平臺,課堂的教學效果更好。結果表明,極客戰記編程平臺相比于傳統的編程教學方式有很大的優勢,值得推廣。
關鍵詞 編程教學 游戲化編程 極客戰記
中圖分類號:G424 文獻標識碼:A DOI:10.16400/j.cnki.kjdkx.2019.03.067
Abstract At present, in the high school programming teaching, the most commonly used is VB language and recently popular graphical programming platform, but the teaching effect is not ideal. How to improve the teaching effect of middle school programming education is an urgent problem to be solved. CodeCombat is a game-based programming platform, on which students can write code, conceive strategies, and master programming step by step through trial and error and experiment in the process of breaking through the barrier. This programming platform is used in the information technology teaching of the first grade in the secondary school affiliated to Shaanxi Normal University. The author investigates the actual teaching effect of the CodeCombat teaching platform in the middle school programming teaching by means of classroom listening, exchanging and inquiring with the relevant students after class. The research finds that CodeCombat is popular with students because of its game-based teaching platform and easy-to-learn Python programming language. The classroom teaching effect is better when using CodeCombat teaching platform. The results show that the programming platform of CodeCombat has great advantages over the traditional programming teaching method, and it is worth popularizing.
Keywords Programming teaching; Gamification programming; CodeCombat
0 引言
牛津大學的經濟學家2013年曾對現有的702種職業進行量化評估并得出結論,未來20年有一半的工作將被機器所取代。[1]經過幾年的發展,人工智能領域不斷出現突破性的技術,如語音識別、人臉識別、自然語言處理等,這些技術發展迅猛,極大地改變了人們的生產生活方式。現實生活中,很多的工作都可以由機器人取代。如美國《華盛頓郵報》的寫作機器人Heliograf,可以作出含有分析、評論等語氣的報道。谷歌在2016年的I/O大會上推出了語音助手Google Assistant,可以和人進行無障礙溝通,幫助人們進行電話預約等工作,相當于一個非常完美的私人秘書。另外還有微軟Bing搜索中國團隊發布的一款智能聊天機器人微軟小冰,可以實現作詞作曲以及歌曲的演唱。這些人工智能工具的使用證實了牛津大學經濟學家的結論,也標志著人們正式跨入了人工智能時代!
人工智能被公認為引領未來發展的戰略性技術,是國際競爭的新焦點。編程是人工智能產業的基底,[2]編程在人工智能時代的定位就相當于機器在工業時代的定位。[3]因此,在中小學開展編程教育,為人工智能的發展培養人才已經刻不容緩。全球已經有超過24個國家將青少年編程教育納入K12課程大綱或教學場景。
1 我國高中階段的編程教學存在的問題
我國的編程教育起步較晚。在高中階段的編程教學中,我國大多數的學校使用的是圖形化編程平臺和VisualBasic(VB)編程語言。VB語言編程重語法,課程內容多為理論知識的講解。學生因缺乏計算機硬件相關的知識,對教學內容理解起來非常困難,導致學生缺乏學習的興趣。在上機操作時,很多學生也只是照貓畫虎地將教材上的程序照搬到電腦上,但實際上他們并不理解代碼的意義,編程課的教學效果很不理想。而圖形化編程如Scratch通過搭積木的方式編程,用圖形模塊代替代碼指令,用戶可以將代表不同的功能的圖形模塊拼接起來,完成簡單的動作,然后將一個個簡單的動作組合起來,構建出一個程序。整個編程過程不涉及代碼的編寫,比較適合沒有編程經驗或者編程基礎薄弱的小學初中階段的學生,這能激發他們對編程的學習興趣,幫助他們了解和掌握程序的邏輯結構。但是對于高中階段的學生來說,他們在小學初中階段已經接受過這種教學,對程序的邏輯結構已經有了一定的了解,此時需要讓他們開始接觸真正的編程語言,學會用真正的編程語言代碼來編寫程序,以培養其良好的編程代碼書寫習慣,為大學更深層次的學習打下基礎。
2 極客戰記的概念
極客戰記(CodeCombat)是一款游戲化編程教育產品。它將編程的教學過程轉化為一個個游戲關卡,通過在右側輸入程序代碼來控制左側角色的移動和攻擊等動作,當輸入的代碼錯誤時,會提示代碼輸入錯誤,并展示具體的出錯信息,學生可以根據提示及時解決錯誤。在完成每個關卡后都會有內容回顧,展示上一關卡所學到的內容。而且隨著關卡升級,編程的難度會越來越高,在不知不覺中培養了學生的編程思維。
2016年,極客戰記推出了教師版本,供學校教學使用。在教師界面,教師可以創建自己準備教授編程語言的課程教室,學生在注冊了賬號之后,可以通過搜索教師開設的課程教室的班級碼進入教室進行學習。教師通過點擊某個課堂教室—查看課堂,可以查看具體每個教室的學生的學習情況,點擊課程進度,可以查看每個學生的關卡學習進度,非常方便。
2.1 游戲化教學
極客戰記編程平臺不同于VB語言編程,它使學生在玩游戲的過程中學習編程,這正好契合了當今學生普遍愛玩游戲的心理。極客戰記編程平臺界面設計炫酷,能夠吸引學生的學習興趣,使學生在玩兒游戲這樣一個輕松愉快的過程中學會編程,同時也能緩解學生對于各種網絡游戲的癡迷。
2.2 編程語言的選擇
極客戰記編程平臺支持多種編程語言,其中包含Python、Javascript等語言。傳統的C、VB語言由于過分強調語法,需要學生對地址、指針等計算機系統結構相關的知識以及語言的開發環境等非常熟悉,這需要花費大量的時間,且學生往往很難理解,所以教學效果不理想。Python語言的執行是基于虛擬機機制的,并且它的虛擬機距離真實機器的距離更遠,該特點使得學生無需具備太多的硬件知識。[4]Python語言編程支持圖形輸出,具有更少的代碼。在編程的過程中對于變量可以直接使用而無需定義,且代碼易讀易學,維護簡單,實現同樣的操作,使用Python編寫的程序代碼要遠遠少于VB和C編寫的程序代碼。Python語言是目前最接近自然語言的通用編程語言,是一種輕語法、弱類型的腳本語言。[5]閱讀一段好的Python程序就像是閱讀英語,使得學生能夠專注于計算問題的求解過程,對程序設計有一個全新的認識,使他們更愿意更好地使用計算機解決問題,體現了計算機解決計算問題的計算思維理念。
另外,不同于其他語言用大括號或是采用控制結構配套的結束語句來確定程序代碼的起止范圍。Python語言編程使用程序語句的縮進來確定代碼塊的起止范圍,類似于中文中的段落縮進,結構清晰,便于閱讀。在極客戰記中,當輸入的代碼格式錯誤時,系統會立即報錯,提示修改,這樣能夠培養學生良好的程序代碼編寫習慣,為后續更加深入的學習奠定良好的基礎。
3研究過程
在本學期的前半部分,該學校高一年級學生在程序設計教學中所使用的是VB編程語言以及Scratch圖形化編程。在后半學期,學校引入了極客戰記游戲化教學平臺。在實習的過程中,筆者通過課堂聽課觀察、課下向學生了解學習效果來調查使用極客戰記教學平臺的教學效果。
3.1 研究對象
筆者實習所在的陜西師范大學附屬中學高一年級的學生。
3.2 極客戰記在高中編程教學中的運用
在前期的教學中,老師已經向學生介紹了極客戰記,指導學生完成了奪取寶石、逃出地牢等關卡,學生學會了編寫讓角色移動以及攻擊敵人的指令。本節課主要來學習循環結構。通過讓學生輸入Python代碼指令控制游戲角色的行動的過程來讓學生理解什么是循環結構以及循環結構的重要性,學會使用Python語言來實現簡單的循環結構程序。
首先向學生展示需要用到循環結構的關卡,讓學生思考,互相討論,為了使角色達到目的地,應該怎樣操作。
提示學生觀察角色在到達目的地的過程中的行為,有些動作是重復的,相應的語句代碼也是重復的,引出循環結構的使用。指導學生來使用while true語句結構,完成角色闖關。
向學生講解循環結構,使用循環結構應該注意的地方及其在程序設計中的巨大作用。
3.3 教學效果分析
通過課堂觀察發現,在使用VB語言講解循環結構時,需要定義變量,語句繁瑣,學生往往不能很好的理解,導致他們學習興趣不高,教學效果差。在使用極客戰記進行教學時,游戲化的教學氛圍能夠充分激發學生的學習興趣。使用Python語言,無需太多的代碼語句,程序簡單,且Python語句中使用很多的英文單詞,接近人們常用的自然語言,程序代碼容易理解和記憶。在編寫好相應的程序之后開始運行時,在屏幕左側會出現角色的動作演示,能夠形象地告訴學生每一條代碼語句代表的意思,清晰明了,使學生意識到編程并沒有想象中的那么難,從而愿意主動地來學習,學生學習積極性高,課堂教學氣氛活躍,教學效果更好。圖形化編程平臺雖然也是一種游戲化的編程環境,但是整個過程只是圖形化模塊的移動拼湊,不涉及代碼的編寫。而使用極客戰記時,學生需要按照語法規則編寫Python程序代碼,學生能夠接觸到真正的編程語言。并且在編寫代碼的過程中系統會有格式提醒,如果出錯會立即提醒。這樣能夠幫助學生養成良好的代碼編寫習慣,為后續深入的學習奠定良好的基礎。
通過課下與學生交流發現,比起圖形化編程和VB編程,學生們認為極客戰記平臺編程更好理解更有趣,學習起來相對輕松,他們更加傾向于極客戰記教學平臺。
4結束語
本次研究通過課堂聽課觀察學生們在課堂上的反應、課堂教學的氣氛以及課下與學生們進行溝通交流,調查了在中學編程教學中使用極客戰記教學平臺的教學效果。結果表明,極客戰記能夠提供游戲化的編程平臺,且支持簡單易學的Python編程語言。使用極客戰記平臺進行編程教學,降低了老師的教和學生的學的難度,能夠激發學生的學習興趣,幫助學生養成良好的代碼編寫習慣,為日后的學習奠定基礎。相比于VB編程和圖形化編程,極客戰記編程平臺更加適合高中階段學生的編程教學,值得推廣。
本次研究的對象是高中階段的學生,研究結果只能說明極客戰記教學平臺適合高中階段的學生,但是是否適合小學、初中階段的學生還不能給出結論。在日后的研究中,應當擴大研究對象的范圍,確定極客戰記教學平臺的適用范圍,提高我國編程教育的教學效果。
參考文獻
[1] 向程冠,熊偉程.“做中教,做中學”在程序設計教學中的應用[J].電腦知識與技術,2017(13):75-76.
[2] 王楠.編程教育:跨入人工智能時代的階梯[N].人民政協報,2017-10-12.
[3] 歐星星.編程: 通往另一個世界的大門[N].電腦報,2018-01-22.
[4] 狄博,王曉丹.基于Python語言的面向對象程序設計課程教學[J].計算機工程與科學,2014(36):122-125.
[5] 嵩天,黃天羽.Python語言: 程序設計課程教學改革的理想選擇[J].中國大學教學,2016(2):42-47.