发表时间:2022-03-25来源:网络
在以前的文章里,STEAM教育者之家已经从不同的角度为读者们进行了多次编程教学解惑。本篇文章不仅分析了少儿编程的教学模式,更提供了超实用的教学建议,让您的编程课堂更受孩子们喜欢。
一.常见编程教学模式
按人数分类
1.1对1教学

一对一教学编程课程教学的最大优势便是因材施教。
参加青少年编程课的孩子可通过直播授课服务,与授课教师实时共享当前的编程练习内容,教师将远程协助孩子高效完成学习任务,并依据孩子的性格特征、学习习惯、学习进度、认知水平和未来学习路径(出国学习)等,进行陪伴式授课和个性化辅导。
同时,教师还会根据孩子每节课的实际情况进行反馈,及时调整教学内容,排除孩子在课程中的遇到的各种困难。但由于现阶段成本和家长认知程度等原因,此模式应用较少。
2.小班教学(1对多):哈克尼斯圆桌教学
小班教学能让学员与导师进行更充分地沟通,还能与其他小学员一起分享交流。编程教育需要的并不是填鸭式的知识填塞,孩子们更需要团队合作和互相交流,小班教学完全适合编程教育的课程模式。课上小组围绕同一话题的交流和讨论也是拓展思维和激发创造力的有效方式。

与其他学科的学习相比,编程的学习是一听三看六练习,更加注重的是动手操作,小班人数少,老师可以关注到每一位学生的学习情况,当发现学生有问题时也能最大化的做到个性化指导。小班制更利于开展项目制的学习,培养团队合作的能力,这种良性的竞争和协作精神也会更有助于学生学业与性格的主动健康发展。
按地点分类
1.线下教学
小码王线下教学现场这种培训模式随处可见,而且从古流传至今,前有我们熟知的私塾,后设学堂,再到如今的各种班级。一般都是一个大屋子里坐着几十或者几百个学生,由一位专业的老师在前面意气风发地指点江山,这种环境往往带入感更强一些。
线下教学的时间地点比较固定。授课教师是专门的师资结合,教师的选择上不是很自由,授课期间在课余时间进行答疑。听课质量依据教师个人讲课特点和方法、教师设备、授课教师、学员人数等因素而定。
然而,线下教学一般在一到两小时,每个孩子的理解能力都有时间差异,只能被动的跟着老师节奏学习,没有主动思考和自由发挥时间。一节课下来能做出一个作品,但对于知识的理解很容易不到位。
2.线上教学
线上教学现场
对比线下教学,线上有许多优势:
1、摆脱了地域的限制
当前我国优质的线下少儿编程机构大多集中在一、二线城市,且大城市中的线下少儿编程机构也集中在城市最繁荣的地方或者最好的学校附近。好课程、好机构可能离一部分孩子很远。
而少儿编程线上课程则很好地解决了这一问题,只要有网络有电脑,孩子便可以学习少儿编程。
2、时间成本低
线下少儿编程课需要老师安排教学计划、授课时间、考核目标,课程的主体是“老师”。学生们被动学习,没有老师就不想学、不会学。
线上少儿编程课,学生主要是自主学习,自己主动想学、自己主动会学,同时,自主安排学习计划、学习时间、学习目标,课程的主体变成了学生。
3、孩子可自主选择喜欢的老师
一个领域里的名师毕竟是凤毛麟角,无法满足绝大部分学生的学习需求。但家长总是希望孩子能跟着最好的老师学习,如果是线下课,一个老师一次最多也只能给十来个学生上课,学生太多,再有名、水平再高的老师也难以保证教学质量。
而由名师设计并主讲的线上课程则能够保证课程的质量和孩子的学习效果。更重要的是,孩子能自由选择喜欢的编程老师,能够大大提升孩子的学习兴趣和热情。
4、孩子可以自主控制自己的学习进度

线上课有个重要的优势在于,当孩子遇到不大明白的地方时,可以随时将不明白的地方多听几次。
每个学生的学习能力和学习习惯不同,因此学习进度也不可能完全一样。线下课由于老师要兼顾所有学生的学习进度,因此往往无法为了某个学生而返回去重复某个知识点。
线上课则可以让学生根据自己的学习节奏,采取最合适的学习计划和方法。
当然线上学习少儿编程也有其劣势,比如对于自控能力较差或者对编程并不是很感兴趣的孩子来说,没有老师的监督和亲身帮助,可能很容易就将报名的线上课程扔在一边,或者学习课程时走神不听,课后不完成作业等等。
因此线上的少儿编程课程,对课程本身的质量要求应该比线下的少儿编程课程更高,是否符合孩子的认知规律、是否能够引起孩子的强烈兴趣、是否能够调动孩子的创造力等等,都是线上少儿编程课程所面临的挑战。
二.编程教学建议
1.Scratch 是为小孩子们准备的 ,Python 则适合大孩子们
麻省理工学院的 Scratch 是一个为儿童设计的免费编程工具,可以运行在任何一个现代网页浏览器中。任何人都可以从 https://scratch.mit.edu 运行它。它的视觉风格受到 Logo 程序的影响,Logo 是一个为 80 和 90 年代儿童设计的主流编程课程。但是 Scratch 远不止是 Logo 的山寨版那么简单。
Scratch界面8 到 13 岁的孩子们将会受益于 Scratch 简单的图形界面。Scratch 可以通过拖拽代码块将它们拼在一起。不可计算的代码片段则无法组合,这样杜绝了字面上的语法错误。Scratch 对那些不会打字的小孩子们来说非常有用。
当然,孩子们如果想编写更加复杂的程序,Scratch 就不够用了 。对于青少年来说,像 Python 这种真正的编程语言才更加适合。Python 是一种优秀的首选编程语言,因为它的语法非常简单(不像 Java 或者 C# ),代码可读性高(不像 Perl 或者 JavaScript),并且有强大友好的开发者社区 支持。如果 Scratch 已经无法满足你的小孩,Python 是下一步的最佳之选。
2.展示实际程序的源代码,不要只谈概念
尽管编程以智力著称,但它是个需要动手练习的技能,光靠看书可不行。Python 交互式 shell 命令行鼓励通过实践来发现指令的功用。
Python代码如果你直接教你的孩子,写代码的效率要远高于只跟他们谈概念。即使学会了变量、循环、函数,坐在一个空白编辑器前面编写一个新程序仍然让人恐惧。你应该和他们肩并肩坐一起并讲解每一行需要编写的代码。
或者,如果你想分享在线资源给孩子,尽量找那种小游戏的源代码。最好是代码行数小于200的小程序。
Scratch 网站会自动共享其网站上所有项目的源码。多鼓励你的孩子修改这些代码,然后看看这些改动如何影响了最终的程序。
3.游戏是充满趣味的编程项目

如果你要为课外小组建立一个电脑实验室,并希望节省费用,你通过树莓派和一些闲置的键盘和显示器,就能够达到目的。(通过 树莓派官网和 Ben Nuttall 每月一次的 树莓派专栏寻找免费资源。)另一个推荐是使用便宜的笔记本电脑,尤其是当你没有专门的场地,并且需要在课后把电脑存起来。笔记本电脑只用很少的线,存放起来更容易。
如果做不到每人一台电脑,可以让孩子们结对轮换。记住第 4 个建议:一开始就告诉他们要征求同伴的同意后再使用鼠标和键盘,而不是把同伴推开。
有些孩子可能比较霸道喜欢独自占有机器,不够自信的孩子又愿意让他们占据。把一个小孩设定为 甲,另一个孩子设定为乙,明确告诉小组换位置,这样可以确保甲(或者 乙)公平的使用键盘和鼠标。
6.跳过计算机科学
如果你是一位软件工程师,会常常希望分享编程秘诀。讲解递归泛红填充算法,或者解决来自 Euler Project(一个编程实践问答网站,用户群是那些想提高编程技巧的童鞋)的编程问题充满乐趣。但让初学者一上来就接触这种难题,就不那么有趣了。
你在分享下面这些主题前,要三思而后行:
1)面向对象编程
2)递归
3)设计模式
4)除了lists、arrays 和 dictionaries、hash maps 以外的数据结构(例如:linked-lists、binary trees 等)
5)网络协议(除简单的 HTTP 请求以外的协议)
6)SQL 数据库
7)其它特定领域语言
一个好方法:如果某些问题出现在 Google 的面试题中,最好跳过它们。开始阶段,涉猎广泛的主题好过深入技术细节。让你的孩子自己发现他们的兴趣所在。一旦孩子们尝试了编程世界提供的各种可能,他们会非常高兴探索自己喜欢的那部分。
我们提供创客、机器人、编程等STEAM教育资讯,梳理、分类、确认信息来源,力争每一条干货有用有趣,还靠谱。一键关注,让您的科技教育从此变得简单~
欢迎参与机构号提问讨论&评论回答&私信:-)
微信公众号“STEAM教育者之家”欢迎关注!