赵鸿
日常生活中许多人习以为常的活动都蕴含着计算思维,菜谱就是算法设计的一个例子。菜谱会将一道菜的烹饪步骤一一罗列出来,比如将食材切成块状、将油倒入锅中加热等,不会做这道菜的人,只要按照步骤操作,就能做出来。这种把解决问题的过程分解、细化并且明确到每一个步骤和方法的思维活动就是计算思维。在小学信息科技课程教学中,培养学生的计算思维不仅是《义务教育信息科技课程标准(2022年版)》的要求,也是在大数据、人工智能等技术不断发展背景下的信息时代要求。本文以三年级上册“赛车游戏”一课为例做具体说明。
一、创设情境,激发学习兴趣
兴趣是最好的老师。小学生因为年龄较小,生活经验不足,所以在学习编程时常常会遇到困难,如条件判断、循环操作等概念对小学生来说既遥远又抽象,很难理解。因此在教学中,教师要有意识地创设生动具体的场景,引发学生情感共鸣,激发其内在的学习动力。
在教学“赛车游戏”一课时,教师通过无人驾驶汽车导入课程内容,结合学生看过的科幻电影创设情境:在不久的将来,人们如何设计出一辆能自动行驶的汽车?将角色运动和方向调整的相关指令融入学习任务情境中,激发学生的创造愿望和兴趣,培养学生的想象力和创造力。创设情境要结合学生的思维发展特征,结合学生的生活实际,拉近学生与所学内容之间的距离。创设的情境还要利于学生动手实践,教师应鼓励学生自主探索、动手实践、合作交流,在自主实践中深化对知识的理解。同时,创设的情境也要具备宽松、民主、安全、和谐的课堂学习氛围,让学生敢于表达,使其在轻松愉快的氛围中主动学习,让课堂真正成为学生展示自我的舞台。
二、分析任务,引发计算思维
具体的课堂教学设计要以任务驱动为平台,紧扣“赛车游戏”的学习任务,将其概括为“编写程序脚本,让赛车从赛道起点跑到终点”,并进一步细化分解为“起步”“连续行驶”“修正方向和停车”这三个具体的子任务。其中,赛车起步时要移动到固定的起点,摆正车头,初始化赛车的位置和方向,这样赛车才能顺利驶入赛道。连续行驶需要赛车角色能沿着预定的方向连续前进,修正方向和停车则要求赛车在行驶过程中能检测到弯道和终点,行驶到特定位置时能自主修正方向和停车,实现无人驾驶。
上述过程通过对计算思维的分解与评价,把大任务拆解成具体的小任务,把复杂任务拆解成简单任务,把陌生的情境拆解成能用已有知识解决的熟悉情境,与图形化编程的知识点、学生计算思维能力的发展阶段相匹配,充分体现了“自顶向下,逐步求精”的结构化程序设计理念。通过任务驱动,学生能够明确自己的思考过程,把脑海中的想法分解、转化为图形化的编程指令,进而引发计算思维。
三、编写程序,提升计算思维
通过上述情境创设以及任务分析,学生对本课的编写程序已有了具体了解,需要实现的功能简单明确,能通过基本的编程指令来描述解决。接下来,要给予学生时间和空间,让学生自主设计算法以及编写程序。
赛车在起步时要移动到起点,摆正车头方向使用“面向90度”控件,这样就能顺利起步驶入赛道。经过任务分解,学生很容易把要实现的功能和图形化编程指令一一对应起来,加深对各种指令的理解。赛车连续行驶要求赛车角色不断地执行“移动1步”控件,并和“重复执行”控件搭配使用,组成循环结构。
赛道是弯曲的,赛车连续直线行驶就会驶出赛道进入绿色的草坪区域,要及时修正方向,可以在车头左右两侧各设置一个传感器,转弯时一旦触碰到绿色草坪就提示修正方向。停车需要检测赛车是否碰到了红色的终点标志,碰到即停车。赛车在行驶过程中要每时每刻检测是否碰到绿地和红色标志,一旦碰到要立即修正方向或者停车。通过侦测控件实现条件判断结构,遇到特定情况时程序能采取对应的措施,就像人在开车一样,渗透了模式识别的理念,用程序来描述现实世界的变化,实现了从无序到有序的转变。
四、合作交流,完善计算思维
建构主义理论认为,学习是学生依据其已有的知识和经验所进行的主动建构,鉴于个体的特殊性,各个学生有其不同的学习态度、思维方式和认知风格,每个人都以自己的方式理解教师的要求,因而其活动结果必然存在差异。认识并非纯粹的个体行为,而是不同个体之间表达、交流、质疑与反思,据此不断改进的过程。因此,需要安排小组合作,在小组中交流各自的想法。
小组合作中,经历不同观点的碰撞,学生思路得到纠正,疑惑获得解决,思维漸趋完善,在相互印证中形成共识。在“赛车游戏”中,有的学生对角色左转或右转没做区分,有的分辨不清,有的对角色位置定位不准确,有的没有意识到要重复检测弯道和终点。怎么突破这些难点?通过小组交流,学生们受到启发,纷纷针对各自的疑问进行操作尝试。通过实际体验和程序验证的方法,学生可以清晰地看到每一条指令的执行效果,发现自己的程序哪里出了问题。
五、反思总结,升华计算思维
研究表明,计算思维所要求的核心技能与数学、科学等学科核心素养有明显交叉,如计算思维的核心技能“抽象”,体现为数学中的“抽象推理”“通过反复推理寻找和表达规律”等。反思是以学生尝试后获取的经验为思考对象,从中抽象概括出知识技能或将知识归纳整理形成结构。其一,学生通过整理本课知识,形成“赛车游戏”起步、连续行驶、修正方向和停车这几个主要步骤以及每一步的程序编写;其二,积极思考侦测控件还可以拓展和运用到哪些类似的学习任务中。在学生概括总结的过程中,教师配以板书、流程图,简要、直观地呈现本课知识,在帮助学生形成知识框架的同时,进一步升华其计算思维。
综上所述,在教学中,教师创设情境激发学生的学习兴趣,通过任务分解引发计算思维,学生亲身尝试、主动编写程序,感受计算思维,在合作交流中改正和完善自己的计算思维,并通过辨析、追问促使计算思维不断攀升,推动进一步发展。