Scratch创意编程:每个孩子都应该具备编程思维

发表时间:2020/8/3   来源:《教学与研究》2020年7月下   作者:陈小伟
[导读] 未来是人工智能全面普及时代,编程则是智能时代重要的必备技巧之一。

山东潍坊安丘市东埠中学  陈小伟   

摘要:未来是人工智能全面普及时代,编程则是智能时代重要的必备技巧之一。随着人工智能、云计算、大数据、互联网+、物联网、区块链、教育信息化2.0等概念与技术的日臻成熟,建立完善的编程基础教育课程体系,培养孩子了解与掌握编程语言与开发势在必行。对孩子进行编程启蒙,本质上是训练孩子思维的逻辑性和完整性,有助于提高孩子在学习方面解决问题和创新思考的能力。
关键词:Scratch编程、编程思维、解决问题、逻辑性、创新思考
        习近平同志在中共十九大报告中指出,要贯彻新发展理念,推动互联网、大数据、人工智能和实体经济深度融合。与此同时,国务院出台的《新一代人工智能发展规划》明确提出,要完善人工智能教育体系,在中小学阶段开展人工智能相关的编程科目。放眼全球,已经有20多个国家已经将编程纳入基础教育体系:国宣布投资40亿美元开展编程基础教育,并且率先制定了《K-12计算机科学框架》;欧洲16国将编程纳入教学体系;日本早在2012年普及中小学编程;英国在2014年将编程纳入中学生必修科目;新加坡在2017年中小学普通教育证书水平考试中加入编程考试……
       目前,智能机器人、智能音箱、智能家居、无人驾驶等慢慢渗入到我们的日常生活中来。未来属于以人工智能为特色的数字时代,编程则是数字时代的必备技巧之一,将与我们的生活、工作、学习密切相关。学习编程不仅是为了了解人工智能,更是培养孩子独立解决问题和创新思考的能力。对孩子进行编程启蒙,本质上是训练孩子内在思维的逻辑性和完整性,培养他们看待问题、分析问题和解决问题的方式。所以,无论以后是否从事IT行业,每个孩子都应该学习具备编程思维!
        一、案例体验,引出分析问题
        (1)符合学生心理特点,引出Scratch编程概念
        不少人把编程看成冷冰冰的代码字符,相比于专业的编程,我们的少儿编程相对要简单有趣得多。Scratch是由美国麻省理工学院(MIT)媒体实验室专为低龄儿童(7-18岁)开发的一款可视化简易编程软件,它提供了积木式、动画式的编程环境,帮助儿童们创造出可运行的个性化的故事、动画、游戏、音乐和节目等作品。Scratch编程课程注重寓教于乐,符合学龄儿童的身心特点与接受能力.学生就像搭积木一样“自编自导”打地鼠、贪吃蛇、走迷宫等丰富多彩的创意作品。
        需要澄清的是,Scratch编程的意义并非培养孩子们将来一定当程序员,而是把孩子们的兴趣引导到一个有价值的方向或领域上,潜移墨化地影响提升分析问题、解决问题和创造问题的能力。让孩子们意识到电脑手机并非只是一款游戏机,它可以实现完成很多更有乐趣更有价值更有意义的作品项目。
        (2)寓教于乐的情境,形成理性认识科学使用的价值观
       Scratch编程非常容易调动学生主动学习的积极性,而且Scratch编程课程还有一个最大的优势:作品可见性!可以让学生在短时间内获得成就感。青少年的眼光不像成人那样考虑长远,更对社会体系接触不深,往往容易在枯燥乏味漫长的传统课堂中失去兴趣产生厌学情绪甚至是抵触情绪。笔者发现,青少年对于智能手机、电脑电视等科技产品往往比较好奇,兴趣大,上手快,比成年人更容易掌握使用。过去,很多人把手机、电脑、网络视为洪水猛兽,社会上也的确存在很多孩子沉湎于游戏或网聊的负面案例。只要我们科学、正确地引导学习与使用,孩子们不但不会误入歧途,还会形成理性认识科学使用的价值观。下面,笔者结合实际案例来阐述如何让课堂情境寓教于乐,让孩子们在乐趣中认识问题、分析问题并解决问题。
       二、案例实践,动手探究解决问题
        (1)从头到尾创作作品,构建思维的逻辑性
        《打地鼠》游戏是一款老少皆宜的休闲趣味游戏,孩子们比较喜欢,大多数小时候也玩过。游戏的玩法规则比较简单,只不过我们要从传统塑料玩具转移到游戏编程设计上来,孩子们自己当“导演”自主自导一部游戏的创作出炉。
        先小组合作讨论游戏的设计脚本,需要什么素材和工具,明白要做什么需要什么去实现什么。接下来,由老师引导下一个环节,不断提出问题,让学生们分析问题、思考问题并去解决问题。
        (1)创建场景与角色
        游戏的场景和角色使用网络上的素材,学生们要从百度图片、站长图库等素材网站寻找,锻炼了搜索信息查找资料的检索能力。然后根据自己的喜好布置场景。此时,学生们已经初步感受到Scratch编程带来的喜悦之情。
        (2)给被动角色地鼠添加控制代码
        这里面要解决的难点有两个:(1)地鼠要循环不断地执行出现与消失的事件;(2)地鼠出现的位置要随机。
        需要老师引导解析的概念有四个:循环,变量,随机数与广播。
        注意,老师并不会一开始就全盘托出四个概念,而是在学生一步步深入编程当中遇到问题时,再抛出分析问题的概念来,本着“循序渐进、层层分析、善诱点拔、自我完善”的原则让学生一步步完善成熟。到这里,学生们攻克问题并看到程序达到理想效果后,不禁欢呼雀跃起来。



        (3)给控制角色锤子添加控制代码
        老师引导学生们再接再励,有了(2)的经验,再解决(3)的问题就迎刃而解了。
        至此,一部《打地鼠》小游戏基本完成,功能得到实现,同学们感到莫大的成就感。由一开始的不自信,到中间的不可思议,到最后的由衷喜悦。当看到一部作品经自己努力成功地展现在眼前,内心里充满了无比的成就感与自豪感。接下来,我让学生们以自己的名字保存游戏,并尝试玩两分钟,进一步自我陶醉。
        编程最重要的思路就是如何把大问题不断分割成小问题的过程。其中,学生必须思考如何把代码合理的安排在整个程序中,才能让程序流畅的处理输入、输出,这对事物的逻辑分析能力会有很大的提升,而且还能快速地举一反三,由地鼠角色的设计思路快速地借鉴到锤子角色上来。
        (2)将作品不断深化升级,培养思维的完整性
        然而,刚才引导学生完成的《打地鼠》只是一部基础版本。我们玩过的商业游戏往往要复杂有趣的多,比如有音效、有分数、有首页、有闯关模式、有难度升级等等。接下来,我们在基础版的基础上继续开发完善,向中阶和高阶冲刺:
        中阶:加音效、加地鼠被锤子击中后触发的新事件的动画效果(惨叫或者碎裂)、加计数器、加开始首页。
        高阶:升级成闯关挑战模式,地鼠出现的频率越来越快,游戏难度越来越高。
        利用2节课时,同学们就能完成一部准商业化的《打地鼠》Scratch编程作品,甚至有些同学能做出美轮美奂更加复杂的作品来,将可玩性上升到艺术层次。Scratch教学通过制作项目帮助学生厘清逻辑过程,析理解问题,从而让学生高效自主地解决问题。
        三、线下活动,资源开放,丰富学生的自由世界
        (1)编程资源的开放性
        笔者所在潍坊市的教育信息化研究院高度重视Scratch编程的开设,并针对地方特色自主开发了一套面向低中阶的Scratch编程教材——Scratch2.0创新之旅(基础篇)和Scratch2.0创新之旅(进阶编),以程序结构和项目推进为主线,对于拓展小学生的编程能力,激发想象力,提高综合能力有独特的优势。
        课堂的教学时间毕竟很有限,但是互联网+的精神在于分享与开放。近年来,为深入贯彻国家有关教育信息化的战略部署,全国各地都在积极努力落实《中国教育现代化2035》和《教育信息化2.0行动计划》等文件精神.编程猫学院、中国少儿编程网、编玩边学、极客晨星、虎课网等在线平台如雨后春笋般诞生,仅提供入门基础教程、海量素材,还提供专家指导、未来教室、交流社区和创新大赛等编程教学服务方案。这些资源不限门槛与年龄,而且大部分免费共享,大大丰富了学生创作的自由世界。在社区和赛事里,我们能欣赏到来自全国各地青少年充满优秀创意的作品。
       (2)创作是最大的乐趣
        没有什么是比创作更让人兴奋的事了。传统的教学模式枯燥而漫长很难让孩子们体验到乐趣,而Scratch编程是从学生的认知规律和知识水平出发,加上本身图形化设计的特点,突出趣味性、基础性和创新性,让每个学生都能有发挥创意的时间和空间,那种成就感是无与伦比的!
        四、扩展思维深度与广度,推进与其他学科的联系
        很多人认为Scratch编程课程是一门独立的信息技术课程,与语数英理化生等学科没有任何关联。Scratch编程项目的题材、角度和方向非常宽广,如我们可以用Scratch编程创作英语情景剧(英语对话):们还可以用Scratch编程创作古诗词对接大赛(古诗词背诵):我们还可以用Scratch编程计算兔子繁殖问题(斐波那契数列);我们还可以用Scratch编程创作榴弹炮打敌人(抛物线理论)……
        只要你有好的创意,Scratch编程都可以帮你实现,并且与其他学科有交叉联系,很多题材、内容和算法都来自于其他学科。所以,入门Scratch编程很简单,但是学深Scratch编程需要有宽广且扎实的综合学科功底,这需要联系其他学科的知识并一起推进学习。
        五、结语
        本论文研究针对当下Scratch教学现状,以程序设计流程为基础构建体系结构,从项目分析、思维导图、设计场景、编写脚本到改进升级、拓展思维为主线,教师为引导,学生为主体,整个项目注重学生创意的自由发挥与解决问题的独立性。并将学生由课下引到线上,推进与其他学科的联系,从而总结出Scratch编程信息课的三点教学原则:情境性、启发性、创新性。
        Scratch编程的本质意义并非培养孩子们将来当程序员,而是把孩子们的兴趣引导到一个有价值的方向或领域上,潜移墨化地提升孩子分析问题、解决问题、创造问题的能力。从这点上来说,Scratch编程教育全面开展并普及非常有必要!
参考文献
1.微课在小学Scratch创意编程教学中的设计与应用研究 - 李建楠 - 上海师范大学硕士论文 - 2016
2.小学Scratch机器人教学项目设计与开发 - 王书宾 - 中央民族大学硕士论文 - 2018
3.美国《K-12计算机科学框架》对我国信息技术教学的启示 邱美玲 李海霞 罗丹 岳赛赛 王冬青 华南师范大学教育信息技术学院论文 2018《新一代人工智能发展规划》 国务院印发文件 2017


 

投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: