基于计算思维的《火柴数字问题》学习支架设计与应用
2023-06-07宋煦
宋煦
摘要:在高中信息技术教学中,教师应当为学生提供适当的学习支架,并将支架设计应用到课堂实践中。本文以教材中的主题为例,讨论了学习支架在信息技术实际教学中的应用场景,以期为一线教学实践中学习支架的应用提供新的思路和方法。
关键词:学习支架;计算思维;信息技术;火柴数字问题
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2023)11-0040-04
《普通高中信息技术课程标准(2017年版2020年修订)》明确提出,要培育以学生学习为中心的教学关系,在问题解决过程中提升核心素养,发展计算思维。但在教学实践过程中,由于信息技术学科信息量大、综合性强、知识更新换代快[1],教师往往对学生提出的探究任务难度过高,超出学生自身发展水平与解决问题的能力。为提升信息技术课堂效率,培养学生使用计算科学解决实际问题的思维与能力,教师必须着眼于学生的最近发展区,在探究性任务中为学生提供适当的支持与帮助,从而调动学生自主学习与思考的积极性,发挥其潜能,引导学生在现有水平上进一步提升。
计算思维与学习支架的内涵与研究价值
1.计算思维
计算思维是一种以计算科学为核心,运用计算科学的基本概念进行问题求解、系统设计和行为理解的涵盖计算机科学之广度的一系列思维活动。[2]
2.学习支架
学习支架一词起源于维果斯基的“最近发展区理论”,其内涵是,教育者对学习者提供即时支持,以促进学习者有意义地参与问题解决并获得技能,在逐步撤去支架的过程中,将管理学习的任务逐渐由教育者转移给学习者本人。[3]闫寒冰教授将学习支架的表现形式分为问题、图表、建议、范例四类。[4]
3.研究价值
在高中信息技术教学活动中,教师可以通过学习支架为学生提供自主探索的支持,使学生在面对复杂问题时能够从自身实际水平出发,利用教师给予的帮助和支持将问题进行逐步拆解与分析,从而真正成为问题的发现者与解决者,进一步发展计算思维。
基于计算思维的学习支架设计与实践
下面,笔者以《可以复用的代码》一节中的《火柴数字问题》为例,围绕分类标准设计相应的学习支架,并谈谈如何引导学生从问题情境出发,发展计算思维。
1.提出问题,架设计算思维环境
问题式支架是教學过程中最常见的一类支架,是教师在学生无法独立解决问题时提出的引导性问题,这些问题可以帮助学生进一步构建完整的知识体系,养成抽象与分解综合问题的计算思维方式。
高中信息技术《必修1 数据与计算》中的《可以复用的代码》一节提出了这样一个火柴数字问题:“用火柴棒分别摆出‘0~9十个数字,请列出用6根火柴棒能摆出的所有数字,要求火柴全部用完(如图1)。”这个问题作为第二单元“编程计算”的总结与拓展,是一个比较复杂的综合性问题。高一学生接触Python编程的时间不长,虽然已经基本掌握了Python语言的基本语法与结构,但利用编程知识分析与解决问题的能力还有所欠缺,面对此类综合问题时往往无法拆解与分析题目含义。因此,教师可以适时提供问题式学习支架,帮助学生将综合问题分解成一个个小问题,以激发学生探索欲望。
在分析与拆分火柴数字问题时,教师可以先从学生能够独立解决的问题入手,提出一个简单的子问题:“用火柴棒摆出‘0~9十个数字,分别需要多少根火柴?”该问题只需观察题目图示便可轻松回答。在第一个问题的基础上教师可以进一步提问:“是否可以列举5个能用6根火柴摆出的数字?用6根火柴能摆出的最大数字是多少?”这两个子问题是解决问题的关键。在思考这两个问题的过程中,学生会发现,6根火柴不只可以摆放“0”“6”等个位数,也可以摆放“14”“41”等两位数,从而理解6根火柴可以摆放的数字大小是由该数字的位数决定的。因此,6根火柴能摆出的最大数字是三位数“111”。在解决前三个问题后,学生已经初步具有了分类讨论的思想,可以更快地思考出最后一个问题:“个位数、两位数、三位数所需要的火柴数量分别怎样计算?”
在学生思考与分析过程中,教师将四个问题逐步呈现给学生,在学生原有认知基础上帮助学生进一步整合知识结构,拆分综合问题,为学生养成“自顶向下,逐步细化”的计算思维提供环境。
2.巧用图表,支持计算思维活动
图表式支架在信息技术课堂中通常以表格、图片与流程图的方式呈现,这一类支架能够以可视化的方式对信息进行描述和呈现,有助于学生更清晰地记录与展示思维活动,理解计算机编程的工作原理。
火柴数字问题的第四个子问题需要学生计算个位数、两位数、三位数所需要的火柴数量,结合之前学过的列表的相关知识,学生可以首先写出一个存放不同数字所需火柴数量的列表list,list=[6,2,5,5,4,5,6,3,7,6],其中元素对应的索引号为“0~9”。计算任意一个数字n所需火柴数,只需将该数字的每一位依次拆分出来,并从list中查找到相应的火柴数量并进行相加即可。这一过程比较复杂,需要拆分、查找、相加三个步骤,因此,教师可以提供表格式学习支架(如下表),将每种情况与每个步骤一一列举,使学生在完成表格的过程中更加清晰地理解分类讨论的思想。
在分别解决四个子问题后,学生已经初步具有解决火柴数字问题的思路,但如何用程序语言准确描述这一过程还是一大挑战。为了帮助学生简化过程、抽象算法,教师可以提供算法流程图作为学生学习复杂程序的支架(如下页图2)。相较于自然语言,流程图更加接近程序语言的表述方式,能够帮助学生把抽象思维具体化,形成完整的结构系统,使学生抽象思维与建模能力得到锻炼。
程序语言的语法和结构区别于日常生活中使用的语言,如何使学生建立起自然语言与程序语言之间的联系,更好地理解计算机程序的语言方式与工作原理,需要教师提供更为清晰明确的引导。使用图表的形式将知识结构系统化与可视化,能够拓展学生分析问题的思路,为思维的创造提供空间。
3.适时建议,转变计算思维方式
建议式支架是问题的陈述性转化,是教师对学生做出的提示与说明。在学生自主学习任务开始前,适时的建议为学生提供了方向与指引,让学生在自我探索的过程中有规可循。
数字火柴问题的Python程序采用“分支+循环”结构:循环结构将可能符合6根火柴的数字一一列举;分支结构根据数字的位数进行分类,分别讨论不同位数数字所需要的火柴数量(如图3)。这种程序结构简单易懂,但语句上较为冗余。当用到的火柴数量增加到10及更多时,需要5个以上的if分支。
在学生调试运行程序的过程中,教师可以适当提供建议式支架,提出将题目中所用到的6根火柴改为10根,让学生在原有程序上进行更改,解决火柴数字问题的进阶版。学生在操作实验中会发现,更改后的程序循环范围由“0~111”扩展到“0~11111”,需要分類计算的数字范围也从三位数增加到五位数。这一改变增加了许多重复的工作,教师可以带领学生回顾Python的三大基本结构,建议学生使用循环结构,利用n//10和n%10语句的重复,依次将多位数的最后一位数字取出并去除(如图4),从而提高程序效率。
当需求发生变化时,往往需要转变思路以适应新变化,建议式支架的应用就是面对变化时给学生以提示,保证学生在正确的道路上前进,在具体问题探究解决中实现思维的转变与进阶。
4.提供范例,完善计算思维架构
范例式支架与建议式支架 类似,旨在帮助学生找到正确的前进方向。教师提供的范例应包含最典型、最重要的步骤与成果,将其作为学生实践的参考依据。编程教学中的范例多为完整的程序段落,能够弥补学生思路中的漏洞,纠正学生语法与书写错误。此类支架主要出现在教学评价环节,能够适应不同基础的学生的学习需求,是实际教学中使用频率较高的一类学习支架。
在火柴数字问题的最终程序中,学生通过两次循环提升了程序的可用性。但在利用循环结构计算某个数字需要的火柴数量时,while语句条件设置的问题,会导致将所用火柴数量改回6时,运行结果丢失n=0的情况(如上页图5)。为了弥补这一漏洞,需要学生在while循环结构之外再添加一个判断分支。在程序调试过程中,学生能够自行发现这一漏洞,但他们现有的编程知识基础不足以支持对程序进行进一步的优化与完善,教师可以将完善后的程序进行广播展示(如图6),为学生提供学习范例。
信息技术教师通常会在网页设计与媒体编辑等课程中应用范例式学习支架,此类课程中的支架虽然能够促进学生的发展,但也在一定程度上限制了学生思维的发散。而在程序设计类课程中的算法有优劣之分,在探究最优算法时提供学习范例,不仅可以弥补学生知识与思维的漏洞,还有助于提升和培养学生的大局观,进一步健全与完善计算思维架构。
结束语
本文以教材中的主题为例,讨论与总结了信息技术课堂中提问、图表、建议、范例四类学习支架在实际教学中的应用场景,希望能为一线教学实践中学习支架的应用提供新的思路和方法。笔者认为,为提升学生在信息技术课堂的积极性,培养学生自主学习能力和计算思维,教师应为高中学生提供适当的学习支架,并将支架设计应用到课堂教学实践中,培养学生的计算思维,让学生在课堂上进行不断总结,从而提高高中信息技术课堂教学质量。[5]
参考文献:
[1]陶玲莉.例谈学习支架在高中信息技术教学中的应用[J].中国信息技术教育,2010(18):82-83.
[2]周以真.计算思维[C].新观点新学说学术沙龙文集7:教育创新与创新人才培养,2007:122-127.
[3]邱岑岑.学习支架研究综述[J].教育科学:全文版,2017(11).
[4]闫寒冰.信息化教学的学习支架研究[J].信息技术教育研究,2003(02):18-21.
[5]刘辉.高中信息技术支架式教学研究[J].课堂内外(高中教研),2021(20):135.