鄧正杰 楊帥森
摘要:少兒編程已經(jīng)成為時下少兒學(xué)習(xí)的一個主要部分。本文介紹了少兒編程教學(xué)的發(fā)展現(xiàn)狀和未來發(fā)展方向,并以調(diào)試模塊的教學(xué)為主要研究對象,分析了調(diào)試模塊的教育在不同教學(xué)場景中的具體實施。利用Scratch少兒編程軟件,針對不同年齡段的孩子們設(shè)計了三個教育方案和配套的益智游戲。經(jīng)過分析和設(shè)計,展示調(diào)試模塊的學(xué)習(xí)有助于學(xué)生批判性思維能力和邏輯思維能力的建立,對學(xué)生動手能力和學(xué)習(xí)效率也有顯著提升。
關(guān)鍵詞:少兒;編程;調(diào)試;Scratch;教學(xué)
中圖分類號:G434? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)26-0123-03
開放科學(xué)(資源服務(wù))標識碼(OSID):
Abstract: Recently, children programming has become a major part of children learnings. This paper introduces the present situation and future development of children programming education, and takes the debugging module teaching as the main research object, and analyzes the concrete implementation of debugging module teaching in different scenes. Using the Scratch — a children programming software, three sample programs and the relative puzzle games are designed for the children with different ages. Through analyzing and designing, it is shown that the learning of debugging module is helpful to establish student's critical thinking and logical thinking abilities, and has a significant improvement on student's practical ability and learning efficiency.
Key words:children;programming; debug; Scratch;teaching
1 引言
隨著人工智能、大數(shù)據(jù)、云計算等技術(shù)的發(fā)展,人們對編程能力的需求越來越普遍,使得世界各地逐步推進少兒編程教育。西摩爾·佩普特教授于1968創(chuàng)立LOGO程序語言,并將其運用于教育學(xué)領(lǐng)域[1]。四十年后,他曾經(jīng)的博士生Mitch在麻省理工學(xué)院帶領(lǐng)開發(fā)團隊創(chuàng)造了Scratch少兒編程軟件,就是這一款積木式編程軟件,將少兒編程的理念第一次推廣開來,這次少兒編程教學(xué)不再僅僅局限于教育學(xué)家和計算機科學(xué)家的視野內(nèi),而是引起了各行各業(yè)的關(guān)注。
1.1 研究意義
西摩爾·佩普特在50年前創(chuàng)立LOGO程序語言時,就認為少兒編程教學(xué)的核心不是教會孩子編程,而是通過學(xué)習(xí)編程來教會孩子思考,建立良好的思維模式[2]。當(dāng)下少兒編程的眾多教學(xué)模塊中,調(diào)試模塊作為最為抽象的存在,在實際的教學(xué)場景中能教給孩子的不僅僅是找出程序錯誤然后修改錯誤那么簡單,更重要的是能夠為孩子建立批判性思維能力和邏輯思維能力,這種思維能力在孩子以后的日常生活和成長學(xué)習(xí)過程中起到的作用不可估量。
批判性思維能力更是當(dāng)代高等教育的主要目標之一,但是研究表明6-12歲的孩子正是大腦發(fā)育最為重要的時期,同時該階段孩子的思維能力和思維模式開始初步建立。而少兒編程教學(xué)調(diào)試模塊的學(xué)習(xí)剛好可以給該階段的孩子們提供良好的引導(dǎo),讓孩子在學(xué)習(xí)調(diào)試程序的過程中建立初步的邏輯思維能力,所以少兒編程教學(xué)的意義不僅在課堂之上,更在課堂之外。
2 國內(nèi)外研究現(xiàn)狀
2.1國內(nèi)研究和發(fā)展現(xiàn)狀
我國的少兒編程教學(xué)起步較晚,直到2014年STEM的概念逐漸在國內(nèi)普及,中國的少兒編程行業(yè)才開始正式的發(fā)展。2016年,國家開始主動支持少兒編程教學(xué)的發(fā)展,2017年,浙江省將信息技術(shù)提升為高考科目,進一步推動少兒編程教學(xué)的發(fā)展[3]。從2017年至今,少兒編程教學(xué)在國內(nèi)進入高速發(fā)展階段,“編程貓”等少兒編程教學(xué)研究公司在線上推出了許多的優(yōu)秀課程,“小碼王”等線下少兒編程教學(xué)機構(gòu)也被人們逐漸接受[4]。
但是國內(nèi)少兒編程教學(xué)的發(fā)展還是遠遠落后于國外,開設(shè)少兒編程教學(xué)科目的學(xué)校數(shù)量較少,而且大部分集中在北上廣等一線城市。調(diào)查顯示,以Scratch為例,目前國內(nèi)少兒編程教學(xué)的滲透率為0.96%,而美國的少兒編程教學(xué)滲透率為44.8%[5]。與國外的普及度相比,我國少兒編程教學(xué)的發(fā)展,任重而道遠。
2.2國外研究和發(fā)展現(xiàn)狀
國外的少兒編程教學(xué)起步較早,自LOGO語言問世起至今已有五十余年,目前國外少兒編程教學(xué)領(lǐng)域應(yīng)用較多的有LOGO語言、KODU語言、CodeMonkey少兒編程工具、Scratch少兒編程軟件等[6]。在美國,LOGO語言最開始是用于中小學(xué)課堂的數(shù)學(xué)教育,后來有教育學(xué)者發(fā)現(xiàn)它在教育學(xué)生編程方面有著突出的教育效果,于是開始將LOGO語言用于少兒編程教學(xué)[7]。CodeMonkey少兒編程工具誕生于以色列,并在近幾年以色列政府的大力推廣下,受到了很多教育學(xué)家和學(xué)生的喜愛,在全球范圍內(nèi)已經(jīng)擁有了大量的粉絲[8]。另外英國、日本、韓國等國家也出臺了相應(yīng)政策支持少兒編程教學(xué)的發(fā)展。
Scratch少兒編程軟件于2014年問世,是由美國麻省理工學(xué)院的研發(fā)團隊設(shè)計開發(fā)的,該軟件使用圖形化的指令積木進行程序編寫,讓學(xué)習(xí)編寫程序的過程變得像玩“樂高積木”一樣有趣。目前正式發(fā)行的是Scratch2.0版本,較之舊版本增添了克隆和聲音編輯等多個指令積木模塊,讓軟件的整體功能更加完善,能夠基本滿足孩子們在學(xué)習(xí)編程時的各種設(shè)計需求[9]。由于該軟件功能比較全面,積木式的編程方式也簡潔有趣,所以深受廣大學(xué)生以及眾多教育工作者的一致好評。
3 少兒編程調(diào)試模塊教學(xué)的分析
3.1少兒編程調(diào)試模塊與C語言調(diào)試模塊的比較
少兒編程由于所針對的用戶主要為中小學(xué)生甚至學(xué)齡前兒童,所以在編程界面和編程模式方面更加的簡單,在教學(xué)過程中也更加注重學(xué)生編程思想的建立,其次才是編程能力的鍛煉。C語言是一門實用性的編程語言,教學(xué)對象大多為大學(xué)生或者從事計算機行業(yè)的專業(yè)人士,語言學(xué)習(xí)和編程難度比少兒編程高上許多,在教學(xué)上也更加注重編程能力的培養(yǎng)。
C語言程序代碼復(fù)雜而且數(shù)量龐大,所以調(diào)試過程更加具備專業(yè)性,必須多方面考慮,運用到多種調(diào)試技術(shù)方能解決問題。少兒編程在調(diào)試模塊的教學(xué)中由于使用代碼簡單的因素,只能運用一些經(jīng)典而簡單的程序錯誤來進行調(diào)試模塊的教學(xué),所以重點在于讓學(xué)生通過簡單程序的調(diào)試來建立起程序調(diào)試的理念和批判性思維能力,為學(xué)生以后的學(xué)習(xí)打下基礎(chǔ)。
3.2少兒編程調(diào)試模塊與非調(diào)試模塊的比較
在少兒編程的多個教學(xué)模塊中,調(diào)試模塊最為抽象卻也最為重要,無論任何一門編程語言的學(xué)習(xí),該語言的調(diào)試必然貫穿于整個教學(xué)過程。少兒編程調(diào)試模塊的教學(xué)由于自身的抽象性,無法像非調(diào)試模塊一樣在課堂中展示明確的概念和使用方法,所以‘調(diào)試更多的是一種思維上的訓(xùn)練,而且調(diào)試模塊更能幫助學(xué)生培養(yǎng)批判性思維能力,也能起到訓(xùn)練邏輯思維能力的目的。有研究表明,在計算機程序設(shè)計的課堂上,著重對程序調(diào)試的訓(xùn)練,有助于加強學(xué)生對技術(shù)知識和調(diào)試理論的理解程度,同時還可以顯著提升學(xué)生的動手能力,提高學(xué)習(xí)效率[10]。
3.3少兒編程調(diào)試教學(xué)在教育中的意義
計算機專業(yè)的特性之一,就是其擁有特別強的“實驗性”[11],所以“調(diào)試”是編程過程中最為重要的一個環(huán)節(jié),但是很多計算機專業(yè)的新生都困惑于怎樣合理的去調(diào)試程序,甚至因此失去對計算機專業(yè)的興趣[12]。歸其原因,缺乏系統(tǒng)專業(yè)的調(diào)試技巧學(xué)習(xí)是一方面因素,不過學(xué)生自身缺乏良好的邏輯思維能力和批判性思維能力顯然是更為重要的原因,而6-12歲正是培養(yǎng)這兩方面思維能力最好的時期。
4 少兒編程調(diào)試模塊教學(xué)的設(shè)計
4.1 Scratch游戲設(shè)計
第一個游戲的教學(xué)對象是小學(xué)一年級學(xué)生,調(diào)試難度比較簡單?!靶±鲜蟆焙汀澳汤摇敝g沒有設(shè)置障礙物和陷阱,調(diào)試過程也只有“前進一步”“向左轉(zhuǎn)”“向右轉(zhuǎn)”等幾個簡單的指令積木(如圖1)。學(xué)生可以通過增加或者刪除積木塊來達到學(xué)習(xí)調(diào)試程序的目的。
第二個游戲的教學(xué)對象是小學(xué)三年級學(xué)生,游戲主角和通關(guān)任務(wù)沒有大的變化,只是鑒于學(xué)生認知能力和編程能力的提升,在原來的指令積木基礎(chǔ)上又添加了“循環(huán)執(zhí)行”積木,并且在游戲地圖上設(shè)置了障礙物和陷阱,增加了調(diào)試難度的同時也增加了游戲趣味性(如圖2)。學(xué)生在可以在完成游戲任務(wù)的過程中進一步的學(xué)習(xí)調(diào)試,同時加深自己對循環(huán)語句的理解,鍛煉自己的批判性思維能力和邏輯思維能力。
第三個游戲的教學(xué)對象是小學(xué)六年級學(xué)生,該階段的學(xué)生思維能力方面已經(jīng)有了很高的提升,故本設(shè)計在這個游戲中加入了“函數(shù)調(diào)用”模塊(如圖3)。這代表著將要調(diào)試的程序從原來的四五行代碼,升級到十幾行代碼,并且整個過程中多次調(diào)用到目標函數(shù),使得調(diào)試難度進一步增加,更加適合該階段學(xué)生學(xué)習(xí)使用。
4.2 教學(xué)方案設(shè)計
本文在設(shè)計教案之初,對本文教案的定位為一系列課程中調(diào)試模塊的教學(xué)設(shè)計,并非獨立的課程。在教案設(shè)計方面,考慮到少兒編程教學(xué)的學(xué)生年齡跨度的范圍,分析了各個年級學(xué)生學(xué)習(xí)能力方面的差異。以一年級、三年級、六年級學(xué)生為教學(xué)對象,將調(diào)試教學(xué)分為三個階段。
一年級的學(xué)生尚未具備完善的學(xué)習(xí)能力,閱讀能力也僅僅處在初級階段,但是此階段的學(xué)生已經(jīng)初步學(xué)習(xí)了簡單的算術(shù),關(guān)于方向的認知能力也基本完善。經(jīng)過分析之后,決定在一年級的調(diào)試教學(xué)中使用簡單序列,讓學(xué)生通過簡單的算術(shù)得出‘小老鼠移動步數(shù),通過‘向左轉(zhuǎn)‘向右轉(zhuǎn)等簡單指令協(xié)助完成任務(wù),教學(xué)過程中在步數(shù)或者方向上設(shè)置出錯點,引導(dǎo)學(xué)生調(diào)試。
三年級的學(xué)生在算術(shù)和閱讀方面已經(jīng)有了良好的基礎(chǔ),思維邏輯能力也已經(jīng)有了初步的建立,所以在設(shè)計三年級的教學(xué)方案時采用了循環(huán)語句,第一是為了增加調(diào)試難度,其次更是為了適應(yīng)該年齡段孩子思維邏輯能力的發(fā)展進度。
六年級的學(xué)生在閱讀能力、數(shù)學(xué)能力等方面已經(jīng)基本成熟,對事物的目的性更加明確,感知事物的精確性也有了顯著提升,簡單的調(diào)試教學(xué)已經(jīng)不足以起到鍛煉思維的作用,但是在加深調(diào)試難度的同時也要顧及該階段學(xué)生的學(xué)習(xí)水平,所以本文在分析之后決定采用函數(shù)調(diào)用模塊的調(diào)試來進行教學(xué)設(shè)計。
5 總結(jié)
本文通過對少兒編程教學(xué)行業(yè)的分析,認為在目前的大環(huán)境下,世界多個國都制定了相應(yīng)政策用于少兒編程教學(xué)的推廣,少兒編程教學(xué)的重要性只會隨著時間的推移逐步加深。在針對少兒編程調(diào)試模塊進行單獨分析之后,本文認為調(diào)試模塊的學(xué)習(xí)有助于學(xué)生批判性思維能力和邏輯思維能力的建立,對學(xué)生動手能力和學(xué)習(xí)效率也有顯著提升。本文使用Scratch少兒編程軟件設(shè)計了三個關(guān)于調(diào)試模塊教學(xué)的教學(xué)方案和教學(xué)游戲,用以幫助學(xué)生更好的對少兒編程教學(xué)調(diào)試模塊進行學(xué)習(xí)。
參考文獻:
[1]葉富華. LOGO(小海龜)編程之父留給我們的思想遺產(chǎn)[DB/OL]. http://www.kidscode.cn/archives/3720.
[2]柳紅,陳琦.學(xué)習(xí)LOGO程序設(shè)計語言與發(fā)展認知能力的關(guān)系[J].心理科學(xué)通訊,1990(05):3-9+65.
[3]itwriter.50年前開始的少兒編程,如今在國內(nèi)發(fā)展怎么樣了[DB/OL]. https://news.cnblogs.com/n/598264/.
[4]中國少兒編程行業(yè)研究報告 2018年[A].艾瑞咨詢系列研究報告(2018年第10期)[C].上海艾瑞市場咨詢有限公司,2018:34.
[5]雷田蕊. Scratch編程教育學(xué)習(xí)資源設(shè)計與開發(fā)研究[D].河北大學(xué),2018.
[6]戚偉慧.少兒編程的可行性研究與分析[J].電子技術(shù)與軟件工程,2016(24):253-254.
[7]王榮良.兒童編程教育價值與實施途徑分析[J].中國信息技術(shù)教育,2017(21):5-9.
[8]徐君. 跟著 Code Monkey,和全球 250 萬名孩子一起玩編程[DB/OL]. http://www.360doc.com/content/16/0719/08/5315_576689752.shtml.
[9]朱麗彬,金炳堯.Scratch程序設(shè)計課教學(xué)實踐研究——基于體驗學(xué)習(xí)圈的視角[J].現(xiàn)代教育技術(shù),2013,23(07):30-33.
[10]王楠,趙占芳.調(diào)試技術(shù)在程序設(shè)計實驗教學(xué)中的應(yīng)用探討[J].教育現(xiàn)代化,2017,4(07):46-47+53.
[11]王立柱.從計算機教育到教育計算機[J].計算機教育,2013(03):42-45.
[12]王春枝,嚴靈毓,張媛媛.編程從調(diào)程做起[J].計算機教育,2016(01):100-102.
【通聯(lián)編輯:王力】