小朋友编程入门先学什么软件(干货程序员爸爸)
编者按:或许是因为看到编程在未来社会的重要性,想给孩子报班学习编程的家长越来越多,但如何培养孩子来学习编程,辨别各种各样的机构课程,家长真是需要下一番功夫才行,今天STEAM在线推荐的文章来源于公众号“严爸学习星球”,是一位程序员爸爸分享自己如何教孩子学编程的经历,非常有意思,里面有很多经验值得大家学习和参考!
少儿编程的风一直在吹,很多家长开始让孩子从Scratch入门了,但是很多孩子学习Scratch一段时间之后,家长会迷茫学这个究竟是干什么用的?这个时候,其实需要一个清晰的目标或者说方向,我是一个程序员爸爸,大概罗列了几个目标:
该图片由Pexels在Pixabay上发布
学习编程是为什么?
1、Scratch只是一个工具,熟练掌握这个工具就可以了
毕竟只是一个工具,当能熟练使用这个工具做一些小游戏,做几个动画讲讲故事,可以认为是能够熟练使用这个工具了。这种情况适合于低年级的孩子,当已经可以熟练使用Scratch之后,由于孩子的逻辑思维能力发育不够,没法继续深入学习,这个时候建议适可而止,可以考虑加入硬件电路,我当时让孩子学Arduino就是基于这个原因。
2、通过Scratch来进行逻辑思维能力的锻炼
有些孩子学Scratch会比较慢,这部分孩子的逻辑思维发育有点晚,很难理解双重循环、三重循环、克隆等这些概念,总是没法做出一个完整的作品,之前的文中我有提到,对于这部分孩子,需要的是一个慢慢的思维熏陶过程,除了课上的锻炼,最好家长也能在生活中做一些针对性的改变。
3、参加各种Scratch比赛,高年级参加信奥比赛做准备
很多人学Scratch就是冲着比赛去的,当前的Scratch比赛分为创意类和题目类两种,创意类的一半线上提交即可,Scratch只是作为一个载体,更重要的还是作品的构思能力。另外一类为线下比赛,需要考生独立做试卷,这种比赛最具有代表性的就是蓝桥杯了,需要锻炼孩子的审题能力以及基本算法能力。
4、通过Scratch学习数学知识
通过Scratch来做数学题目,听起来也是比较高大上的,但是必须知道,编程思维解题的方式和奥数还是有很大的不同。不过有了Scratch,只要有合适的切入点,让一个小学生学习初中的数学知识也不是什么很大的问题。毕竟再难的知识也是一个个基础搭起来的。另外就是通过Scratch的强大展现功能,有些知识点也不在只是书中的知识点,而是会动的知识点了。
为什么很多人会放弃?
说完学习的目标或者动机,再谈谈放弃的几种情况:
1、保护视力
(⊙o⊙)…,我认为电脑不能背这个锅,保护视力最好的办法还是增加户外运动。
2、太难了,根本听不懂,没兴趣了;
3、太简单了,应该学更高深的,但是没小伙伴一起;
2、3两点虽然理由不一样,但是实际情况都是因为没有合适的小伙伴,低年级的孩子与孩子之间的差距还是很大的,合适的学习伙伴真的很重要,某种程度上,学而思的分层学奥数的模式,还真是很有必要;
4、看不出究竟学到了啥,还是别浪费时间了;
的确,有时候学东西真看不出有啥用,毕竟潜移默化的改变很难看出来。
5、课外班太多了,排不出时间了;
其实和第四点类似,主要还是看不出有啥用
6、目标已达成,继续下一个征程。
我这样教孩子学编程
2017年孩子上小学一年级,当时候发现学习有Scratch这门选修课,可惜只招五人,名额在报名开始的那一秒就被秒杀,让我感觉很郁闷,想想自己是程序员,教个少儿编程应该没问题吧,就准备自己教了,想想又怕只教一个人无法坚持下去,我在小区一年级群里面吼了一声,谁要学,我准备自己开课教,结果还真有三个家长报名,这样我就开始了Scratch的旅程。
我参考的是李茗研老师放在腾讯课堂上的视频课程,可惜当前已经下线找不到了,学完她的十节视频课程之后,我就开始找各种小项目来给孩子做。就这样,我教了一年,不过孩子太小,才一年级,只有两个孩子的逻辑思维能力形成的比较早,毕竟Scratch在熟悉完积木块之后,自然而然的会开始涉及逻辑思维,有两个孩子每堂课只靠死记硬背,成果虽然有,但是孩子学得累,我教的也累,我在完成扫盲之后就让他们别再浪费时间了,我还是希望以兴趣为先。
这个时候,邻居向我推荐了刘为可。在来我这之前:他已经完成了十节课的扫盲,兴趣很强,会自己钻研(这一点非常重要),当然这个邻居也是受我的影响开课教自己孩子,顺带了她们班的另外几个孩子。
虽然他已经二年级,但是毕竟才上了十节扫盲课,我之前的孩子虽然才一年级,但是已经上了接近二十节课的,所以刚来的时候,还是有点不适应,还是比较受打击的。他在原来班里是学的最好的,转到我这里之后,发现同班的两个一年级的小朋友操作理解的比他还好。但是庆幸的是这种打击并没有影响到他的兴趣,反而激起了他的学习劲头。
这一阶段的教学,我基本上是以Project Based Learning的方式进行的,每次上课前大概花个十到十五分钟时间:提供本次上课需要的素材给他们,大致和他们讲一下要做成什么样,然后让他们各自想象一下做成的结果会是怎么样的,在和我交流完毕之后,孩子们就开始做自己的项目了,中间如果有什么问题,我再一对一沟通。(注:这种方法只适合于家长对你极大的信任,因为每次上课的时间,我需要讲解指导的东西并不多,大部分时间是孩子自己在摸索)。
暑假期间,刘为可凭借垃圾分类大挑战程序参加并获得了2018年浙江省中小学信息技术创作大赛的创意编程项目一等奖(五个名额,宁波只有一个)以及2018年全国青少年创意编程和智能设计大赛三等奖,这个时候,他构思故事的完整性、严谨性,做事情时的专注力开始体现。这两次得奖,学校也进行了相应的宣传和表扬,放大了他所感受到的成功喜悦。
时间到了九月份,孩子们做Scratch项目也做的越来越熟练了,再继续下去将不可避免的涉及到算法,考虑到孩子们的数学基础还是太差,我开始教他们基于Scratch的Arduino课程,找了很多资料,基于Scratch的课程资源基本上都是二次开发的厂家为宣传他们自己的硬件板子而作,很少有使用开源Arduino板子的教材,特为此开了一个公众号,把我准备的课件内容全部发布了一下,虽然更新有点缓慢,但是之前的文章学完也基本能算是入门了,而且我有新的想法也还是会继续发布的,欢迎继续关注。
刘为可学起来很快,但是做事有点跳跃,比较难稳下心来,在用Arduino搭电路的时候经常容易出问题,而且排查起来也不方便,几次在我的要求下全部拆掉重新来过。这一段学习的经历让他更好的培养了他仔细、稳当的做事风格,一次成功率提高了很多。
2019年二月,一次偶然的机会我拿到了第九届蓝桥杯比赛的样题,随手就转发给了他们,让他们在家做一下。做完反馈的结果还不错,但是由于考试场地最终取消了宁波考点,想要考试就必须去杭州参加,最终只有刘为可去参加,因为他爸爸正好在杭州。确认去杭州之后,开始放下Arduino,重新捡起Scratch的学习,所用的资料是蓝桥杯集训的那份文档。基本操作没啥问题的情况下,看一下集训资料,了解一下出题的套路,自学起来还是非常迅速的。在省赛中获得了二等奖,刚好得到了决赛资格。
通过这次省赛,发现瓶颈还是在于编程速度和算法,针对这种情况,在加快速度这个点上,教了一些debug技巧。在算法这块,让他购买力《Scratch趣味编程进阶-妙趣横生的数学和算法》,让他自学算法那几章,不过算法对于三年级孩子来说,自学还是有有点困难,我让他先自己自学,自学的同时,把遇到的问题都记录下来,到了周末来和我探讨遇到的问题,并理解到位。啃完算法之后,我向他推荐了卡搭上的长屿小学朱国顺的账号,https://kada.163.com/u/789173.htm,他的个人主页上收集了不少程序,让他选择性的进去看看别人编的程序。
国赛考完出来的时候,有一道题目来不及做,还有一道因为漏了一个积木而被扣了20分,眼眶已经红了。不过最终半夜公布成绩的时候,竟然拿到了一等奖,还是比较开心的,作为老师也是非常的开心。
因为编程,这个孩子的人生之路已经完全不同了。希望他之后能够在这条路上越走越远。也希望对看到这篇文章的家长、老师有一点帮助。
给孩子的少儿编程路线规划
最近被问到最多的一个问题是学完Scratch是不是可以应该学python了,这个问题其实真不好回答,每个孩子的情况其实都是不一样的,我在这里简单写一下小严走过的编程路,可以给一部分家长一个参考。
小严是从2017年上一年级的时候开始学Scratch的,当时开始教Scratch完全是比较偶然的。这个阶段的学习,不止是作为编程的入门,更是作为表达、创作的工具。用项目制的方式带孩子充分挖掘 Scratch 的功能。每一次课程,孩子都是要首先明白心中的蓝图,再去慢慢实现。更多的是一些故事、游戏类的内容。
在整个一年级的时间段里,基本上都是在一个个的故事、游戏中越来越熟悉Scratch这个工具。毕竟只是一年级的学生,很多高级的用法由于对数学知识的要求比较高,所以没法深入学习。
推荐仔爸的这本书,这本书就是由一个个的项目组成,不过还不是真正意义上的零基础,需要稍微熟悉一点Scratch之后才能跟着书上的项目学,书有配套视频,如果家长可以一起学,那是比较合适的。
二年级的时候,我引入了Arduino,选择Arduino的理由是因为它便宜,由于当时很少有基于开源Arduino板的图形化编程课程,大部分课程都是基于二次开发的硬件板子的,基于开源Arduino板的基本上都是用C语言的。所以我在陪他们玩Arduino的同时,顺便把当时的过程都记录了下来,形成了这么一篇文章:基于Scratch的Arudino课程总结。
如果你是家长,我还是建议你使用二次开发的Arduino套件,不要用开源的Arduino套件,会少很多莫名其妙的错误。具体到某宝上去搜索吧,这里放一个京东的开源板子套件链接供参考。当然也可以使用掌控板,虽然它的集成度有点高,但是也更加适合入门。
Arduino真的是非常好玩的,小严如果有自己的时间,他一般会自己折腾一些东西,给大家看看小严的书桌。
刚发现电烙铁竟然不在上面这张照片上,那就再晒一张吧,小严有一次趁我午睡的时候,一个人偷偷的给这四个直流电机都焊上了导线。
二年级的时候差不多玩了一年Arduino吧,这里我用了一个玩字,低年级的学习,我更加希望他是在玩耍中学到知识,有时候真心希望学习布置的作业少一点,再少一点。
三年级了,我们又回来继续学习Scratch,这个时候主要是通过以赛代练的方式,这个阶段的学习以孩子自学为主,靠上课去参加比赛能够获得一定成绩,但肯定不可能获得好成绩,好成绩的获得必然是孩子自学而来的。一般我推荐下面两本书,当然这两本书是有难度的,如果家长没法辅导,建议孩子把自学过程中遇到的问题都记录下来,然后找一个老师一对一的解答提高效率。
这两本书啃完之后,我会继续让孩子回到Arduino上来的,但是对Arduino的编程语言从Scratch、Mixly切换到C语言上来,继续通过项目式的学习来掌握C语言的基本语法。
这样差不多又是一年吧。等到孩子五年级的时候,如果有潜力就去试试信奥,刷一下算法题,不过信奥这条路实在太难,特别是当前义务教育阶段其它重量级的比赛都停了,只剩这个换了个马甲继续存在。所以入坑要慎重,特别是浙江的孩子。
以下摘录一段来自南瓜博士的 被神话以及被低估的 Scratch 中的一段话
我脑中的路径是这样的:
- 小学低年级就可以学 Scratch,不只是作为编程的入门,更是作为表达、创作的工具。
- 用项目制的方式带孩子充分挖掘 Scratch 的功能;同时如有条件,找好老师教他写优美的代码(优美代码所能培养的思维技能,我以后单开文章来写)。
- 当孩子的项目越来越真实时,少不了会软硬件结合。此时引入 micro:bit 或各种别的硬件。依旧是项目驱动,需要什么就学什么。
- 一般说来小学阶段没必要学文本类编程。除非孩子觉得图形化编程不够用,从而带着目的去学文本类编程,这是应该被鼓励的。例如他想要写个工具处理大量文本,就去学 python 基础语法以及文本相关的类库。最忌讳的,就是急吼吼让孩子学 Python,还很得意孩子都能学会,却没发现自打换了 Python 后孩子自主探索和创作的行为少了很多。
- 等孩子上中学了,再开始系统的学 python 或 java,不迟呢。
关于编程机构
同事孩子已经听了几节编程试听课,感觉还行,于是向我咨询是不是该报班了。我一听愣了,她孩子才幼儿园小班啊,这个时候不是应该玩游戏的吗?机构宣传是如此的给力,连小班幼儿园家长也不放过啊。
虽然ScratchJr的确是适合幼儿园小朋友玩玩的,不过我认为这个阶段是培养逻辑思维能力为主,但是这个能力的培养,不是去机构几节课就能培养出来的,关键还是平时生活中家长的教育引导。对于小班小朋友,我的建议还是多陪孩子玩玩飞行棋、大富翁之类的益智游戏比较好,玩飞行棋可以掌握规则意识,当飞机被炸掉的时候,还能锻炼他抗挫折的能力。玩大富翁就更强了,算地租可是一个很麻烦的事情,极大的锻炼孩子的数学思维。
如果家长真是没啥时间陪孩子锻炼这个能力,那就只能靠钱包来补充了,总归还是会有点用处的吧。
经常看到各种宣传,说编程学的好,会带动学习成绩也好。我觉得这其实是反过来了,实际情况应该是学习成绩好,编程才有可能学的好,这里的学习成绩特指数学逻辑思维能力。
小学一二年级的成绩有很大的欺骗性,家长盯的紧一点和松一点,成绩差距会比较大,但是内在的逻辑思维能力可没那么容易受家长影响而波动如此明显。一般情况下,这个能力需要到四五年级才能展现出来,随着少儿编程这个新的工具的出现,这个能力可以在一二年级就展现出来了,逻辑思维能力更强的孩子,掌握编程手段更快,而且靠自己的理解来掌握的的孩子,运用起来也会更加得心应手。
可惜机构不会告诉家长,你的孩子是否真的适合,如果要靠机构来慢慢培养这个逻辑思维能力,真的是既花时间又花钱的,家长们准备好自己的钱包吧!
以上基本上就是我对自己孩子的一个简单规划和对编程的一些看法了,希望能够给你一点启发。如果觉得有一点共鸣,欢迎转发让更多人看到,谢谢。
(声明:除STEAM在线原创文章外,STEAM在线分享和转载的文章皆为促进STEAM教育在中国的传播,仅做学习交流,非商业用途,都会注明来源,如文章、照片的原作者有异议,请联系后台快速处理或删除,谢谢支持。)
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com