儿童编程课程的意义 不是为了当码农

网友投稿 2019-05-11 21:13

儿童早期的计算机科学教育

Computer Science in Early Childhood Education

https://cdn.china-scratch.com/timg/190513/21135244B-0.jpg

为了应对21世纪对劳动力的新需求,美国政府已增加了对STEM的重视和投入,以保证年轻人在经济全球化的竞争中“全副武装”。

特别是近来计算机科学成为了美国全国的关注焦点,下至各州上至联邦都出台方案确保学生掌握编程能力,并把它看作是一个对于经济发展和社会流动性来说十分必要的新基本技能。

这其中很多方案集中在K-12和大学教育。然而一些美国的学区,包括旧金山和波士顿公立学校,已经自行发起了Pre-K阶段的计算机科学教育。

对儿童早期教育的投入被认为是一个缩小成绩和阶层差距、并能进一步帮助全社会提高经济和社会福利的最佳方法。

以下的Pre-K阶段计算机科学概念和实践可以为学生之后小学阶段的计算机科学学习打下基础。

这些内容是基于计算机科学在儿童早期教育中应用的相关研究论文以及派珀特的建构主义框架,该理论强调儿童通过实体对象主动参与知识的建构,在这里儿童可以把计算机技术作为工具进行建造和设计,从而发展认知。教师通过提供系统性支持,帮助学生在积极的学习经验中进入更深的参与及更高的认知。建构主义为许多计算机科学启蒙教育的研究和实践打下了基础,并结合早期儿童教育的传统观点使之形成一种亲自动手的、互动的、以游戏为基础的学习环境。

https://cdn.china-scratch.com/timg/190513/21135264b-1.jpg

在上面的示意图中,四个能力组成了儿童早期计算机科学教育实践的整体框架。这四个能力来自于数学、读写、科学以及社会和情绪这几个领域的核心内容,并被早期学习环境中的教育基石——游戏所涵盖。

https://cdn.china-scratch.com/timg/190513/2113531035-2.jpg

社会及情绪学习能力

社会及情绪学习能力:强烈的情绪表达、行为和认知能力为成功的学习和发展提供基础。

社会及情绪学习能力的定义:儿童获得知识、态度、技巧,并有效运用在理解和控制情绪、设立和实现正向的目标、感受和传达同理心、建立和维系正向的人际关系以及做出负责决定这几个方面。

教师可以通过为学生呈现互相分享、合作、支持的机会,培养一种包容的计算机环境。

计算机科学领域中,在创造出最好的产品的团队,来自不同背景成员往往能互相倾听并尊重他人的创意。此外,计算机科学不只是创造产品,更包括高效的(口头及可视化)沟通流程,以及为更广大的受众所提供的解决方案。通过在游戏中培养儿童的社交及情绪能力,Pre-K阶段的班级中同样可以形成这些规则。

https://cdn.china-scratch.com/timg/190513/211353J33-3.jpg

互联网协作平台

计算机科学的教学案例:早教环境中通常没有配备一人一台电脑设备,所以儿童默认两人或多人一起共事。教师可以利用这种天然的条件让学生体验结对编程的方式。在初始阶段,这种方式可以通过展示“我的回合/你的回合”的卡片,学生们来回传递卡片以指定轮到谁来使用电脑,帮助学生学会分享设备。

https://cdn.china-scratch.com/timg/190513/2113532526-4.jpg

再进一步,教师可以提供运用计算机合作学习的机会,学生们一起在电脑前共事去解决一个任务或问题,而不只是分开轮流使用设备。结对编程中包括一个“驾驶员”以及另一个“领航员”。“驾驶员”控制计算机的操作并聚焦在细节上,而“领航员”对问题有一个更广的视角并通过回答问题和检查潜在问题/错误的方式提供帮助。在Pre-K阶段,教师可以让两个学生用同样的 “我的回合/你的回合”卡片来制定驾驶员/领航员角色促进结对编程,鼓励学生提升合作和沟通的技能。

https://cdn.china-scratch.com/timg/190513/21135312O-5.jpg

模式

模式:通过对同样特征的物体和信息进行组织分类的方式,模式帮助我们理解世界。

https://cdn.china-scratch.com/timg/190513/21135351T-6.jpg

在计算机科学中,通过归纳和应用解决方法应对多种情况的方式,模式使人们减少复杂性。儿童早期学习模式可以为发展和使用抽象思维能力、有效解决计算机问题、做出推理打下基础。

发展和使用抽象思维的一个方向是对项目、物体、符号代码进行分类,并识别出同一分类中的共同属性。比识别模式更进一步的能力是抽象思维。而识别模式主要是辨认和描述重复出现的属性,而不是基于这些属性对项目、物体、编码进行分类,或者概况出更普遍的属性去给这些分类下定义(这是K-12阶段的课程标准了)。

https://cdn.china-scratch.com/timg/190513/2113534293-7.jpg

计算机科学的教学案例:在数码世界里,计算机使用模式来组织信息。教师可以展示重复的模式在世界中无处不在。举个例子,在便利店中的随处可见的条形码是用在提供收银机相关商品信息的。条形码运用重复的特征(窄条、宽条、空格)来给计算机下指令。在便利店中扫码设备发出的“哔、哔、哔”也是一种模式,因为它也是一种重复的特征。模式是可以组合的,所以我们可以组合出一个模式:条形码-哔,条形码-哔,条形码-哔。

    https://cdn.china-scratch.com/timg/190513/2113542C1-8.jpg

教师也可以运用一种可视化、积木式的代码编程教育工具,用以展示一种指令模式,并指导学生识别出模式的特征。许多积木式编程语言使用不同的颜色代表不同种类的积木。教师可以演示如何用一系列的指令画出一个简单的图形,比如一个正方形或三角形,然后要求学生们把不同的颜色作为视觉线索从而识别出其中的模式。这是一个导入学生独立创作计算机程序的有效活动。       https://cdn.china-scratch.com/timg/190513/2113542224-9.jpg

https://cdn.china-scratch.com/timg/190513/21135412H-10.jpg

问题解决能力

问题解决能力:儿童通过解决问题构建知识。

很小的儿童在日常生活中当他们与周围的世界进行探索和互动,自然的会进入解决问题的过程。教师可以通过提问来发现儿童的推理和思考的过程(你怎么知道的?是什么让你这么考虑的?),使问题解决可视化。同时也可以提供结构化的理论去帮助学生解决问题。

https://cdn.china-scratch.com/timg/190513/2113546344-11.jpg

在计算机科学领域类似的一种方法是迭代发展过程。这个过程包括:识别一个问题、提出并测试解决方案、评估结果、修改并重来以发现最佳的解决方案。

儿童早早的投入问题解决的活动可以为其识别和界定计算机问题、测试和修改策略、生成和评估计算机式解决方案打下基础。

计算机科学教学案例:在教室里,有时候科技设备不能用了,教师可以引导学生用类似的问题解决过程去发现为什么。他们可能会去看看设备是否打开了、是否是没电了,或者是外部的损坏。这些不同步骤的检查对于发现为什么科技设备罢工以及怎样让它重新工作是很重要的。

https://cdn.china-scratch.com/timg/190513/2113553217-12.jpg

展示

展示:人们可以用象征符号来传达概念。

任何有印刷体的语言都是一种语言表现形式的例子。比如英语,词汇和短语就能表现对应语言的声音及意义。同样的,计算机语言就是用数字、文本和符号来表现

在儿童早期理解“展示”的含义,可以为理解计算机如何表现信息和模拟系统的行为打下基础。

计算机科学教学案例:儿童可以在智能手机上看到一种app图标的表现形式,在这里不同的图标代表不同的app。在计算机领域,也有其他一些按键是可视的。比如开/关键和汽车中的数字仪表盘,这些都是计算机领域中不同表现形式的代表。教师可以鼓励儿童在教室中探索计算机设备上不同的符号表现形式。

https://cdn.china-scratch.com/timg/190513/21135562P-13.jpg

此外,计算机运用符号的表现形式使运行更高效。举个例子,计算机用颜色代表数值。电脑上打开一个文字处理、绘画或图片处理软件,学生可以用RGB颜色值来玩配色。教师可以指出电脑是如何用数字表达颜色,以及如何改变数值来改变屏幕上显示的颜色。

https://cdn.china-scratch.com/timg/190513/2113551354-14.jpg

RGB颜色值

https://cdn.china-scratch.com/timg/190513/2113551a1-15.jpg

排序

排序:排序是指用一种特定的顺序排列事件、想法和物体。

儿童常常通过读写和数学学习排序。比如儿童学到故事是有顺序的(开头、中间、结尾)。同样的,顺序可以在数字(第一、第二)、尺寸和大小(最小到最大)中发现。在计算机科学中顺序是算法的基础,算法是一系列精准的指令,指挥计算机完成特定的任务。因为计算机会严格按照指令运行,所以人们需要用固定的顺序来下指令,如果指令没有按照固定顺利,算法不会实现预先的结果。

儿童早期学习顺序可以为学习算法编程提供基础,算法编程是计算机问题解决、抽象思维和创作模型的核心。举个例子,通过理解指令是由一些特定顺序的模块实现,儿童可以把复杂问题分解为更小的步骤,按照顺序可以解决问题。

https://cdn.china-scratch.com/timg/190513/2113562R9-16.jpg

编程指令的顺序

计算机科学教学案例:学生可以使用简单的积木式编程工具去创作由有顺序的指令组成简单的算法和程序。这些工具允许学生绕过传统文本语言中阅读打字的障碍。它们通常是触摸互动,并且减少了指令模块以让儿童更容易去学习编程。可视化的积木代表指令,指挥电脑运行一些小程序,例如动画。

https://cdn.china-scratch.com/timg/190513/2113563595-17.jpg

积木式编程工具

同时也有一些机器人,Pre-K阶段的学生可以使用实体的积木/模块去创造一系列指令,让机器人读取后移动、发出声音和亮光

https://cdn.china-scratch.com/timg/190513/21135A094-18.jpg

玛塔儿童编程机器人的音乐模块

https://cdn.china-scratch.com/timg/190513/21135Cc7-19.jpg

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com