小鱼的编程学习之路(1)

由于我们自己是认为编程能力,是一个未来挺重要的能力,所以也是希望孩子能够尽早接触学习。当然也担心最初学习过程太枯燥影响她的兴趣,所以没有报班。而是自己着手尝试与她一起学习。说一起学习,是因为自己也是个刚开始自学编程的新手程序员,并不是很专业。

Hello Ruby 儿童编程大冒险

首先在她二年级的时候,我们买了这本书《Hello Ruby 儿童编程大冒险》,我按照书里的概念和游戏方法给她介绍了编程的一些基本概念。

这是芬兰的一位女性程序员、作家和插画家编写的儿童编程启蒙书,配以桌游的形式。如果是光看这一本书,其实没什么意思的,比较简单。实际上它更像是一本教学的工具书,更多都需要亲子一起玩。如果没有一位懂点编程知识的大人在旁陪读,是很难发挥其作用的。这本书不涉及具体的编程语言,更多还是编程思维的基础培养。从后面的训练游戏内容,能看出作者认为编程的重要基础也是这几个方面:模式识别、分解、抽象、算法;而对应的具体的编程技术就是序列、循环、判断、变量这些。

在作者网站 https://www.helloruby.com 里还配了许多扩展包任务工具,它们是很好的补充,但是中国的读者很多都没有接触到。不管国内读者对这本书的评价如何,我们能感受到这个作者是真正热爱儿童教育的人,并非是赶热潮捞一笔的那种编程读物。同时也能感受到芬兰 🇫🇮 这个国家的国民对创新教育的在意。

Scratch

往后就是给她尝试玩 Scratch。Scratch 是最主流的少儿编程软件,主打是图形化、积木搭建式的编程模式。有足够多的内置命令,方便孩子按自己意愿发挥。

那时候学校刚好有个午休的兴趣班,也报名让她去上了。兴趣班上虽然老师也不会讲太多,就是有些例子照着做,即使孩子捣鼓出一些效果,也不代表她真正理解编程底层的一些基础概念。但没有关系,毕竟先玩,有兴趣了,后期再有专门的学习去弥补抽象的概念即可。


Swift Playground(mac)

到了四年级暑假,感觉她要再上一个台阶了,继续自己玩 scratch 已经学不到太多。于是我自己试着教她编程,用到的资料主要是苹果电脑上的一个编程学习应用 Swift Playground。它设计了一系列面向孩子的游戏化的教程。它虽然是以苹果自家的 Swift 语言为基础,但其实 Swift 的基本语法,例如 (.) 点语法还是很易懂和具有通用性的。不管未来迁移到什么其他语言,都受用。我认为 Swift Playground 教程内容设计最好的地方,是它很强调编程的思维,并不只是语法。这在少儿编程学习中更重要,毕竟N年后语言的变化大家都不知道会怎么样。

Swift Playground 应用内的交互式课程有很多,适合儿童学习编程基础概念的主要是以下几个,阅读这几个就够了。其他很多是面向成熟苹果应用开发的了。

  • 编程入门:开始你的编程之旅 ✅
  • 学习编程1:Swift基础 ✅
  • 学习编程2:Swift进阶 ✅


iCode 编程平台

五年级的时候,学校的午休兴趣班有一个 Python 编程相关的。这个课主要是以“控制一个机器人在地图上收集能量的游戏”形式,训练孩子的基础编程思维。这个游戏和之前我跟她在苹果电脑上玩的 Swift Playground 很像,所以孩子上手会比较快,也容易衔接,所以就给她报了。老师上课其实讲的概念也不是很深刻,主要是让她们自己过关玩,她自己似乎也能解决不少关卡,就是速度比较慢。

后期每次我看她被一些问题卡住,我就要自己尝试去解,这就是“一起学习”吧😄。毕竟这些题有些我也要想很久才能做出来。在做题过程中,发现中间有些地方还挺技巧性的,当然也会有“这种做法只是应付考试会用”的感觉。但想到各种刁钻的想法,其实也是对孩子的一种启发,说不定未来什么场景能用上,也就无所谓了。

玩了大半学期,老师让她们试着参加一下 iCode 省内的“青少年信息素养与智能创新大赛火星探险挑战赛”,我们也没什么准备,结果还意外地拿了个二等奖。紧接着老师建议她们这些获奖的孩子可以继续参加一个月后的 WRC 省内挑战赛,那个就比较难了。于是我们临时抱佛脚地跟孩子刷了几周的题,最终去现场参加了几百人的省内选拔赛,最终也还挺惊喜的拿了二等奖。

其实二等奖和一等奖差别也不是特别大,我觉得如果能是更专业的老师来教,或者更系统的训练,应该是可以达到的。但自己的水平和两人的时间也只能支撑到此了。

接下来,图形化编程的路似乎也走差不多了。后面是否还要学编程,以及学一些什么比较好呢?又得好好想想。例如后面学校老师也让顺便参加了区的 Python 的比赛,但这种就不是 iCode 那种偏逻辑思维的,而是偏向于 Python 语言语法本身。那如果不记,就做不了。但如果这么早去记语法,其实在 AI 时代意思不大。而且是选 Python 还是 C++ ,也拿不准。C++ 更适合初中竞赛,但那个语法实在不如 Python 可读性强。

等后面想清楚了,我再来记录小鱼的编程学习之路(2)

微信扫码打赏