python编写scratch程序 从scratch到python轻松学_学python编程


背景

作为一名资深程序员,深深地相信编程不只是为了工作,而是能真正的塑造一个完美的虚拟世界。在虚拟的世界中,你可以发挥你天马行空般的想象力,很少有功能能经常体验到“创造世界”一样的成就感。

我一直在内心寻找并渴望实现各种完美的软件/智能系统。不过自从有了皮皮后,才深深的体会:小孩要比之前想象的任何智能系统都要更智能和神奇得多。所以:人多力量大确实挺有道理的。

由于我深深地喜欢编程,我想让皮皮也能喜欢上编程 :) 另外,教育小孩编程并不是为了把他培养成未来的程序员,而是编程也能培养小孩的逻辑思维能力、想象力和创造力等。(另外,也曾想过皮皮长大一点是不是就可以帮老爸来编程序了,不过这个想法很快就被老婆打击了,你把儿子培养好,等儿子长大了,你就可以编程给儿子打工了。哈哈,想想也挺好,我这么喜欢儿子,就不用太计较到底谁给谁打工了)

于是开始了皮皮的编程学习之旅。

放羊式的Scratch学习

在皮皮6岁的时候,发现了《DK编程真好玩:6岁开始学Scratch》这本书,感觉仿佛这本书就是为了当时6岁的皮皮设计的,所以,赶紧买了一本来让皮皮学习。

开始时,我还能在旁边和皮皮一起看书,给他讲讲书上的内容,不过由于工作忙(这个是借口,主要还是自己不够重视),后面就主要是有空的时候,把电脑借给皮皮,让他自己按照书上内容“拖拉拽”来编写Scratch程序了。

由于Scratch是图形化的no code编程,虽然简单,确实能让皮皮了解一些编程的基本概念,比如:条件判断、循环、变量等,但是感觉皮皮使用scratch时,主要还是按照书本上的内容和步骤逐一实现到scratch界面上,虽然有趣,但是不知道他到底学到了多少未来有用的内容。

Scratch转到了Python,同样还是放羊,只不过是羊好像变高级了

感觉图形化的Scratch编程相对比较简单(其实我对Scratch了解也不深入), 并不是真正的编程。而国内外也开始流行使用Python来作为少儿编程的进阶语言。

特别是又发现了DK有本新书《DK编程真好玩:9岁开始学Python》,而皮皮也9岁了。于是,在DK的指引下,皮皮开始了Python学习之旅。

虽然Python比Scratch要高级些,而且我也趁着新事物的热度,“耐心”地给皮皮按照书介绍了几章的内容,然后皮皮主要还是自己按照书上指导编写程序,但是深深地感觉到还是不够成体系。

他山之石:参加了Python的体验课

前些天,机缘巧合带着皮皮听了半节Python编程体验课,第一堂课还是比较简单的,发现教编程的老师还是挺青涩的,不过令我印象深刻的是他们培训机构的课程体系。比如:Scratch培训两年的课程大纲,Python的两年大纲,以及后面也会学习AI等热门技术。对于Python编程来说:他们的课程每章都是围绕一个“挑战任务”的,这样方便小朋友能每次课程都能有所成就,提高他们的兴趣!

不过了解到,每周的课程至少要连续上半天,虽然我也知道学习编程必然要长时间的使用电脑,但是这么长时间用眼,非常担心皮皮的视力进一步下降。

开始实践体系化培养(1)

仔细思考了一下皮皮学编程的几个重要点:

  • 少儿编程教育,主要还是培养对编程的兴趣,不能当成职业化教育,更主要是:在保持编程的兴趣的同时,能理解一些编程的思想。
  • 学习不能只是灌输编程的语法知识,而一定是要 Learn By Doing,每一部分要先想清要解决的有趣的问题,然后围绕这个问题,逐步的增加知识点,来逐步完成挑战。从而增加成就感。
  • 我也不能只是自己教皮皮,虽然我的编程经验比较多,但是教小孩编程完全不是一回事。所以,也需要网上找一些合适的教程给皮皮学习。当然,我一定要坐在皮皮周围,给皮皮解答一些他不明白的地方。
  • 每次课程,一定要设置一些相关的习题,让皮皮能在电脑前真的一个单词一个单词的敲进去,然后验证是否正确。

所以,本周日,趁着老婆不在家,开始了“新思路“的第一次教学。特记录一下:

  1. 然后在电脑上,完成了配套的4道题目:

已知name = '麦叔',lang='python'
分别用4种不同的方法打印下面的文本:
我是麦叔,我爱用python

皮皮的相关反馈如下:

心得一:皮皮反馈这个网上的课程很棒,比之前的体验课还有趣

心得二:我和网课老师的分工

这个网课老师教的确实比我更细致些,而且皮皮好像也更加认同别人作为老师。

而爸爸也是很重要的,更像是“助教”和“教练”的角色:

  • 在上课的时候,帮忙解答一些皮皮不明白的地方
  • 在上机编程的时候,解答编程中遇到的错误

心得三:少儿编程的入门点和大人不同

对于大人来说,当我们学习编程时,第一个编写的程序是 hello world, 而对于小孩来说,


print


并没有什么概念。

而今天看网上视频,皮皮非常感兴趣的一个程序是打印“ascii艺术”的机器人,虽然类似hello world,但是对于少儿来说,效果完全是天壤之别。


python编写scratch程序 从scratch到python轻松学_Scratch_02


心得四:编程练习的重要

上课的内容,如果不经过后面的自己实际在电脑上实践,那肯定会很快忘记。但是皮皮对于如下题目还是挺感兴趣:

已知name = '麦叔',lang='python'
分别用4种不同的方法打印下面的文本:
我是麦叔,我爱用python

当他真的实现了4种写法后,他自己非常高兴。

然后又完成了其它3道课后题,他自己非常有成就感。我也趁机加入了一点点 gamification 元素,说: Give me five,恭喜皮皮完成了第一级的挑战,皮皮,你现在Python的编程级别是 1级了,继续加油哦!

有趣的点

  1. 看视频的时候,皮皮发现这个“麦叔”的电脑用户名是“zjueman”,估计是毕业于浙大的,他感觉很亲切
  2. 皮皮本学期开始上英语课了,我趁机说学好英语对编程也是很重要的哦,比如你的python中的变量名就不用写中文了,而是用更规范的英文。 于是,今天皮皮的程序中变量就变成了: zoom 和 wuyifan 。 我一看是皮皮英语书的人物。

附图: 皮皮的编程启蒙书和拼凑来的电脑。