Scratch+啊哈C,儿童编程的家庭启蒙!

网友投稿 2018-02-06 23:37

学英语,不是为了当翻译员

学电脑,不是为了当打字员

学编程,不是为了当程序员

https://cdn.china-scratch.com/timg/180208/233KKS7-0.jpg

这个世界有很多好玩又有益的东西,编程就是其中之一。


我陪伴孩子的一个很重要的目的,就是希望将很多健康有益、又充满乐趣的东西介绍给孩子,让他在体验中不断成长、提升能力。


抛开人工智能的火热和信息学奥赛的功利不说,就论趣味性、创造性和个性化而言,编程的确为孩子提供了一个广阔的空间。


这几年市场上涌现了越来越多线上和线下编程培训机构,在此我只想结合自身体会,谈一谈非程序员家庭的儿童编程启蒙。

一、编程对我的帮助

我的专业不是计算机,现在工作中需要用到编程的机会也不是特别多,但编程的思维训练对我的帮助挺大。


最早知道编程,要感谢我远在华为南非区的同学。印象很深刻,1995年前后上初中时,他就让我们看到了在DOS系统下,用编程实现赛车游戏,当时觉得非常神奇,崇拜得五体投地。


进入大学后,开始学习Fortran语言,但那时候我们本科阶段的专业学习需要用编程的机会很少,所以也没有深入接触,不过对编程还是有些兴趣的。


到了研究生阶段,课题研究需要,必须用编程了,于是只能自学C语言和Matlab,并且做了程序混编,第一次写了一个比较大的程序,虽然反复调试过程很艰辛,但当时还蛮有成就感的。


再后来到了博士阶段,需要在专业软件上做一些二次开发,于是又用Visual Fortran结合专业软件开发了一些子程序,开发的过程因为受到接口限制太多,经历了很多挫败,但最终成功时感受到不少乐趣。


毕业当老师后,有趣的是,第一门课居然是给自己专业的本科生上C++,可我以前只会C啊,于是边自学面向对象的内容,边给学生上课。这一上就是4年,觉得还挺有趣的。后来因为专业课多了,就没再上了。


如果不做程序员,那编程对我们到底有什么好处呢?如果你问一个儿童编程培训机构的市场人员,他可以跟你列举出一箩筐的理由,当然绝大部分我都同意。


从我自己的感受而言,一路走来,虽然对编程应用不算多、也不算深,但编程的思维训练对我最大的帮助就是:提升了我综合逻辑思维和优化解决问题的能力、创造力、毅力和自我认同的成就感。

https://cdn.china-scratch.com/timg/180208/233KLL4-1.jpg

当我要编一个解决具体问题的程序时,首先需要去做需求分析、目标分解、功能设计;然后要进行算法(方案)设计,并进行多种方案的比选和优化;接下来要与计算机协作,利用提供的程序平台和编程工具,进行任务分解,模块化编程,并进行综合;最后,要利用编译器的反馈结果进行第一级语法层次的语法错漏排查,然后再利用程序运行的结果进行第二级逻辑层次的算法错漏排查。这是一个迭代修正的过程,考验耐心和韧性,直到最终确认。


当程序最终正确运行的那一刹那,哪怕是很小的一个程序,那种创造带来的成就感蓬勃而生,这就是心理学上所说完成高一级挑战时产生的”心流”,是人类自我认同和幸福能力发展的重要因素。

上面的过程,其实就是我们在实际生活工作中去解决具体问题的思维分析、方案制定、分解实施、反馈修正的过程,因此毫无疑问,编程思维的训练能够让我们工作更高效、更严谨、更优化。

二、“保护眼睛“的编程学习工具

编程学习需要对着电脑,因此需要采取有效的措施减少眼部疲劳。


首先,推荐使用防蓝光显示器。我买的是飞利浦的大显示器。这样,将笔记本与显示器通过HDMI高清线连接后,孩子可以对着防蓝光的显示器进行学习,而且可以坐得离显示器尽量远一些,有助于眼睛保护。


另外,推荐使用防蓝光眼镜。市面上有很多类似的眼镜,我买的是正品日本大品牌JINS的防蓝光茶色眼镜JINS PC for Kids ,选择茶色镜片的原因是因为比常规镜片蓝光阻断率高出一截。

https://cdn.china-scratch.com/timg/180208/233KMI6-2.jpghttps://cdn.china-scratch.com/timg/180208/233KL9D-3.jpg

两款工具自己也使用了下,对减少眼部疲劳的效果很不错。当然,尽管用了保护措施,但仍然要坚持良好的用眼习惯,用电脑学习30分钟后,要看远10分钟,或者毛巾热敷促进血液循环,缓解眼部睫状肌的疲劳。

三、Scratch: 最适合的第一级启蒙工具

因为自身的经历,因此我希望让孩子能够在适合的时候接触编程这个有趣的东西。不过最开始时寻找适合的启蒙工具,着实费了很多脑筋,直到两年前遇到Scratch。


scratch是由麻省理工学院推出的编程工具,毫无疑问它是全世界最适合儿童学习编程启蒙的工具和平台,其形象化的编程环境和积木式的模块设计,使得孩子在电脑中像搭乐高积木一样地使用各个功能积木去构建解决问题的程序。而且,它还免费,有汉化语言,在官网https://scratch.mit.edu/上既可以在线编辑使用,又可以下载离线编辑器常规使用。

https://cdn.china-scratch.com/timg/180208/233KG618-4.jpghttps://cdn.china-scratch.com/timg/180208/233KGV9-5.jpg

我的孩子在第一次接触后,就爱不释手,非常容易上手,连我也觉得挺有趣的,零基础的家长也很容易学会。编程中的顺序结构、选择结构、循环结构,包括递归结构,及其较为复杂的综合结构,都能够在潜移默化的过程中渗透到孩子的逻辑思维中。


选定了启蒙工具后,就要寻找学习资源。市面上有不少辅导书,但个人觉得最适合孩子启蒙的,是日本程序研究员阿部和广的两本著作,强烈推荐:

https://cdn.china-scratch.com/timg/180208/233KJK7-6.jpghttps://cdn.china-scratch.com/timg/180208/233KJ003-7.jpg

阿部和广的书是从儿童的视角和兴趣点切入,采用诙谐幽默的儿童化语言,图文并茂,并且以PBL(Project Based Learning)基于项目的学习方法为主线,通过精心设计的多个游戏式任务,将相关的知识点由浅入深地逐步展开。只要孩子有一定的阅读能力,完全可以自学。


除了书之外,也有很多适合在家学习的网络课程资源,比较知名的当属“西瓜创客“ 了。西瓜创客采用视频录播+在线作业的方式(https://www.xiguacity.cn),最大的优势在于他们搭建了各种游戏场景,而孩子是通过编程让制定角色在场景中完成制定任务,因此游戏开发式的学习方式极大地促进了学生的兴趣。

视频录播的方式虽然不方便实时交互,但与1对1的课程相比大幅降低了成本,同时上课时间灵活而不受限制,因此我个人倒是很欣赏,毕竟编程是思维的语言,并不像英语学习一样需要实时交互。另外,西瓜创客针对孩子科学设计的分级课程体系,完全能够适用于从零基础开始的孩子。

https://cdn.china-scratch.com/timg/180208/233KG318-8.jpg

四、啊哈C: 最适合的第二级启蒙工具

当孩子通过Scratch的启蒙训练后,可以进入到真实编程语言的启蒙了。

适合儿童编程学习的高级编程语言有很多,Basic、Pascal、C++、Python等,多年前Basic和Pascal简单易学,是比较流行的;目前C++则是比较流行的;而未来随着人工智能的火热,Python会越来越流行。

最终我选择了C语言,很重要的原因是我不会Python。而一上来就C++面向对象的话,孩子会比较难理解,而结构化C语言可以与Scratch的逻辑训练无缝对接。

选定C语言后,寻找合适的学习资源至关重要。以我四年C++的教学经验,很多成人化的C语言教材,对初学者而言实在晦涩难懂,别说小学生,很多大学生尚且看得云里雾里。而市面上不少挂着“青少年编程语言教材“标题的书,买回来一看,和成人化的教材无太大差异,我看着都无趣。我甚至都想直接用自己给大学生上课的PPT,看着都比这些教材有趣。

直到偶然间找到的一本C语言”神书“,由啊哈磊编写的《啊哈C语言!逻辑的挑战》。正如作者所述:这是一本小学生坐在马桶上都可以读懂的C语言编程入门书。幽默诙谐的儿童化语言、形象生动的简笔画插图、层级递进的项目设计,可以说是一本上述Scratch少儿编程语言的C语言版。

对编程而言,语言是工具,算法是核心,因此啊哈磊还编了一本《啊哈!算法》,将抽象复杂的常用程序算法幽默形象地呈现出来,绝对是小学生可以在很大程度上自学的算法书。

https://cdn.china-scratch.com/timg/180208/233KS137-9.jpghttps://cdn.china-scratch.com/timg/180208/233KR4E-10.jpg

此外,由于VC++编程软件那很容易令初学者迷惘和生畏的界面,并不适合儿童初学启蒙,于是啊哈磊开发了专门针对入门者的C语言“神器”,简笔画的风格和简单易懂的界面设计,能够让孩子们很快地建立编制、调试和运行程序的能力。最重要的是:啊哈C和scratch一样,这是一款公开免费的软件,在啊哈磊官网http://www.ahalei.com/上可以免费下载。

https://cdn.china-scratch.com/timg/180208/233KT463-11.jpg

VC++界面

https://cdn.china-scratch.com/timg/180208/233KW055-12.jpg

啊哈C界面

五、结语


如果不做程序员,编程是一个很有趣的东西。尤其对孩子而言,在程序世界里,他们就是解决问题的主宰。在他们内心深处,一定会充满自豪:原来,用指尖,也可以改变世界。


--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com