面向计算思维培养的小学编程教学设计流程构建

    赵健如 王颖 侯岩 王玉龙

    

    计算思维作为信息素养的核心维度,已经成为每一个社会个体的必备素养。2017年的《地平线报告(基础教育版)》中指明,培养中小学生的计算思维是21世纪的一个重要课题。[1]2017年7月,《国务院关于印发新一代人工智能发展规划的通知》中指明,国家对于人工智能人才的迫切需求,要求实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育。[2]《2019年教育信息化和网络安全工作要点》中表明要启动中小学生信息素养测评,并推动在中小学阶段设置人工智能相关课程,逐步推广编程教育。[3]因此,从小学阶段开始编程教育的启蒙,并与中等教育一以贯之,培养小学生的计算思维就显得尤其重要,而如何在编程教学中有效地培养计算思维已经成为当前的研究热点。

    ● 计算思维的概念与内涵

    1.计算思维的概念

    周以真教授2006年在美国权威刊物上发表了Computational Thinking一文,将计算思维定义为:“运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。”[4]2016年,我国普通高中信息技术课程标准修订组提出,计算思维是指个体在寻求问题解决方案的过程中通过应用与总结计算机相关方法而形成的诸多思维活动。

    本文所理解的计算思维是建立在问题解决基础之上的,并吸收了多种观点通过总结而来,即计算思维是指学生在解决问题的时候,在不断反思优化所用方法的过程中所开展的一系列思维活动和形成的一系列思维方法。

    2.计算思维的内涵

    本文在周以真教授和信息技术课程标准对计算思维的定义的基础上,将计算思维具体分为分解思维、抽象思维、算法思维、系统化思维、自动化思维(如下页表)。[5]

    ● 小学编程教学的现状与问题

    自从计算思维纳入信息技术新课标,并列为信息技术学科核心素养之一后,各地小学都结合实际情况根据新课标对信息技术课程进行了改革,增大了编程教育的比重,不过从总体上来看,编程教育的普及率还有待提高。本研究通过实地见习和查阅相关文献资料,了解到我国小学编程教育目前存在以下三方面的问题:①注重编程技法的传授,忽视思维的培养;②教授方法枯燥,无法激起学生兴趣;③重视结果评价,忽视过程评价。

    ● 面向计算思维培养的小学编程教学设计流程构建

    面向计算思维培养的小学编程教学不再片面强调知识、技能的传授,而更加注重思维的训练与培养,教师要创造快乐有趣的学习环境,改变传统的教授形式,对学生思维的积极性、创造性进行有效激发。任务驱动教学法是以建构主义学习理论为基础,以解决问题、完成任务为主的多维互动教学,让学生保持积极的学习状态,根据自己对当前問题的理解,运用已有的知识与经验提出方案并对问题进行解决。它的基本环节主要包括:确定问题或任务-创设情境-自主、协作学习-效果评价。任务驱动教学法的学习流程比较灵活,避免了单纯的以线性方式开展教学活动,可以让学生充分发挥想象力,培养其创造性的思维。

    任务驱动教学法的核心理念与当前编程教育的诉求高度契合。因此,本研究借鉴任务驱动教学法的实施模式,融合游戏化学习理念,构建面向计算思维培养的小学编程教学设计流程,通过对课前、课中、课后阶段的教学流程、教师活动、学生活动的探究初步建立如下图所示的教学设计流程。

    1.课前阶段

    (1)任务、活动设计

    小学编程课教师在授课前要对学生、学习内容、学习目标进行分析,根据学生掌握编程知识和技能的实际程度以及小学生群体特征,对任务、活动进行合理详细的设计,将计算思维的五个维度与小学编程教学的内容进行融合设计,形成系列活动任务。学生在完成任务的过程中,习得相关知识与技能,进行思维训练。

    (2)学习资源设计

    授课前,教师需要将教学PPT、引导学生任务分析的系列问题集以及与课程相关的各种案例资料整理好,对一些关键知识,教师可以制作成微课来让学生学习,另外授课教师需要制作任务学习单和课堂评价量表。

    2.课中阶段

    (1)任务导入

    在进行任务导入时,教师要结合生活场景,创设有趣并且符合小学生已有知识水平的情境。[6]小学编程的学习内容逻辑性比较强,实践操作较为枯燥,教师可以通过创设游戏情境来进行任务导入,组织小组活动激发学生对编程学习的兴趣。在情境创设中,授课教师要巧妙设疑,触发认知冲突,激发探究动机。

    (2)共同探讨,任务分解

    在授课教师导入任务之后,学生需要对具体的问题或任务进行分解。考虑到小学生思维尚不成熟,不具备自己完全独立或者只靠小组内合作讨论来解决编程任务的能力。授课教师此时就要引领学生对任务问题进行了解、探讨以及分解,利用课前准备好的学习任务单对其进行辅助,将任务问题分为若干个子问题。通过对复杂问题的分解,如设置选择和填空来帮助学生探寻问题本质,降低小学生学习编程的难度,为之后的自主探究与小组合作阶段奠定基础。

    (3)任务解决

    通过问题界定和任务分解,学生对整体的任务已经有了一定的了解,明确了具体的目标。接着学生自己试着进行探寻摸索,然后通过开展小组合作等形式来解决问题。学生在该阶段基于教师提供的“脚手架”资源,借助教师的现场辅助,运用计算思维中的分解、抽象、算法、系统化、自动化思维对问题进行分析、思考和解决。

    首先,进行抽象分解。这是计算思维培养的关键点,授课教师要积极进行启发指导,帮助学生抽象问题。学生作为学习的主体应该自己慢慢地去体会抽象在问题解决中的便捷性,逐步养成对复杂问题进行抽象的习惯,并将此迁移到实际生活中。抽象与归纳的思想可以说是计算思维的本质。[7]教师通过让学生对编程问题归纳抽象,使学生们渐渐习惯于以这种方式思考问题。

    其次,进行解决方案设计。要求学生对问题进行系统化的分析、理解,提取出重要的内容,然后小组讨论用自然语言描述解决方案,锻炼学生的系统化思维与算法思维。各小组描述的解决方案需要得到教师的反馈与建议。

    再次,进行流程图设计。流程图是对之前的步骤进行总结、梳理和转化。流程图更接近于程序设计,让抽象的问题更直观化,更容易理解。学生根据教师提供的学习任务单对问题进行分解抽象,以此来提高对复杂问题的耐心度。将之前用自然语言描述的方案按照相应的顺序画出流程图,在这个过程中,学生的思路会越来越清晰,系统化思维和算法思维都有所提升。

    最后,进行编程实践。学生以小组为单位,将前面设计好的程序进行实操,进而验证之前想法的正确性。上机进行实践可以让学生对程序的运行过程有更加清晰的了解,通过反复操作,他们会发现程序运行中所存在的问题。

    (4)展示评价

    各个小组向大家展示、讲解本组的编程作品,教师启发大家进行思考交流并组织学生进行自我评价、组内评价以及组间评价,找出最优化的独特的作品。在交流评价的过程中,一些新的想法与创意会迸发出来,授课教师在这个过程中还要留心观察学生的状态,对学生知识点掌握的情况进行预判。最后,教师也要对每组的编程作品进行评价,总结大家存在的问题,共同探讨解决的办法,并且对本节课的知识进行梳理。

    3.课后阶段

    (1)知识迁移,思维强化

    教师布置同类或相似问题的作业,让学生进行知识迁移。通过对计算思维的思考过程进行反复训练,学生对相似问题的思考能力会逐渐提高,自动化思维会慢慢提升。要想提升学生的计算思维,教师需要引导学生使用思维导图,在课后总结课程的学习内容,梳理知识点,最终形成自己的知识网络。

    (2)进行反思,优化提升

    教师通过反思总结一系列课堂活动,找出不足并在以后的课堂教学中不断改进,从而使自己的教学水平一步步提升;学生也要不断提高自己的学习能力,养成运用已习得的思维解决问题的能力。

    (3)课程迭代

    对于教学过程中产生的新问题、新观点、新作品等生成性资源,教师要及时进行整理和加工,创造出更好、更新的學习资源,进而实现对课程的完善、扩展与更新,促进生成师生共建、动态型的课程资源。

    ● 结语

    小学作为编程教育的启蒙阶段,应注重学生编程兴趣的激发、编程意识的养成和良好的思维习惯的形成。本研究借鉴任务驱动教学法的操作模式,构建了面向计算思维培养的小学编程教学设计流程,并融入了游戏化学习的设计理念,提高了学生学习编程的兴趣,同时通过任务分解、抽象、可视化表征等关键环节和活动设计,引导小学生计算思维和创新能力的形成与发展。在实践过程中,如何结合学生的生活体验,进行目标、内容、活动、任务的融合性设计,如何引导学生进行抽象建模和知识迁移等都需要进一步探索。

    参考文献:

    [1]郁晓华,肖敏,王美玲,等.基于可视化编程的计算思维培养模式研究——兼论信息技术课堂中计算思维的培养[J].远程教育杂志,2017,35(06):12-20.

    [2]居晓波.开展steam项目式程序设计—培养学生创新能力[J].中小学信息技术教育,2017(12):49-53.

    [3]黄永健.STEAM理念在国内中小学教育落地的思考[J].科技与金融,2019(09):11-14.

    [4]WING J M. Computational Thinking[J].Communications of ACM,2006(03):33-35.

    [5]马强.基于计算思维培养的少儿可视化编程教学设计研究[D].石家庄:河北师范大学,2019.

    [6]Papert S. Mindstorms: Children, computers, and powerful ideas[M].Basic Books,Inc.,1980.

    [7]李艳坤.以计算思维能力培养为导向的C程序设计教学研究[J].计算机教育,2016(02):130-133.

    基金项目:本文为2019年度广东省哲学社会科学规划项目“技术驱动的广东省欠发达地区县域义务教育供给诊断预警与模式创新研究”(项目编号:GD19CJY02),广东省普通高校重点平台重点项目青年创新人才类项目“基于知识类网站信息组织模式的智慧学习社区构建研究”(项目编号:2016WQNCX147)阶段性研究成果。2020年佛山科学技术学院学术基金项目“以兴趣养成和计算思维培养为导向的小学GOC编程游戏化学习课例设计与开发”研究成果。