少儿编程培训Scratch和C语言学习,哪个好?
如果我们希望孩子不要说自己“不是编程的料”,最好的办法就是从第一步开始就让孩子有成就感,从而产生自我效能感,也就是相信自己能达到目标,学好编程。
在这个前提下,如果让孩子学习C或Java等工业级编程,他可能面临的困难不仅仅是编程,还有打字、标点符号使用是否正确、编程语言语法、编译错误等莫名其妙的困难。这些困难会扼杀孩子学习编程的兴趣,找理由说“我不喜欢编程”,就像很多人找无数理由说“我不喜欢数学”一样。这就是拔苗助长,没有形成自我效能感的结果。
欧美有很多创新项目是为了培养孩子未来的创新能力。例如,乐高教育侧重于用物理世界的结构进行构建;乐高WeDo,专注机器人编程;咯吱,专注智能硬件;Scratch专注于提供适合孩子的编程语言和工具。最突出的就是划痕。
Scratch programming language是由MIT和Google共同开发的面向5-12岁儿童的可视化编程语言。学生只需使用鼠标就可以编写自己的故事书、漫画或小游戏。Scratch是培养学生创造力、系统思维和合作能力的好工具。就像Scratch的目的一样:
Scratch帮助年轻人学会创造性地思考、系统地推理和协作——这是21世纪生活的基本技能。
Scratch不仅得到了麻省理工学院的支持,哈佛大学也加入了Scratch的教育家培训,致力于培养更多使用Scratch教学的年轻教师和创新课程。
对于我们的目标群体(8-12岁的儿童),Scratch跳过了高级语言中那些复杂的概念和语法,用图形化表示和拖拽式交互完成编程的核心逻辑和成果交付,既能解决学习曲线过于陡峭的问题,又能让学习过程不枯燥,及时得到结果的反馈,非常适合他们这个年龄段的心智水平和认知能力。
至于为什么要从Scratch开始作为阶梯,然后慢慢过渡到高级语言,我们再来了解一下8-12岁儿童的特点。
现代最有影响力的瑞士儿童心理学家?让·皮亚杰(1896-1980)将儿童的认知发展按照年龄划分为四个阶段,同时也为我们的L0-L5课程设计形成了相应的理论基础:
前操作阶段的标志是符号功能的出现。这个阶段的孩子的语言能力,以及玩耍时把棍子当成枪的“假装”能力,都是符号功能的表现。
而“运算前阶段”的孩子对守恒、可逆等逻辑运算的理解有限。
在“具体操作阶段”,孩子已经很快获得了认知操作能力,能够运用这些重要的新技能去思考事物。具体运算思维表现为对守恒的理解、对关系推理的理解和对运算顺序的理解。而儿童在具体操作阶段的思维是有限的,因为他们只能将操作图式应用于真实的或想象的事物、情境或事件。
所以在编程教育中,儿童往往不是早在“前运算阶段”的后期,也就是6-7岁左右,就直接接触到逻辑和关系推理的概念。而是通过顺序让孩子明白基本的因果关系。
同时,由于儿童在“具体操作阶段”的思维只能映射到具体的事物上,所以高级编程语言中的抽象逻辑、语言和教学方法是这个阶段的儿童难以接受的。Scratch很好的解决了这个问题。通过可视化的“积木”形式,孩子们可以轻松地编写自己的游戏或动画书籍。在Scratch中,孩子们可以很容易地将具体的结果与程序联系起来,从而避免了C、C++等高级编程语言反馈低的学习过程。
因此,对于7-11岁的儿童来说,Scratch的可视化语言可以帮助学生学习逻辑、关系推理和数学的基本概念,同时避免过早接触“正式运算阶段”后才能理解的抽象演绎推理。