基于计算思维的儿童编程教学实践

2017-12-07 16:18陈久华
中国信息技术教育 2017年21期
关键词:编程小学生评价

陈久华

周以真教授在美国计算机权威刊物Communications of the ACM上提出“计算思维”后,不但引起了学术界的广泛共鸣,也影响到人们对小学信息技术课程目标认识的变化。计算思维描述了如何利用计算机来解决问题时所利用的过程与方法,它应该与学生的学习、生活密切相关。除了学习信息技术相关知识与原理外,小学生还应掌握信息技术工具与软件的相关操作技能,关注运用信息技术分析问题与解决问题,还要学习计算思维,掌握相应的思维方式。

小学生认知特点是通过直观感知事物的规律。近几年,我们克服一系列困难,开展了基于计算思维的儿童编程教学实践。在教学实践过程中我们发现,编程教学是提高小学生计算思维的有效途径,教师可以将计算思维融入到娱乐性、互动性和艺术性的编程教学中,让小学生在基于现实模拟的情境中初步学习编程知识,归纳、提炼出信息时代应具备的计算思维技能,并培养他们将其运用到学习、生活和实践中,用编程知识来解决真实世界问题,在游戏设计和制作的过程中体会理性、抽象、严谨等计算思维特征的能力。

困难一:

缺少适合儿童计算思维教育的编程教学课程

存在问题:目前小学生的编程教学,从课程的角度思考比较少,缺少系统的课程理念和课程内容研究,教学的随意性比较大,教学的目标往往过分关注具体的编程技术的学习,而缺乏关注编程过程中计算的本质与思维。有些甚至把编程教育与创客教育等同,过度关注最终作品的制作。

解决方法:一个合理的、体现计算思维的编程教学课程,可以固化计算思维教育的课程目标。例如,我们开发了基于Scratch和Kodu编程平台的两门小学生趣味编程课程。课程目标都包含培养编程逻辑思维、培养创新性思维、培养叙事能力、培养解决问题能力、培养合作能力等。其中解决问题能力是指用编程的方法解决问题,叙事能力是指基于程序可实现基础上的故事创作,编程逻辑思维更是计算思维教育的具体体现。课程内容结构分为四个部分:①认识平台,了解用平台编程的基本操作;②基本编程技能学习,通过设计一些功能明确的游戏程序,掌握编程的最基本技能;③设计一些半开放的项目选题,引导学生学会创编故事、需求分析,探究编程技能,逐步形成计算思维;④选题开放的编程作品设计,让学生经由情境介绍、游戏规则、场景设计、编写程序、修改程序等环节,不仅学会编程,更多的是体验一个程序完整的开发过程,知道计算机工作原理和解决问题的方式。

学习活动依据“故事—规则—语句—作品”这一适合低龄段儿童编程教学流程进行设计,有步骤地推进对所编程序的理解。故事编制和游戏规则制订的环节,强化了学生的理性思维;语句编写和作品调试与评价的环节,则体现了学生理性思维的落实和计算机自动化的体验。

困难二:

缺少促使计算思维形成的儿童编程教学方法

存在问题:目前大部分编程教学的方法单一,大多数教师采用了模仿式、传统化的教學,有些教师即便是使用项目教学的方式,也只是简单的套用,学生主动探究与合作的活动较少,对编程教学的过程和思想不够重视。

解决方法:编程教学不仅是编程技能的教学,更是学生计算思维形成的教学,在小学生编程教学中不仅要开展算法与程序设计教学,更要通过编程活动过程,让学生理解抽象、概括、问题解决等计算思维的本质。教师要在编程教学中挖掘教学内容、设计课堂活动,把对现实世界的事物分析,通过抽象和建构成适合在计算机表示的数据结构和形式化的数学模型,用适合计算机编程的形式表达出来,让学生学会思考问题、分析问题和解决问题的思维方法。

1.利用游戏活动提高学生的编程兴趣

根据小学生喜欢玩游戏的特点,编程教学可以制作“游戏”为目的开展,从学生熟悉的、简单的游戏入手,从故事中“抽象”游戏规则,用计算机程序“表达”规则,这样学生能从被动地使用游戏,变成主动地开发游戏,知道原来游戏可以按照自己的意愿设计和执行,大大激发了他们的学习兴趣。学生在编写和调试游戏过程中逐渐理解编程思想,培养计算思维。

例如,用Kodu软件编写《吃苹果》游戏,要求设计一个操纵Kodu吃到苹果的游戏。由于这个游戏符合学生年龄特点,所以学生有兴趣,并在教师的引导下很快确定了游戏规则,填写了相应的游戏规则表(如表1),同时也找到了程序实现的路径。

由于学生可以选择不同的操作方法,设定不一样的奖罚标准,能把机械的编程过程,变成如何实现自己的想法的过程,所以他们在不断调整参数的过程中,玩得不亦乐乎。

2.通过“玩中学”提高编程教学的效率

在通常的小学生编程教学中,教师会采用“观察、模仿、学习”三个步骤,对程序设计采用先讲后练式或边讲边练式的教学方法。虽然学生通过这种方法完成编程作品的时间短、成功率高,但是他们的编程过程机械重复,缺少了思维练习,缺少了创造性实践。如果教师在教学中能合理运用“玩中学”的理念,引导小学生将“玩”和“学”结合起来,通过“玩”来激发他们求知的动力,提高他们动手操作的能力,这样才是开心的、有意义的学习。

仍以《吃苹果》Kodu游戏编程为例,当学生沉浸在移动Kodu吃苹果的游戏时,教师提出了一些问题。

师:游戏场景里如果有一些烂苹果被Kodu吃了,会怎么样?

生:Kodu会生病,Kodu不能吃烂苹果。

师:那在游戏中我们该怎么设计呢?

生:Kodu吃到烂苹果要受罚,要减少分数。

师:好,那大家试着修改你们的游戏吧!

实际上,玩游戏本身不是编程教学的目的,修改游戏规则乃至修改游戏程序也不是为了学习新的语句或编程技术,而是为了强化学生的归纳与抽象思维,强化他们对控制计算机自动化的体验。

3.以项目学习的形式开展编程教学

项目学习是一种基于现实世界的以学生为中心的教育方式,它通过设计真实任务,强调把学习设置到复杂的、有意义的问题情境中,通过学习者的自主探究和合作来解决问题,从而学习隐含在问题背后的知识,形成解决问题的技能和自主学习的能力。endprint

项目学习方式非常适合小学的编程教学。编制程序作品是一项明确的任务,完成程序作品的过程就是项目学习一个完整的过程。《我是小小游戏设计师》就是以一个项目活动方式开展教学的。

首先,学生讨论确定要制作怎样的游戏程序,这是项目学习的选题过程。在这一学习阶段,学生不仅需要设计一个游戏的故事情节,还要考虑到这个故事情节是否可以用已学会的工具和编程技能来实现。其次,对项目要求的分析,即需求分析,这是对游戏程序作品的情节、人物以及关系与行为的描述,也反映了学生在归纳、抽象方面的积极思维以及明确表达的能力。再次,依据需求分析编程,即项目作品的制作,在这一环节,学生不仅可以巩固已学的编程知识,还可以探究学习新技能。最后,进入到项目学习的评价环节,学生通过对程序作品的调试与展示,加深理解作品的设计。

由于项目(活动)学习的形式具有开放性和探究性,所以学生具备主动尝试、主动探究、主动表达、主动评价的时间和空间,再通过阅读教材、向他人提问、尝试操作等方法掌握编程技巧。更重要的是,教师可以通过一些生成性的问题引起学生思考、讨论和交流,從而渗透计算思维的教育,提高学生解决问题的能力。

困难三:

缺少对儿童编程教学评价的关注

存在问题:忽视评价或者把评价等同于考试是目前教学的共性问题。在传统的编程教学中,教师没有重视评价的习惯,通常只是对学生最终的编程作品作一些点评,从而导致学生也只关心最终的程序作品,而忽视程序编制过程中知识的习得和思维的发展。

解决方法:评价导向决定了小学生学习编程的目的。小学生编程教学不同于程序设计竞赛,竞赛关注的是最终程序的质量,而编程教育则关注编程的过程,关注编程过程中学生的习得。作为基于计算思维的小学生编程教学,其教学目标、教学方法渗透计算思维,在教学评价中同样也要渗透计算思维。

编程教学评价的目标之一是考查学生在计算思维方面的达成度,同时也能促进学生在计算思维方面有所发展。学习单是教师常用的一种学习工具,用于指导学生开展学习活动。一份具有教学评价功能的学习单,可以让学生了解自己在某一方面的学习目标达成情况,也能引导他们进一步开展下一阶段的学习。反映计算思维教育的学习单,应该是能促进学生思考,具有计算思维的理性、抽象、严谨等特征。

例如,《小猫走迷宫》是用Scratch编写在玩家的控制下,小猫在迷宫里不碰到障碍物的情况下,走出迷宫的游戏程序。整个教学过程由分析故事找出游戏规则、设计迷宫、完成模块指令设定、调试程序、完成游戏创作等环节组成,下页表2是教师设计的用于评价学生调试程序环节的学习单。

这份评价表是对学生程序调试结果的评价,也是对前期项目实施过程的评价。它不但关注了学生最后编程作品的质量,还关注了编程的过程,如游戏很容易完成,说明游戏规则太简单,学生能在发现问题时及时知道原因,从而有针对性地优化措施,培养了学生缜密的逻辑思维和推理能力;当游戏运行失败时,学生在修改运行模块指令的过程中,首先会匹配规则与指令之间的关系,找出抽象的规则与表达的指令之间的差异,从而为下一步的修改、完善自己的程序找到依据;等等。

小学生编程教学最重要的目标是促进学生的能力、思维的发展和素养的提高,无论是教学理念还是教学方法,教师都应围绕小学生计算思维的形成,在掌握编程技能的基础上,用信息技术学科思维来全面认识和思考未来的信息化社会,从而做出科学、专业的信息化判断,使学生更好地在信息化社会中学会生存、学会创新、学会发展。endprint

猜你喜欢
编程小学生评价
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
他是一个了不起的小学生
学编程,先画画
2006—2016年度C—NCAP评价结果
2006—2015年度C—NCAP评价结果(3)
2006—2015年度C—NCAP评价结果(2)
2006—2015年度C—NCAP评价结果
我是小学生