去年有一款名叫CoderMindz的棋类游戏在硅谷名声大噪,它的前身CoderBunnyz发布不到一年时间,销量超过1000余套,销售额以超35000美圆,所以你们对新款CoderMindz充满期待。
而这款游戏的开发者,居然是来自硅谷的10岁女童萨麦拉·梅塔(Samaira Mehta)。靠着本身出色的“编程”技术,被全球媒体誉为“硅谷将来之星”,连扎克伯格都赞她“年少有为”。
早在2015年,美国前总统奥巴马在接受媒体采访的时候就表示:“咱们须要让孩子们参与数学和科学,这不只仅是一小部分孩子,而应该是全部人。全部人都应更早地学习如何编程。”
在美国,STEAM教育理念受到广泛的重视和运用。孩子从比较小的年龄,就开始接受科学、技术、数学、艺术等方面的启蒙和熏陶。编程
在我国,特别是在一些经济比较发达的省份和地区,以中小学信息技术课程为基础的少儿编程教育也起步和发展较早。2014年,浙江省教育改革方案中,将信息技术科目(包含编程)归入高考。
2018年,国务院发布《新一代人工智能发展规划》,提出完善人工智能教育体系,在中小学阶段设置人工智能相关课程,逐步推广编程教育。同年,全国计算机等级考试开始加入Python语言的内容。随后,一些省份在教育改革中加大了对编程的重视力度,山东省在小学六年级的信息技术教材中加入Python的内容,广东省也计划将信息技术归入高考内容。编程语言
除了学校教育,校外的少儿编程培训也如雨后春笋般地迅速发展起来,不少培训机构都开设了少儿编程的相关课程。学习
1 为何要学编程?
为何人们对学习计算机编程的热情激增,尤为是对于孩子学习编程如此重视呢?
编程对孩子们想象力、创造力的启迪以及里面所呈现的对逻辑思惟的探索精神,是其余任何阅读书籍都没法媲美的。
当学习编程的时候,孩子会成为一个很好的思考者。例如,孩子将学会如何把复杂的问题分解成简单的部分(也就是咱们常说的分而治之的原理),学会如何找到问题并进行调试和解决,学会如何在一段时间内不断地迭代、完善和改进解决方案。而全部这些思惟策略,一言以蔽之,就是“计算思惟”的概念。在不知不觉之中,孩子的计算思惟获得了开发,逻辑思惟能力获得了加强。动画
学会了计算思惟和逻辑思惟,孩子们将会发现它不只适用于计算机方面,并且也适用于全部的解决问题和设计活动中,甚至是生活的方方面面,例如,统筹烧开水沏茶的时间、肯定按照菜谱炒菜的顺序、在超市中走最短的路径找到全部要买的东西等等。
兴趣是最好的老师。一旦培养了对编程的兴趣,孩子就愿意投入时间、精力和热情来作这件事。此外,前面提到的查找问题并进行调试,几乎是编程过程当中必不可少的步骤。有的时候,很是细微的错误,会致使程序没法运行。而不管是调试错误仍是学会避免错误,都可以培养孩子的细致程度和耐性。
前面提到,编程和写做同样,是一种表达方式,更进一步来讲,它们都是一种比较抽象的表达方式。具体来讲,孩子须要把抽象的思路和想法,用有形的、具象化或符号化的东西表达出来。从这一点来讲,编程是写做的一种延伸,它要求你“书写”出创新的东西,而这是之前所没有的东西,例如故事、游戏、动画、模拟等等。若是没有抽象思考的能力,不能充分发挥本身的想象力的话,是很难作到编程创新的。
编程的过程当中,老是会面临一道道的关卡和挑战,这就要求孩子开动脑筋,积极思考,而且学会利用已有的知识、手边的资源、伙伴和老师或家长的帮助来解决问题。一旦养成这种思考和解决问题的习惯,给孩子带来的成长和收获是巨大的——当他们面对现实生活中形形色色的问题的时候,也将会积极思考,不断尝试和破解难题。
最后,学会编程还将给孩子带来巨大的认同感和成就感。在现代社会中,数字科学和信息技术已经至关普及,并且其发展突飞猛进,这些都极大地影响和改变着咱们的社会和生活。一旦掌握了用数字技术表达本身和解决问题的能力,孩子就会用全新的视角来看待本身,而且会由于拥有这一技能且对社会作出贡献而得到极大的成就感。
编程居然对孩子有这么多的好处,那么你还等什么呢?还不快抓住机会,让你的孩子来学习和掌握这种技能,以这种方式来进行流畅的表达!3d
2 孩子学编程为何要学Scratch?
计算机编程语言的发展大概有几十年的历史。这期间,编程语言经历了从低级语言向高级语言发展的过程。咱们这里所说的低级语言和高级语言,并非指语言的功能和水平等,并且是指编程语言与人类自身语言的接近程度上的区别。低级的语言更加接近于机器语言,计算机理解起来比较容易,人类理解起来比较困难,这是比较底层的语言。而高级语言的语法和表达方式,更加接近于人类自身的语言,须要经过一种叫做编译器和解释器的东西(你可把编译器和解释器想象成翻译人员)将其转换为计算机比较容易理解的机器语言,而后机器才能执行。
你必定已经据说过一些编程语言的名字,好比C、C++、Java、Python等等。咱们如今所接触的这些现代编程语言,通常来讲都是高级编程语言,其语法和人类天然语言比较接近,须要通过编译器或解释器才能转换为机器语言。还有一些更加易于学习的可视化语言,好比Scratch就是一种可视化语言,它们是在高级语言的基础上,通过包装或定制后,才成为更加容易学习和理解的编程语言的。
你可能会问,为何不直接学习C、C++、Python这样的高级语言,而要学习Scratch这样的可视化语言呢?这主要是由于Scratch对于青少年来讲更加容易理解和上手。Scratch包含了讲故事、作动画、设计游戏等功能元素,而这些元素都特别可以激发孩子的学习兴趣。等到他们经过Scratch逐渐熟悉和掌握了编程语言的一些基本原理,再去进一步学习Python或C++等高级语言,就会容易不少。
所以,学习编程须要一个从易到难的过程,而Scratch真的是一种更不错的入门语言,对于孩子来讲更是最佳的选择。
2018年8月1日,Scratch 3.0测试版发布,这是自2013年Scratch 2.0问世以来的又一次升级。Scratch 3.0将可以在平板电脑和手机上使用,而且加入了更丰富的图像编辑、声音编辑、谷歌翻译等功能。另外,Scratch 3.0还能够与LEGO MINDSTORMS EV3和LEGO EDUCATION WeDo 2.0兼容。2019年1月3日,Scratch 3.0正式发布。
大部分教授编程的基础教程都是通关式的,孩子们建立一个程序,移动一个虚拟角色,让它作一些事情并达成目标。孩子们在编写程序解决问题的过程当中,就学习到了编码的技能和计算机科学的概念。
但Scratch不一样。做为Scratch的缔造者,米切尔·雷斯尼克及其团队认为Scratch不只是一种编程语言,更是一个在线学习社区。Scratch专一项目,而不是问题解决,它鼓励孩子们创造本身的互动故事、游戏和动画,从创意开始,把这些想法实现为项目,而后再和其余人分享。
考虑到Scratch线上社区里不一样受众的特色,围绕Scratch衍生的内容也日渐增多。ScratchEd是为教育者专门开发的独立线上资源社区,支持故事分享、互动教育资源、线上讨论等功能。目前,ScratchEd上的教育者资源覆盖幼儿园到大学全学段,内容类型包括教案、课程、评测、教材等,涉及的学科领域有数学、音乐、社会科学、视觉艺术等。
Scratch主要面向8~16岁儿童,而ScratchJr则主要针对5~7岁低龄儿童。相比Scratch,ScratchJr以平板电脑为载体,编程模块的体积更大、素材库中的图片更多、拼插方式也更直接。ScratchJr的界面示意图以下。
除了线上学习社区,Scratch还在世界各地举办名为“Scratch Day”的线下交流活动。2017年,全球举办了超过1000场Scratch Day活动。在各类社交媒体的Scratch社区和论坛,人们用各类语言记录着Scratch Day的编程、分享和游戏体验。
将来的世界充满了新鲜的事物。今天绝大多数的孩子,将来所从事的工做都离不开创造力和创造性。不论是什么年龄段的孩子,学习Scratch不只可以培养他们的计算思惟和创造能力,还能让他们和同龄人、老师和家长分享和沟通。Scratch是孩子们走向将来的一个“创造力游乐场”。
3 学习编程要学哪些书?