APP下载

主题式编程教学提升小学生计算思维的实践研究

2022-05-05陈燕彬

课程教育研究 2022年3期
关键词:计算思维实践研究小学生

【摘要】对小学信息技术编程教学而言,近几年关于要改革的呼声很高,在“教什么”“怎么教”等方面理论思辨也较多,但缺乏充分的实践论证。本文探讨了利用“主题式编程教学”的方式促进小学生计算思维提升的可行性,这并非推翻原有编程知识体系,而是变革知识和方法在教学中呈现的方式,促进学生认知和问题解决能力的提升,从而达到提升学生计算思维的目的。

【关键词】主题式编程  计算思维  实践研究  小学生

【课题项目】本文系福建省教育科学“十三五”规划2020年度立项课题“基于计算思维培养的小学编程校本课程建设研究”(课题编号:FJJKXB20-534)的研究成果。

【中图分类号】G623.58   【文献标识码】A 【文章编号】2095-3089(2022)03-0058-03

对于小学信息技术课程而言,“计算思维”是信息技术四大学科核心素养中最能体现“计算机科学思维过程”的一种素养。资料显示,国内对计算思维的研究起步较晚,在小学阶段主要以信息技术“编程课或编程社团”的途径来培养。不少专家、教师已经探究出信息技术课程培养学生计算思维的教学模式及方法,然而遗憾的是,许多编程课程仍将教学重心聚焦于编程技能本身,这从某种程度上缩小了计算思维的研究广度;不少教师把课堂上学生能力的培养简化为“步骤学习”和“技术操练”,不能给予学生发展思维的空间,长此以往,导致学生缺乏灵活的问题求解思维。笔者经过实践探究发现,将编程以“主题式教学”的方式引入小学课堂,对提升小学生计算思维、丰富小学信息技术课程体系是一种有价值的探究尝试。并在教学实践中摸索出主题式编程教学的五个步骤,即:确定主题—分析问题—设计方案—编程实践—评价反思。

一、确定主题:聚焦学科育人目标,问题引领有的放矢

美国卡内基·梅隆大学计算机科学系主任周以真教授指出:“計算思维是以一种计算机或人或机器能够有效地执行的方式来表征问题、表达解决方案的一种思维过程。”2017版《普通高中信息技术课程标准》中也提到:计算思维是个体在运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。

本文所关注的“主题式编程教学”指的是创设基于学生认知领域的真实情境,以“计算机编程教学”为载体,建立与教学主题相关的各教学要素之间的联系,发挥各教学要素最大效能,以编程作品为最终呈现的教学模式。那么,主题式教学如何对学生计算思维的提高产生影响?笔者认为,实施主题式教学首先应该聚焦学科育人目标。而学科育人目标的落地,需要具体的教学内容作为载体。目前市面上能找到的编程教材仍然沿袭了软件教学的思维习惯,基本上是按照“知识点”的方式来呈现,操作性的倾向比较明显,未能很好地体现培养计算思维的目标。因此,基于计算思维教育的信息技术课堂教学,就要求教师梳理出适合本校校情的具体教学内容,并将其作为学生学习的内在线索,引导学生在完成教学任务的过程中反复亲历思维的全过程,主题式编程教学能较好地实现这一目标。

基于计算思维的教学原则,需要兼顾教学方法和教学内容,教学过程中的问题设计尤其重要。以笔者教学实践中“计算机编程画分形图”这个主题为例展开分析,可以看出,分形图看上去是不规则图形,但本质是以“某一种基本形状”通过边长、直径、大小、位置等改变而形成的一种有规律的复杂图形,其最大特点是“复杂但有规律”。因此,要首先让学生基于情境提出问题,并明确问题的对象——分形图。这个主题的研究可以分为这样几个课时展开:《编程猫画多边形》《围绕中心点盛开的花》《编程猫的花花世界》《千变万化的分形图》《“潮”服纹样我设计》。通过围绕同个主题开展编程教学,改变了目前某些编程教材模块零散的教学方式,让学生在主题学习中既能掌握基本编程技巧,又能对这个研究主题有更深度的学习和感知。

二、分析问题:提升任务分解能力,突破困难循序渐进

在信息技术编程教学中,教师通常过于强调程序代码的编写和编程效果的实现,从而忽略了问题解决中蕴含的计算思维过程与方法的指导,而这恰恰是计算思维培养的关键所在。计算思维本质上是一个解决问题的过程,这个过程中需要利用计算机来设计解决方案,这个过程在拖动第一个指令块的时候就已经开始了。笔者在教育教学实践中发现,要想将编程教学从“操作层面”提升至“思维和理解层面”,学生“任务分解能力”的培养不容忽视。“任务分解”本质上是一种化繁为简的能力,其基本思路是:用简单方法梳理出复杂问题内部的逻辑主线,把“解决复杂问题”转化为“解决规模小的相似问题”作为突破口,利用解决小问题,逐步达到解决复杂问题的目的。

以“计算机编程实现角色移动”这个主题为例,编程角色的移动可以分为相对移动、绝对移动、跟随鼠标移动、光标控制键控制移动、循环移动、在区域面积内随机移动等多种情况,对学生来说是比较复杂的情况。编程初学者的学习需要一个循序渐进的过程,教师可以利用“分解任务”的思路为其打开解决问题的关键。这个角色的移动有没有条件?这个角色的移动是否跟其他角色产生联系?是无限运动还是可停止的运动?如果可停止,移动停止的条件是什么?……在这些问题的引导下,学生逐步深入思考,逐步理解角色移动的各种可能,这样分析问题的过程充分培养和展现了学生的思维过程。这个主题的研究可以分为这样几个课时展开:《下雨了》一课,实现“雨滴角色”在区域面积内随机出现又从天而降的效果;《垃圾分类我能行》一课,实现光标控制“垃圾角色”实现垃圾分类的效果;《清理海洋垃圾》一课,实现“海洋垃圾角色”在区域范围内随机移动的效果;《太空垃圾清理卫星》一课,实现“太空垃圾”在轨道内循环移动的效果。通过围绕“角色移动”这个知识点在各个编程内容之间建立联系,各教学要素之间相互支持、共同协作,并渗透开展生态环保教育。对学生而言,他们在形成问题解决方案的过程中像科学家一样思考,在解决问题过程中结合信息技术开展综合性的实践活动,从而实现提升计算思维的最终目标。

三、设计方案:锻造创新创造能力,循循善诱解决问题

通过提出问题、分析问题、设计方案的过程,每个学生都有机会成为发现者、创造者。笔者尝试实施的“主题式编程教学”则有助于学生高阶创新能力的提高,为学生“在较为复杂的情境中提升计算思维”提供了有利条件。可见,计算思维并不是少数“聪明孩子”才有的思维。现在常用的图形化编程软件采用直接拼搭的方式,直观地构建出程序的各种界面和逻辑,过去那种谈“编程色变”的时代已经过去,计算思维的培养也已面向全体学生,不再是那些能静下心学传统编程的孩子的特权。这就体现在计算思维的培养中很重要的一个环节——方案设计。

经过实践探究,“忽视方案设计合理性和可行性”以及“总是想当然着急解决问题”的学生,往往事倍功半,花了大量时间着手编写程序,到头来一遍又一遍推翻重来,没有针对性又花费了大量的时间。笔者在二次创作课时中以“提供脚手架、创意支持”的形式帮助学生优化自己所设计的问题解决方案,助力学生创造性思维的培养。在前一节课学生创作的基础上,适时拔高与引导,借鉴头脑风暴、小组研讨、思维导图等合作学习方式,发展学生发散性思维,这对学生而言是一个综合运用与知识深度加工的阶段。这样两类进阶课程循环往复,学生既筑牢了基础知识,又发展了计算思维。

四、编程实践:涵养计算思维观念,学科渗透由此及彼

经历了前面几个环节后,学生开始进入完成编程作品的核心环节——编程实践。在编程教学中,教学目标片面化、任务之间缺乏关联性、教育评价一带而过、小组合作浅尝辄止等问题容易造成学生看似掌握了编程基本操作,实则缺乏探究发现过程的现象。长期缺乏思维指导的学习经历,将使学生的思维局限于课堂所学知识范围内,很难做到灵活运用、举一反三,这不利于信息技术学科核心素养强调的计算思维的培养。在编程教学中渗透计算机科学相关知识,学生比较容易理解计算机有序执行(即自动化)的实施过程,同时也能从程序的编制、调试、运行过程感受从感性到理性、从具体到抽象,最后又从理性回到感性,从抽象回到具体进行检验的过程,并最终达到运用编程解决问题的目的。强调“面向全班”的主题式编程教学要比强调“面向社团学生”的教学更注重“整合”,整合内容与形式,整合分散的知识点,以求在分层教学中让不同程度的学生的计算思维均能得以提升。

在实践中笔者发现,要想帮助学生形成计算思维观念,就得关注学生“将思考与计划付诸实践”的过程,得有意识地引导学生在一组组代码块(顺序、循环、事件、并行、条件、运算符和数据)的帮助下,通过编写程序进行思考和学习,并在这个过程中学会如何解决问题。因为程序设计过程有传统的模式和限定的知识点,教师容易教,学生容易模仿。和“程序设计”相比,“程序调试”出现的问题是生成性、因生而异的,“程序调试”也比“程序设计”需要更多的思维能力。计算思维在程序调试过程中通常有很好的体现。除此之外,教师还能利用编程评价,通过“表达、联系、质疑”三个层面来审视学生计算思维观念的养成情况。其中,“表达”指将解决问题的过程形成计划,并用代码明确地逐步呈现出来的能力;而“质疑”则更多地体现在“试验与调试”阶段,一个程序的完成需要经历反复“编程—调试—再编程—再调试”的过程。一个优秀的程序编写者通常会花费更多时间来“调试”,而不是“编写”,这是教师需要帮助学生在计算实践过程形成的意识和能力。

五、评价反思:形成计算思维习惯,迁移应用“节外生枝”

编程作品的完成,并不意味着阶段学习的结束。教师通过直观性教学原则的贯彻和前面几个教学环节的落实,让学生认识到编程作品背后的计算思维思想和方法,了解编程学习的发展和应用对人类日常生活和科学技术的深刻影响。如果学生还能进一步从感性认识上升到理性认识,在日后的学习中能合理、合法地运用编程技能,这就达到了思维层次跃升的教学目标。而这一步目标的实现,离不开编程实践后对教学过程的评价和反思。重视评价反思的教师,将从课堂教学中收获“节外生枝”的喜悦。

在教学实践中,学生计算思维发展程度的评价是研究的难点。学生的计算思维能力存在不同程度的不平等,在同一个层面上分析和评价学生计算思维的变化,其结果将产生一定程度的误差。笔者曾经尝试“实验前测”和“后测作品”的方式对学生进行教学评价。在开展前测量表时,利用信息技术教室“极域教室多媒体软件”向同个班级学生发布问卷,并收集自动生成的统计结果,初步了解该班级学生计算思维初始情况。经过测试可以发现,样本班学生原有计算思维水平基本一致。以学期或学年为单位,学生经过主题式编程教学的学习,具备了一定能力的计算思维能力后,再通过“后测作品”的方式展开测试。经过实践和观察,大部分学生一开始试图用已有知识去解释和编写后测作品,结果不少学生抱怨“老师没教过”或“从来没学过”,而不习惯从现有题目中发现规律。经过对学生完成过程和最终作品的查阅和分析可以发现,实施主题式编程教学班级的学生更主动开展整体策划,思考问题、解决问题的能力更强,基本完成问题解决的学生比例较高。然而,更成熟的教学模式和评价体系的建立还需要通过大量实践和长期探索来实现,这对一线信息技术教师而言是一项长久而艰巨的任务。

主题式编程教学紧扣计算思维培养的教学要求:以主题式教学为任务,以问题解决为过程,从知识的本质理解技术原理,教会学生合理使用技术、用概念图、流程图等工具把思维过程可视化,并能迁移应用计算思维解决实际问题,帮助学生形成像计算机科学家那样的思维方式。我们的学生未来将“征战”广阔的世界舞台,他们更应该热心于计算思维的学习和应用。路漫漫其修远兮,吾将上下而求索。

参考文献:

[1]张加莎,刘菁.中小学信息技术课程中计算思维研究现状分析[J].中国信息技术教育,2017(12):43-45.

[2]董慧珍.计算思维对小学信息技术课的影响与启示[J].科教导刊,2018(9):122-124.

[3]梁永辉.Scratch程序设计教学中培养小学生计算思维的研究[J].教育信息技术,2018(12):83-86.

[4]陈紫凌.问题解决与Scratch主题探究研究综述[J].教育信息技术,2014(11):71-74.

作者簡介:

陈燕彬(1988年8月-),女,福建厦门人,厦门市集美区园博学校一级教师,学士学位,研究方向:小学信息技术教育教学。

猜你喜欢

计算思维实践研究小学生
提高煤矿安全管理有效性的实践研究
合作学习教学模式在高校公体课中的实践研究
初中数学教学微课的实践教学研究
程序设计课程中计算思维和应用能力培养问题研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
文言文教学在高中语文教学中的实践研究