基于最小可行产品和迭代模式的小学编程教学模式探索
2020-10-20郑健
郑健
摘 要:随着国家从顶层开始进行义务教育阶段编程教育的规划、设计、推动,青少年编程教育从2017年开始成为教育界的新焦点,2019年教育部印发《2019年教育信息化和网络安全工作要点》,进一步明确了推广编程教育的工作要求。在编程教育中,通过MVP和迭代模式的结合使用,引导学生从最小的可实现的作品开始制作,然后通过引入新知识不断迭代,优化完善各项功能,让不同层次的学生都可以由简到难,逐步实现作品,并能在迭代的过程中进行自我创新。
关键词:最小可行产品;迭代模式;小学编程
编程已经成为中小学教育中一项非常重要的学习内容,同时是一门新兴的教学课程,探索其教学模式、教学方法显得非常必要。
一、小学编程教育背景及特点
2017年7月8日,国务院印发的《新一代人工智能发展规划》明确指出:实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广。2019年3月,教育部办公厅关于印发《2019年教育信息化和网络安全工作要点》的通知要求:实施学生信息素养培育行动,完成义务教育阶段学生信息素养评价指标体系,建立评估模型,启动中小学生信息素养测评。推动在中小学阶段设置人工智能相关课程,逐步推广编程教育。国家已经开始从顶层开始进行编程教育规划、推动、实施。深圳作为中国特色社会主义先行示范区,早已将编程纳入中小学信息技术课程体系,当前深圳市小学阶段从五年级开始学习编程,培养学生的编程思维、逻辑思维和创新意识。
编程教育与以往的Office系列办公软件等软件应用教学有着很大的区别,软件应用教学中的每个功能是独立的菜单、按钮,多数情况下功能间互不影响,即使不进行某个操作,对整体的学生完成作品效果影响有限。编程教育中,学生的每个作品中包含多行代码,其中任意一个代码错误,则该作品将无法正常运行或无法达到预期的效果。对于尚没有编程基础知识的小学生来说,如何在有限的课程和时间学会一定的编程知识,教学设计就显得非常重要。
二、小学编程教育中的常见问题
编程一般遵循分析、设计、编码、测试、优化这几个过程,在实际教学中普遍会遇到如下问题。
1. 学生过于依赖教材中的代码,脱离教材后进行自主编程能力有限。每个编程作品需要多个模块不同脚本实现,每一课借助某个主题会同时学习多个相互没有关联的命令进行组合,如果换个主题或任务,学生则无法灵活应用。
2. 单节课作品完成度有限,按照传统瀑布模式进行编程,学生往往会先把所有的程序一次性完成,最后才开始测试,而这个时候出现的问题往往不止一处。因为学生的基础有限,每节课只有40分钟,而每个班级有近50个学生,基本上很难快速有效地解决问题,最终导致花了时间但最后并没有收到预期的作品效果,进而影响学生的积极性和兴趣。
三、基于MVP和迭代的教学模式探索
最小可行产品(Minimum Viable Product以下简称MVP),是一种避免开发出并不真正需要的产品的开发策略。该策略的基本想法是,快速地构建出符合产品预期功能的最小功能集合,这个最小集合所包含的功能足以满足产品部署的要求,并能够检验有关用户与产品交互的关键假设。
迭代,是重复反馈过程的活动,其目的通常是逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
编程,指设计具备逻辑流动作用的一种“可控体系”,當前多数是指狭义的计算机编程。为了使计算机能够理解人的意图,人类就必须将要解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
最小可行性产品(MVP),是运用在互联网产品开发中的概念。该概念由Eric Ries在其著作《精益创业实战》中提出,指的是用最快、最简明的方式建立一个可用的产品原型,这个原型要表达出产品最终想要的效果,然后通过迭代来完善细节。最小可行性产品(MVP)不是每个迭代做出产品功能的一部分,而是每次迭代都要交付一个可用的最小功能集合。在中小学编程教学中,通常学生每课学习就是一个任务,即微型产品。
在编程教育中,通过MVP和迭代模式的结合使用,引导学生从最小的可实现的作品开始制作,然后通过引入新知识不断迭代,优化完善各项功能,让不同层次的学生都可以由简到难,逐步实现作品,并能在迭代的过程中进行自我创新。
四、基于MVP和迭代的教学案例
以深圳市当前使用的广东教育出版社出版的信息技术第三册上第七课《小瓢虫找妈妈》为例,本课的主要内容是学会侦测和控制模块的判断语句使用,结合MVP和迭代的教学模式,本课进行了重构,调整主题为贴近学生生活和感受的《小Mo成长记》,小Mo为《机器人总动员》中的清洁机器人,可以实现自动沿着学校操场打扫卫生。
考虑学生有不同的能力和学习兴趣,首先引导学生完成最小可行作品:可以打扫50米直行跑道的机器人小Mo,打扫完成后碰到垃圾桶则结束程序。该部分的新知识点在于侦测模块的碰到使用,直接使用“碰到角色”即可;控制模块的单条件判断“如果……那么……”也是基本功能,学生在实现上基本上不会遇到太多问题。
程序迭代1:跑道通常是环形的,直行机器人Mo无法满足要求,本次迭代需要增加功能实现环形跑道的打扫。该部分通过结合侦测模块“碰到颜色”为Mo增加一双可以判断颜色的眼睛,结合控制模块条件来实现,如果Mo侦测到了左侧的颜色,那么右转一定角度;如果侦测到右侧的颜色,那么左转一定角度,进而实现自动转弯功能。
程序迭代2:Mo在打扫跑道的过程中,总会遇到一些突发状况,比如跑步的学生在操场落下学习用品,Mo会怎么处理呢?还有可能会碰到哪些情况呢?
通过MVP和迭代的教学设计,每个阶段作品通过分析、编码、测试、优化来实现,学生在每个阶段都是在完成一个完整的作品,充分提升学生的学习成就感;在结合实际完成迭代的过程中,学生可以结合分析实际需求和想法,利用已学的知识进行创新,发挥自主创意,进而完成功能完整且富有创意的作品。
五、小学编程教育展望
从国务院到教育部,编程教育由国家顶层规划设计,编程教育在中小学教育中将会越来越受重视。针对小学生的编程教育相较于传统学科以及常规应用软件教育,仍然是一门新兴的学科,其教学模式、教学方法都需要充分考虑小学生的思维特点、知识结构,进行积极探索和实践,进而培养学生的编程思维。基于MVP和迭代的教学模式能很好地解决当前编程教学实践中大班额、时间等的限制,有效地提升学生编程学习的积极性和成就感,同时给予学生足够的自我创新空间;基于MVP和迭代的教学模式探索也还需要更多的教学实践进行优化和完善。