查看原文
其他

一个少儿编程课程设计师的成长感悟(一)

2018-04-05 许毅松 芥末堆看教育

芥末堆

芥末堆是一个专注于教育产业信息挖掘与传递的行业内资讯服务媒体平台。

关注

本文作者许毅松

本文编辑|潘    灿

排       版|空    缺


少儿编程在2017年比较意外地火了,火热的形势一直延续到2018年,越来越多的团队、资本、人才进入了这个行业。作为较早入局的从业者,我常收到一些请求,其中大部分是推荐合适的课程设计师,以及对课程开发或合作的咨询。由于少儿编程课程设计是一个新兴岗位,且难以从其他教育品类挖掘现成的人才,成熟的少儿编程课程设计师开始供不应求。


作为一个两年前进入少儿编程行业,并且大部分时间都花在课程设计方面的人,我想通过两三篇文章分享自己成长的点滴和设计课程时的一些思考,希望对刚入行和正在成长的课程设计师有一些启发。


刚开始做课程设计的几个月时间内,我对课程设计还没有一个全面的了解,而课程中编程案例又占了很多比重,因此,这个阶段我的主要工作放在了研发出好的编程案例。大部分刚入行的少儿编程课程设计师应该都处于这个阶段,因此第一篇文章主要讲讲如何设计出一个好的编程案例(主要指图形化编程)。


在我看来,一个好的编程案例,需要满足以下一些原则:


1、有趣


首要的原则就是要有趣,一个无趣的不能引起孩子兴趣的案例即使后面提到的几条原则都满足,也是不能接受的。我想这点是毋庸置疑的,就像数学里的公理一样无需证明。不过一千个人眼中有一千个哈姆雷特,案例是否有趣是一个极其主观的判断,如何有效地判断案例是否有趣,通过实际验课是最好的办法。观察上课时小朋友看到这个案例的反应,他们有没有觉得好玩,迫不及待地想把它做出来。


当然,现实条件可能并不允许每节课都去试课,那么研究小朋友的特点,他们喜欢什么就显得非常有必要。让案例有趣有不少技巧,其中一个办法是在案例中加入流行的游戏元素或者常见的游戏设计技巧,让案例显得酷炫、生动。因此,做课程设计时,我们都被鼓励要多玩游戏,尤其是小朋友喜欢玩的游戏。



2、贴切


案例很大程度上是为讲解编程概念和培养编程思维服务的,尤其在课程早期阶段,要让孩子先理解编程中的各种概念,一个贴切的案例是必不可少的。什么是不贴切的案例?那些不符合实际的,为了讲概念而生搬硬造出来的案例就是。一个典型的反例就是我们小学数学常见的“一个水管进水一个水管出水,何时泳池被灌满”的练习题,以至于被这道题目虐过的90后调侃这个泳池管理员是数学课上五大奇人之一。


举一个我设计的案例作为说明,有一节课要讲解编程里布尔值“True”和“False”的概念,因此设计案例时我结合了游戏中冷却时间的效果做了如下案例。这是一个改编的“捕鱼达人”游戏,当按下空格键发射鲨鱼后,此时发射状态变为False,鲨鱼无法发射出去,等圆形圈重新填满后,发射状态重新变为True,鲨鱼可以再次发射。在这个案例中孩子们不仅能学习布尔值的概念,而且了解了游戏中冷却时间效果的实现机制,不仅贴切,而且有趣,在孩子中取得了很好的反响。


https://v.qq.com/txp/iframe/player.html?vid=j1336vxt6ql&width=500&height=375&auto=0

3、延展性


我们常说少儿编程并不仅仅是让孩子掌握编程技能,我在之前的文章中也提到,少儿编程更重要的是让孩子学会利用编程表达自己。那么,如何在课程或者案例中体现呢?这就需要保证案例的延展性。设计案例时我会预留几个作品改进的方向,保证孩子们可以在我设计的基础版本上延伸出去,在作品中添加更多自己的创意,从而慢慢培养他们发挥自己创意的习惯。


这一点来自一本书的启发,在文章中我经常推荐一本scratch编程的书 —— DK出版社出品的《Coding projects in scratch》。这本书讲述的是十几个编程项目实战,我很喜欢其中一个设计是在每个编程项目之后都有一个“Hacking and tweaks”的版块,列出这个作品可以改进的几个方向,让孩子看完后可以在引导下修改,创作出自己的版本。



4、跨学科


编程是很容易和其他学科相结合的,因此设计案例时我们要利用这个天然优势,结合语文、数学、科学、音乐等学科设计案例,让孩子在编程中应用这些学科知识。举两个我喜欢的例子,有机构设计了“诗词大会”的作品,利用scratch编写一个简单的动画,让其他人猜是哪句诗词,这种作品既可以调动孩子的想象力和创造力,又结合了语文的学科知识;又比如有机构结合数学设计了万花尺的作品,让孩子在创作万花尺图案的过程中学习和应用正方形、三角形、圆形等知识,这些都是很好的案例。



当然,在此也提个醒,单个案例的跨学科容易做,整体的跨学科就难很多,因为那要考虑到另一个学科的进阶体系,同时顾及到两个学科的进阶,难度就不止是原有难度的平方了。在学习编程的同时去系统学习另一个学科的知识,这条路是否可行,我认为有待商榷。


满足了上面四个原则的案例应该算得上一个好案例了,但且慢,一个好的案例并不能单独地来看,还要把它放在整个课程体系中来看,因此作为课程体系的一部分他还需要满足下面的一些原则:


1

进阶性


之前的文章中曾经介绍过美国的CSTA标准,可以作为少儿编程课程体系制定的参考。在我看来,课程的整体体系需要有进阶性,一个体系内的每部分内容、每堂课之间也需要有良好的进阶性。编程里有很多概念,事件、循环、条件判断、变量等等,在设计案例之前,需要先设定好这一系列课程的主线,案例设计时参照这条主线,否则会显得杂乱无章。


案例之间最好环环相扣,比如前一节课学习了循环这个新概念,下一节课的案例最好应用了循环,然后再学习一个新概念,比如条件判断,让孩子每节课都突破它的已知范围,慢慢地往外拓展,每次都让孩子迈上一个小台阶,既不会觉得过于挑战(台阶过大)又不会觉得过于无聊(原地踏步),如果能达到游戏设计中的flow状态就更好了。



2

前后呼应


案例之间如果能自然衔接或者前后呼应会让孩子有更多惊喜。比如我设计的一堂课,创作“海底世界”的小动画,这堂课里讲到了造型的重复变化,是对“重复执行”这种循环的应用,孩子上完课后自然会问,那能不能让动画里的鲨鱼把小鱼吃掉呢,而下一节课正好就是“大鱼吃小鱼”,讲解条件判断,如果小鱼碰到鲨鱼,那么消失,小朋友想实现这个效果,自然抱着好奇心和求知欲听课。


再比如,一开始做的案例由于水平有限是采用笨一点的办法实现的,学到后面更高阶的知识后用简单的办法重新实现,孩子会产生一种我比之前更厉害的成就感,例如同样是播放一首小星星的歌曲,一开始实现的办法是不断复制叠加播放音符的代码块,到后面学习了列表知识后,用两三行代码就能播放任何歌曲,这就像学了更高深的武功一样。



3

故事性


人天生都是喜欢听故事的,尤其是孩子,如果设计的课程能具有连贯的故事,那是相当有吸引力的。这要求先构想出一个场景或故事出来,再用案例实现每节课的故事情节,同时还要兼顾上文中提到的各个原则,难度增加了不少。当然了,我们也可以借鉴已有的孩子耳熟能详的故事或电影来创作作品,比如制作“星球大战”的系列课程。


对于线上录播课来说,要求课程具有更多的故事性。这方面的代表是编程猫,一直在构建自己的IP形象和源码世界的故事。其他机构在这方面也有不少努力,比如西瓜创客引入了“孙小弟”的形象,贝尔编程引入了西游记的故事场景。其实西游记在这方面有得天独厚的优势,非常适合改编。西游记不仅具有很多故事场景,便于发挥,而且大家耳熟能详,天然是个大IP。非常期待有编程西游这样完整的系统课程出来。我们小时候在电视上观看“西游记”,而这一代孩子在电脑上编程实现“西游记”故事,想想也是挺美妙的场景。


以上就是我认为的设计出一个好的编程案例需要遵循的一些原则(并不需要全部都满足),用下面几句话简单概括一下:


  • 有趣贴切易扩展;

  • 丰富多样跨学科;

  • 合理进阶相呼应;

  • 故事情境帮大忙。


当然,如何把一个好的案例变成一堂好课,还有很多工作要做,我个人也在不断摸索中。这个话题放在后面的文章再来谈一些我的思考。


文末也插个软广,有一些人来找我交流,问我课程设计师最重要的是什么?这个问题很大,我谈一谈自己的想法,课程设计师需要“强输入,勤思考,多输出”,要不断输入好的内容,经常思考整理,并积极分享,所谓分享即学习,我整理了一些值得参考的输入源,发布在了我个人的知乎专栏,感兴趣的可以查看。


这篇文章是我作为非科班出身的课程设计师的一家之言,欢迎大家探讨。我的微信号是 wolfbro,大家添加好友时欢迎做个自我介绍。


RECOMMENDATION

推荐阅读

点击下列关键词阅读


精锐教育

陶崇园

VIPKID


浙江新规

硅谷周报

洋葱晚报


投资笔记

湖畔大学

课程顾问


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存