一个少儿编程课程设计师的成长感悟
  少儿编程在2021年比较意外地火了,火热的形势一直连续到2020年,越来越多的团队、资本、人才进入了那个行业。作为较早入局的从业者,我常收到一些要求,其中大部分是举荐合适的课程设计师,以及对课程开发或合作的咨询。由于少儿编程课程设计是一个新兴岗位,且难以从其他教育品类挖掘现成的人才,成熟的少儿编程课程设计师开始供不应求。
  作为一个两年前进入少儿编程行业,同时大部分时刻都花在课程设计方面的人,我想通过两三篇文章分享自己成长的点滴和设计课程时的一些摸索,期望对刚入行和正在成长的课程设计师有一些启发。
  刚开始做课程设计的几个月时刻内,我对课程设计还没有一个全面的了解,而课程中编程案例又占了专门多比重,因此,那个时期我的要紧工作放在了研发出好的编程案例。大部分刚入行的少儿编程课程设计师应该都处于那个时期,因此第一篇文章要紧讲讲如何设计出一个好的编程案例(要紧指图形化编程)。
  在我看来,一个好的编程案例,需要满足以下一些原则:
  1、有味
  首要的原则确实是要有味,一个无趣的不能引起小孩爱好的案例即使后面提到的几条原则都满足,也是不能同意的。我想这点是毋庸置疑的,就像数学里的公理一样无需证明。只是一千个人眼中有一千个哈姆雷特,案例是否有味是一个极其主观的判定,如何有效地判定案例是否有味,通过实际验课是最好的方法。观看上课时小朋友看到那个案例的反应,他们有没有觉得好玩,迫不及待地想把它做出来。
  因此,现实条件可能并不承诺每节课都去试课,那么研究小朋友的特点,他们喜爱什么就显得专门有必要。让案例有味有许多技巧,其中一个方法是在案例中加入流行的游戏元素或者常见的游戏设计技巧,让案例显得酷炫、生动。因此,做课程设计时,我们都被鼓舞要多玩游戏,专门是小朋友喜爱玩的游戏。
  2、贴切
  案例专门大程度上是为讲解编程概念和培养编程思维服务的,专门在课程早期时期,要让小孩先明白得编程中的各种概念,一个贴切的案例是必不可少的。什么是不贴切的案例?那
些不符合实际的,为了讲概念而生搬硬造出来的案例确实是。一个典型的反例确实是我们小学数学常见的“一个水管进水一个水管出水,何时泳池被灌满”的练习题,以至于被这道题目虐过的90后调侃那个泳池治理员是数学课上五大奇人之一。
  举一个我设计的案例作为说明,有一节课要讲解编程里布尔值“True”和“False”的概念,因此设计案例时我结合了游戏中冷却时刻的成效做了如下案例。这是一个改编的“捕鱼达人”游戏,当按下空格键发射鲨鱼后,现在发射状态变为False,鲨鱼无法发射出去,等圆形圈重新填满后,发射状态重新变为True,鲨鱼能够再次发射。在那个案例中小孩们不仅能学习布尔值的概念,而且了解了游戏中冷却时刻成效的实现机制,不仅贴切,而且有味,在小孩中取得了专门好的反响。
  3、延展性
  我们常说少儿编程并不仅仅是让小孩把握编程技能,我在之前的文章中也提到,少儿编程更重要的是让小孩学会利用编程表达自己。那么,如何在课程或者案例中表达呢?这就需要保证案例的延展性。设计案例时我会预留几个作品改进的方向,保证小孩们能够在我设计的基础版本上延伸出去,在作品中添加更多自己的创意,从而慢慢培养他们发挥自己创意的适
应。
  这一点来自一本书的启发,在文章中我经常举荐一本scratch编程的书 —— DK出版社出品的《Coding projects in scratch》。这本书讲述的是十几个编程项目实战,我专门喜爱其中一个设计是在每个编程项目之后都有一个“Hacking and tweaks”的版块,列出那个作品能够改进的几个方向,让小孩看完后能够在引导下修改,创作出自己的版本。
  4、跨学科
  编程是专门容易和其他学科相结合的,因此设计案例时我们要利用那个天然优势,结合语文、数学、科学、音乐等学科设计案例,让小孩在编程中应用这些学科知识。举两个我喜爱的例子,有机构设计了“诗词大会”的作品,利用scratch编写一个简单的动画,让其他人猜是哪句诗词,这种作品既能够调动小孩的想象力和制造力,又结合了语文的学科知识;又比如有机构结合数学设计了万花尺的作品,让小孩在创作万花尺图案的过程中学习和应用正方形、三角形、圆形等知识,这些差不多上专门好的案例。
  因此,在此也提个醒,单个案例的跨学科容易做,整体的跨学科就难专门多,因为那要考
虑到另一个学科的进阶体系,同时顾及到两个学科的进阶,难度就不止是原有难度的平方了。在学习编程的同时去系统学习另一个学科的知识,这条路是否可行,我认为有待商榷。
  满足了上面四个原则的案例应该算得上一个好案例了,但且慢,一个好的案例并不能单独地来看,还要把它放在整个课程体系中来看,因此作为课程体系的一部分他还需要满足下面的一些原则:
  1
  进阶性
  之前的文章中曾经介绍过美国的CSTA标准,能够作为少儿编程课程体系制定的参考。在我看来,课程的整体体系需要有进阶性,一个体系内的每部分内容、每堂课之间也需要有良好的进阶性。编程里有专门多概念,事件、循环、条件判定、变量等等,在设计案例之前,需要先设定好这一系列课程的主线,案例设计时参照这条主线,否则会显得杂乱无章。
  案例之间最好环环相扣,比如前一节课学习了循环那个新概念,下一节课的案例最好应用了循环,然后再学习一个新概念,比如条件判定,让小孩每节课都突破它的已知范畴,慢慢
地往外拓展,每次都让小孩迈上一个小台阶,既可不能觉得过于挑战(台阶过大)又可不能觉得过于无聊(原地踏步),假如能达到游戏设计中的flow状态就更好了。
少儿编程分为哪几个级别
  2
  前后呼应
  案例之间假如能自然衔接或者前后呼应会让小孩有更多惊喜。比如我设计的一堂课,创作“海底世界”的小动画,这堂课里讲到了造型的重复变化,是对“重复执行”这种循环的应用,小孩上完课后自然会问,那能不能让动画里的鲨鱼把小鱼吃掉呢,而下一节课正好确实是“大鱼吃小鱼”,讲解条件判定,假如小鱼碰到鲨鱼,那么消逝,小朋友想实现那个成效,自然抱着好奇心和求知欲听课。
  再比如,一开始做的案例由于水平有限是采纳笨一点的方法实现的,学到后面更高阶的知识后用简单的方法重新实现,小孩会产生一种我比之前更厉害的成就感,例如同样是播放一首小星星的歌曲,一开始实现的方法是不断复制叠加播放音符的代码块,到后面学习了列表知识后,用两三行代码就能播放任何歌曲,这就像学了更高深的武功一样。
  3
  故事性
  人天生差不多上喜爱听故事的,专门是小孩,假如设计的课程能具有连贯的故事,那是相当有吸引力的。这要求先构想出一个场景或故事出来,再用案例实现每节课的故情况节,同时还要兼顾上文中提到的各个原则,难度增加了许多。因此了,我们也能够借鉴已有的小孩耳熟能详的故事或电影来创作作品,比如制作“星球大战”的系列课程。
  关于线上录播课来说,要求课程具有更多的故事性。这方面的代表是编程猫,一直在构建自己的IP形象和源码世界的故事。其他机构在这方面也有许多努力,比如西瓜创客引入了“孙小弟”的形象,贝尔编程引入了西游记的故事场景。事实上西游记在这方面有得天独厚的优势,专门适合改编。西游记不仅具有专门多故事场景,便于发挥,而且大伙儿耳熟能详,天然是个大IP。专门期待有编程西游如此完整的系统课程出来。我们小时候在电视上观看“西游记”,而这一代小孩在电脑上编程实现“西游记”故事,想想也是挺精妙的场景。
  以上确实是我认为的设计出一个好的编程案例需要遵循的一些原则(并不需要全部都满足),用下面几句话简单概括一下:
  有味贴切易扩展;
  丰富多样跨学科;
  合理进阶相呼应;
  故情况境帮大忙。
  因此,如何把一个好的案例变成一堂好课,还有专门多工作要做,我个人也在不断摸索中。那个话题放在后面的文章再来谈一些我的摸索。