为什么学少儿编程?少儿编程学什么?
在过去我们强调基础知识或者专业知识学习的重要性,但是在信息化时代,教育已经不仅仅是面向学科的知识教育或者单纯的技能教育,更重要的是“泛能力”培养,具体包括三个方面:
信息素养和表达能力
1. 信息素养和媒体素养(Information and Media Literacy Skills)
对信息素养的简单理解就是:“怎样找到需要的信息?”,“在什么地方用什么方法找到信息?”,“哪些信息是需要的?”,从过程上来看就是:界定所需要的信息→寻找搜索信息的方法→收集信息→运用信息→表达信息→评价信息。
信息素养是个人综合素质极其重要的组成部分,它是开拓创新的前提,也是终身教育、学习和不断更新知识的基础,是信息时代人们所必须具备的基本素养。只有具备了一定信息素养的小朋友才有可能将他们的学习延伸到课堂教学环境之外,也才能在步入复杂的社会舞台后进行独立的开拓、研究与发展。
媒体素养(Media Literacy)就是一个人认识、评判、运用传媒的态度与能力,是指人们面对传媒各种信息时的选择能力、理解能力、质疑能力、评估能力、创造能力、思辨性反应能力等。培养媒体素养的目标是具备思辨与创建信息的能力,能够用批判性的角度去解读媒体信息, 而不是盲从与媒体信息的指引,也就是在信息化时代面对海量信息时的独立思考能力。
许多国家如英国、加拿大、澳洲等,早已把信息素养和媒体素养纳入正规教育体系中,例如根据新西兰英语课程纲要,他们的小朋友在五年级时就已加入媒体素养的培训。日本文部科学省于2001年在中小学与高中设立“综合教育”科目,也纳入了媒体素养。香港从1997年教育改革时开始推动媒体教育, 而自2005年推行的英语新课程及2007年推行的中文新课程,也纳入了媒体素养。
在通过编程工具完成一个具体创作(project)的过程中,小朋友们要学习选择、创建和如何使用不同形式的素材(media),包括了图像、动画、文字和录音等,伴随着项目过程的重复开展,小朋友们能够不断丰富对信息、媒体的认知和使用经验,进而在面对周围环境的大量信息时, 能够具备更强的理解能力和判断能力。”
2. 交流能力(Communication Skills)
有效地表达和交流需要具备使用媒体素材的能力,例如读写文字、制作图像、视频等等。通过编程工具完成项目,需要反复选择、制作和集成大量的媒体素材,小朋友们要通过对媒体素材的运用来展示项目的创意和目的,也就是要明确、清晰地阐述自己的设想。因此编程有助于培养表达和交流能力。
思辨和求解能力
3. 推理和系统性思考能力(Critical Thinking and SystemsThinking)
通过编程工具完成创作的时候,小朋友需要调整不同“角色”之间的交互方式和时间顺序,以达到预期的设计效果,例如两个“人物角色”什么时间在什么位置相遇等等。整个过程本质上就是对“侦测”、“反馈”、“运算”和“逻辑判断”等多种基础化的系统概念的反复运用, 从而能够锻炼和提升小朋友的推理和系统性思考能力。
4. 界定问题和相应的解决方案(Problem Identification Formulation & Solution)
完成一个编程项目作品首先需要小朋友规划、构思项目创意(预期的效果),然后确定需要解决的问题以及如何把这些问题分解为若干步骤,最后通过编程工具的“编程积木”拼接来完成这些步骤。编程工具根据“编程积木”的排列,实时、动态地改变效果,也就是当该改变积木的拼接顺序和拼接关系之后,通过鼠标点击积木就可以立刻看到结果,所以能够帮助小朋友们即时发现问题和调整解决问题的思路。
通过这样一个互动的、直观的设计和实现过程,可以让小朋友们沉浸在“发现问题、调整思路、获得经验“的反复迭代过程之中,直接锻炼他们的逻辑和推理能力。”
5. 创意和求知欲(Creativity and Intellectual Curiosity)
在这个不断快速变化的时代,创造性思维是越来越重要的能力。编程能够培养创新能力,因为代码的世界是可以任意发挥创意的世界。
编程工具提供能力强大的编程积木(完全符合面向对象编程概念的积木),丰富的各类编程资源,真正模拟了一个实际的编程环境,所以能够引导和鼓励小朋友们不断地求解未知问题,也就是说小朋友除了学习如何解决预定义的问题,在面对未知问题时依然有意愿、有能力去探索新的思路和方法。
对未知问题的求解会关联到新的知识领域,需要不断学习。所以培养创造性思维的过程同时也会激发求知欲和培养持续学习的习惯。”
人际关系和自我指导能力
6. 协作和协同能力(Interpersonal and Collaborative Skills )
编程工具是通过拼接图形化”编程积木“的方式完成项目,实现”软件效果“,同时项目中所使用的各种资源(包括角色、积木等等)完全可视化,易于理解和认知,因此小朋友们无需了解编程语言的语法知识就能够学习编程概念。另外编程项目本身以及项目中的资源都可以导出共享, 所以小朋友们可以合作完成一个项目,同时也可以彼此交换、共享各自创作的资源。
在合作开发过程中,大家需要对编程项目所包含的任务进行分解、分配,同时还需要把各自创建的“角色”、拼接好的积木进行合并、测试等等,而且整个过程中上述事项还需要重复几次,最终实现最初的项目设计目标。因此合作开发本质上就是一个分工协作的过程,从而能够培养小朋友的协作和协同能力。”
7. 自我指导(自我学习为中心)(Self-Direction)
使用编程工具完成项目时,需要反复构思项目的目标和如何实现这个目标。项目目标源自于小朋友自己的设想,无论是简单或是复杂,对他们而言都极具意义。因此在实现项目目标的过程中,小朋友们就具备了内在动力去克服各种挑战、困难。被自身的意愿驱动实现一个目标的过程就是一个典型的自我指导过程。
8. 责任感和适应能力(Accountability and Adaptability)
小朋友使用编程工具完成项目时,存在特定的受众,也就是项目作品展示给谁看,让谁来体验。同时小朋友们还要考虑其他人对项目作品的评价和反应。面对不同的评价,自身的反应、态度和举措其实就是责任感和适应能力的一种体现。
因为编程工具可以很便捷地调整项目,小朋友们能够根据其他人的意见和反馈,不断地修改自己的项目作品,使其更加合理、完善,也就是针对项目作品的评价和意见,如果小朋友能够有积极的响应态度,那么编程工具可以帮助其快速改进。因此在培养责任感和适应能力的过程中,编程可以给予直接的帮助。”