谈谈对少儿编程的理解

 学习少儿编程的理由有很多,“编程将会被引入高考”、“孩子再不开始学习就会输在起跑线上”、“未来职业需要”……但是作为在这个领域摸爬滚打了一段时间的人,我想从另外一个角度,谈谈对少儿编程的理解。

 

  编程作为一种工具,是为了让孩子找到一种适合自己的学习方式,最终的目的是让每一个孩子能够更加主动、高效的学习。所以任何脱离了这个目标的编程教学,或多或少都是有一些欠缺的。我觉得对待编程学习,应该有的态度是:编程教学最终的目标应该聚焦在如何通过编程的方式去帮助学生表达创意,而不是聚焦在教会学生编程的基本技巧。

 

  当然,掌握这些编程的技巧是孩子在学习过程中不可逾越的一个阶段。

 

  这个观点似乎有点老生常谈,但我认为从心里面真正理解这条教学目标非常重要,因为这条“纲”指引着课程的设计方向。

 

  为了达到这样的教学目标,从教学设计的角度来看,我认为应该分成“学”和“启”两个阶段。

 

  “学”即编程基础知识的学习,这个阶段最终的目标是帮助孩子掌握编程的基本技巧。以Scratch的学习为例,一些小游戏的设计、Makey Makey音乐的创作、Minecraft的结合等等,大多数孩子都很感兴趣,都可以纳入进来。但是比较重要的一点,是让孩子觉得“编程有意义”,所以孩子课本上学到的、生活中见到的现象是比较合适的主题,而且学习这样的主题也更容易引起共鸣。

 

  比如,将小学数学课上学到的加减乘除运算融合到下面的赛跑游戏中,一方面数学知识有了实际的应用场景,另一方面游戏的设计也能激发孩子的创作热情。

 

  另外,诸如Minecraft等游戏都是孩子比较喜欢的,与其单纯地让他们沉迷于这些游戏中,不如通过编程的方式对这些游戏进行再创作,让孩子觉得学习是与自己的生活息息相关的,从而增强对学习的兴趣。

 

  在完成“学”这个阶段后,孩子已经掌握了基本的编程技巧。还是以Scratch为例,到进入下一个阶段的学习时,根据我的观察,常见的一种做法是给孩子寻找逻辑更加复杂的游戏,以此证明孩子还没有完全掌握编程,或者直接过渡到另外一种编程语言。我的观点是,如果局限在编程逻辑的复杂度上,那这样的学习是没有尽头的,因为Scratch能实现无限复杂的逻辑。而且这样去设计,会给孩子造成学习编程只能编写游戏的错觉,同时也减少了孩子主动应用编程表达想法的机会。

 

  所以,我认为第二个阶段更重要的在于“启”,即以发布小专题或者项目的形式启发学生主动的观察现象、应用编程。这个阶段的学习成果包括其他知识的学习报告、程序的实现、改进的方案等。

 

  比如,“为什么有的玩具小车会自动沿着黑线行驶(循迹)”,针对这样的项目,需要孩子对循迹的原理进行探索,有的孩子就了解到了循迹传感器的原理,原来是与光学上的反射现象有关。然后通过Scratch模拟出一个循迹小车的运行效果。比如,下面的小车就可以沿着赛道自动的行驶,在不同颜色的赛道,小车的速度还不一样。可以看到黑色小车的最前面有红色和绿色的两个小方块,这是孩子了解了循迹的原理后模拟的传感器。

 

  “学”和“启”,更重要的在于“启”,正如Logo语言之父、构造主义(Constructionism)学习理论的提出者——西蒙·派珀特(Seymour Papert)教授指出,我们只需要为孩子营造出可以学习的环境,孩子总能在自己动手的过程中,不经意的学到很多知识。

 

留言与评论(共有 0 条评论)
   
验证码: