一个少儿编程课程设计师的成长感悟(2)
1
进阶性
之前的文章中曾经介绍过美国的CSTA标准,可以作为少儿编程课程体系制定的参考。在我看来,课程的整体体系需要有进阶性,一个体系内的每部分内容、每堂课之间也需要有良好的进阶性。编程里有很多概念,事件、循环、条件判断、变量等等,在设计案例之前,需要先设定好这一系列课程的主线,案例设计时参照这条主线,否则会显得杂乱无章。
案例之间最好环环相扣,比如前一节课学习了循环这个新概念,下一节课的案例最好应用了循环,然后再学习一个新概念,比如条件判断,让孩子每节课都突破它的已知范围,慢慢地往外拓展,每次都让孩子迈上一个小台阶,既不会觉得过于挑战(台阶过大)又不会觉得过于无聊(原地踏步),如果能达到游戏设计中的flow状态就更好了。
2
前后呼应
案例之间如果能自然衔接或者前后呼应会让孩子有更多惊喜。比如我设计的一堂课,创作“海底世界”的小动画,这堂课里讲到了造型的重复变化,是对“重复执行”这种循环的应用,孩子上完课后自然会问,那能不能让动画里的鲨鱼把小鱼吃掉呢,而下一节课正好就是“大鱼吃小鱼”,讲解条件判断,如果小鱼碰到鲨鱼,那么消失,小朋友想实现这个效果,自然抱着好奇心和求知欲听课。
再比如,一开始做的案例由于水平有限是采用笨一点的办法实现的,学到后面更高阶的知识后用简单的办法重新实现,孩子会产生一种我比之前更厉害的成就感,例如同样是播放一首小星星的歌曲,一开始实现的办法是不断复制叠加播放音符的代码块,到后面学习了列表知识后,用两三行代码就能播放任何歌曲,这就像学了更高深的武功一样。
3
故事性
人天生都是喜欢听故事的,尤其是孩子,如果设计的课程能具有连贯的故事,那是相当有吸引力的。这要求先构想出一个场景或故事出来,再用案例实现每节课的故事情节,同时还要兼顾上文中提到的各个原则,难度增加了不少。当然了,我们也可以借鉴已有的孩子耳熟能详的故事或电影来创作作品,比如制作“星球大战”的系列课程。
对于线上录播课来说,要求课程具有更多的故事性。这方面的代表是编程猫,一直在构建自己的IP形象和源码世界的故事。其他机构在这方面也有不少努力,比如西瓜创客引入了“孙小弟”的形象,贝尔编程引入了西游记的故事场景。其实西游记在这方面有得天独厚的优势,非常适合改编。西游记不仅具有很多故事场景,便于发挥,而且大家耳熟能详,天然是个大IP。非常期待有编程西游这样完整的系统课程出来。我们小时候在电视上观看“西游记”,而这一代孩子在电脑上编程实现“西游记”故事,想想也是挺美妙的场景。
以上就是我认为的设计出一个好的编程案例需要遵循的一些原则(并不需要全部都满足),用下面几句话简单概括一下:
有趣贴切易扩展;
丰富多样跨学科;
合理进阶相呼应;
故事情境帮大忙。
当然,如何把一个好的案例变成一堂好课,还有很多工作要做,我个人也在不断摸索中。这个话题放在后面的文章再来谈一些我的思考。