指向算法思维培养的学习支架设计策略

2022-05-19 10:56李晓晓谢忠新
中国信息技术教育 2022年9期
关键词:学习支架策略

李晓晓 谢忠新

摘要:本文针对目前信息技术学科教学中算法思维培养过程中存在的问题,从算法思维在问题解决过程中的表征入手,提出了算法教学中促进算法思维培养的学习支架设计策略,并剖析解读了案例片段,以期为一线教师在算法教学课堂实践中落实学生算法思维培养提供参考和借鉴。

关键词:算法思维;学习支架;策略

中图分类号:G434  文献标识码:A  论文编号:1674-2117(2022)09-0033-04

算法与程序设计是高中信息技术必修课程中的内容,涉及算法与算法描述、程序设计语言的基本知识、常见算法及其程序实现等知识。计算机科学领域中经典算法的教学活动,可以集中、高效地培养学生的算法思维,但是观察实际的算法教学课堂,笔者发现许多教师对学生算法思维的培养并不尽人如意,培养过程中存在着一些薄弱点和不足。首先,教学中部分教师过于强调算法知识技能的掌握,对学生算法思维的培养意识不强。算法教学中往往注重学生对算法本体性知识的掌握,忽视了学生是否真正理解了算法思想,是否将算法知识与自身的知识体系建立了联结,是否能够根据实际情况选择或者构建算法、描述算法、实现算法。其次,即使教师建立起学科思维培养意识,仍不清楚在教学中可以通过怎样的方式帮助学生发展算法思维,不清楚有助于学生算法思维培养的教学活动该如何设计,也不知道在教学实施过程中怎样适时引导学生产生深入的思考等。

适当的学习支架有助于降低认知负荷,发展学习者对知识的理解能力,促进高阶思维能力的培养。计算思维是形成问题解决方案过程中的一系列思维活动,算法思维作为其中的组成要素,对它的培养也一定要融入到问题解决的过程中的。算法思维在问题解决过程中的表征为算法选择/构建、算法描述、算法实现三个递进的过程。针对算法学习中涉及的内容,采用常用的学习支架类型,如图1所示。

思维具有情境性,对思维能力的培养需要借助特定情境方能实现,合理情境的创设有助于算法教学的整体开展。算法的基本思想原理性强,较为抽象,通过生动形象的微视频可以将文字描述的算法原理动态立体地展现出来,帮助学生建立信息之间的关联和精确解读。算法适用范围适合通过层层递进的问题及追问抽丝剥茧地引导学生进入必须思考的思维状态。算法的使用方法和步骤是对算法核心思想关键环节的提炼,图表呈现可以保证关键环节无遗漏,同时可以清晰概括每个环节对应的信息要素。算法基本结构的教学、实现算法的编程语言和语法结构的教学分别可以通过半流程图支架和半程序支架来辅助,有助于學生更好地梳理算法流程走向,实现算法描述到算法实现的过渡。算法实现的程序调试验证活动主要是不断发现问题和解决问题的过程,通过一系列连贯性的问题链可以启发学生进行深度思考。

在算法教学中,教师要将算法思维的发展培养列入课堂教学的目标,带着思维发展的目标导向设计有助于促进学生进行深入、持久的理解的教学,将复杂的学习任务解决的过程拆解为一个个有关联性的学习活动,在每个学习活动实施中通过设计适切的、多元化的引导思维发展和知识获得的学习支架,运用恰当的教学方法和思维技巧,帮助学生降低外在认知负荷,提高相关认知负荷,从而实现对学生算法思维的培养。

● 情境支架设计

学习情境是以直观方式再现学习内容所表征的实际事物或者实际事物的相关背景。[1]教学情境是学生的思维材料,学生可以通过教学情境产生情感共鸣,增强情感体验,激发学习兴趣,在教学情境的导引下遵循知识产生的脉络准确把握学习内容,还可以基于教学情境实现知识的迁移和应用。

学习情境的创设要与学生实际生活紧密联系,体现问题解决在实际生活中的应用价值,同时,问题的解决要与算法思维的培养有机融合,体现算法原理的应用。学习情境要具有连贯性,不能虎头蛇尾。例如,在学习枚举算法时,教师设计了《找出可能的单据编号》的学习情境:

一张单据上有一个5位数的编号,如图2所示,其个位数和十位数处已经变得模糊不清,只知道这个5位数是57或67的倍数。要求设计并实现一个算法,输出所有满足这些条件的5位数。

单据编号情境取材于学生生活,购物小票、餐饮取号等生活场景能与学生的经历体验建立联系。计算机解决这一问题背后的算法原理是枚举算法,在问题解决的过程中,学生的思维会经历:①判断这一问题适用的计算机算法(一一列举、逐一检验);②通过问题分析准确找出枚举范围和检验条件;③通过流程图形式完成算法的描述;④编写对应的程序语句;⑤计算机运行程序找出所有可能的结果。整个过程正是培养学生“算法选择、算法描述、算法实现”能力所需要的思维经历。

● 问题链支架设计

问答是课堂师生信息交流的主要渠道。问题链是由问题组合而成的链条,即教师设计出一系列问题,每个问题之间环环相扣、层层递进、前后呼应,问题之间具有较强的逻辑性,能将知识穿插、连接在一起。采用问题链支架辅助教学的课堂,教师依据教学目标将教学内容设置成以问题链为纽带、以知识形成发展和培养学生思维能力为主线、以师生合作互动为基本形式的一个个教学活动。问题链支架对激发学生的探究思维具有较好的作用,能够引导学生进行深度思考,因此问题链能有助于算法思维的培养。

问题链的关键是问题的设置,问题的质量关系到教学的效果。问题设计要体现真实性,是基于真实情境的问题解决;要体现整体性和层次性,子问题都是核心问题解决主线上的一环,并且子问题之间的逻辑关系能够自洽,由浅入深、层层递进;要体现指向性,每个问题都需要有明确的思维发生目标。

例如,在“不同规格的苹果售价不同,果农每年都要把苹果按照不同的规格挑选分类。现在果农需要在100个待挑选苹果里挑选出符合规格(直径为不小于80mm)的苹果”情境中,教师设计了一系列问题,引导学生在形成问题解决方案过程中理解枚举算法基本思想。以下是问题链中的部分问题:

①这些苹果要怎么挑选?(引导思考:一个一个挑选)

②挑选过的苹果能不能放回原来的框里?为什么?应该怎么放?(引导思考:不能,会造成重复挑选,应该放在另一边以便区分)

③挑选范围是什么?需要进行多少次挑选?(引导思考:从1~100,挑选10次)

④被挑选的苹果满足什么条件就是要找的?(引导思考:直径大于等于80mm)

⑤满足条件的苹果怎么处理?(引导思考:挑选出来单独放)

⑥解决这个问题经历了怎么样的步骤(引导思考:分析问题,确定挑选范围,一一挑选,逐一检验,满足条件输出)

● 图表支架设计

图表是指能够对统计信息的属性进行直观的展示、对信息和知识的挖掘与分析能够起到非常重要作用的图形结构。[2]教学中通常使用表格、图示、思维导图等多种图表形式为学生提供学习帮助。图表支架是具象的,可视化的方式可以清晰直观、有条理地为学生呈现学习支持。教学中,图表支架的设计要遵循以下原则:按需选择,图表的类型各式各样,选择恰当的图表类型可以更好地传递信息;内容聚焦,重点落在教学信息的传递上,不要增加过多的视觉点缀;信息精简,合理使用文字表述,避免大段的文字堆积;对比清晰,清晰呈现需要对比的关键信息;突出重点,可以通过改变字体字号、粗细、颜色以及增加重要标识等方式达到强调重点的目的;适当留白,为学生预留思考空间,让学生自主完成思维过程的外显。

例如,在《找出可能的单据编号》一课的教学中,教师在引导学生分析五位数(个位、十位数字模糊,且是57或67的倍数)所对应的枚举范围及检验条件时,可以设计如下的表格。

借助表格,将枚举算法的核心思想“一一列举,逐一检验”对应需要确定的枚举范围和检验条件一目了然地呈现。同时,将该任务中枚举算法确定枚举范围的任务分解为三个子任务,先分析个位数和十位数上的数值的取值范围,再分析整个五位数的取值变化范围,通过表格帮助学生搭建了思维发生的支架,有助于降低学生直接思考整个五位数取值范围的认知负荷,提高了学生的问题分步骤解决的能力。

● 半流程图支架设计

算法流程图将解决问题的方法和步骤用规范的方式描述出来,可以帮助学生更好地梳理算法执行的走向。半流程图支架是基于真实问题解决的算法描述进行设计,以契合学生实际的思维方式,并将其中关键的信息描述留白给学生进行思考。流程图支架设计时还需考虑一题多解的可能性,利用解决问题的不同方法对比,可以启发学生对算法复杂度和效率的思考。教师利用Process On、Edraw等专业的流程图绘制工具可以快速绘制規范的流程图。

例如,在《找出可能的单据编号》一课的情境问题的解决中,教师设计了如下页图3所示的两个流程图,分别实现“找到满足要求的五位数”这一问题中的“一一列举”和“逐一检验”两个关键环节。

通过图3中的两个半流程图支架,将“找到满足要求的五位数”这一问题解决的方法和步骤清晰地描述出来,同时帮助学生在先前学过的算法基本结构与当下学习的枚举算法实现两个信息之间建立起呼应关系(对枚举范围的一一列举是由循环结构来实现的,逐一检验的完成是由分支结构来实现的),利用算法基本结构提高了枚举算法学习的相关认知负荷,促进了学习的有效理解。

● 半程序支架设计

编写程序的过程就是选择合适的计算机程序设计语言按照算法来实现问题求解。半程序支架是指解决某个具体问题的不完整的程序,即部分程序语句留白的算法实现过程。每个程序都有对应的算法,从零开始编写一个问题求解算法的完整程序对学生来说有一定难度,借助半程序支架可以帮助学生更好地梳理算法描述到算法实现的语句编写过程。学生还可以通过分析半程序支架中已有的信息发现程序中的问题,溯源算法的执行过程,分析改正的方法,培养编程能力。

半程序支架设计首先需要选择一种合适的编程语言,运用规范的语法结构按照选择或构建的算法编写问题求解的具体指令,离不开顺序结构、分支结构、循环结构三种算法结构实现的程序语句的独立使用或嵌套运用。教师可以根据学生基础水平和学习能力的不同设计不同梯度的程序支架内容,使每位学生都可以从中获得适合自己攀爬的“台阶”。

例如,为了帮助学生编写《找出可能的单据编号》的算法程序,在学生完成流程图算法描述(如图4)后,教师给出了如图5所示的半程序支架,请学生补充“找到满足要求的五位数”这一问题解决方案中“一一列举”和“逐一检验”的Python实现语句。

对照分析算法描述的流程图和已有的程序语句可以帮助学生从整体上把握问题解决方案,迅速定位还没有实现的算法步骤,通过回忆Python语言中相关的表示方法及语法结构,如表示范围的range函数使用时取值范围左开右闭等,结合各流程图符号及文字说明,将本体性知识转化为能力应用并清晰地表达出来,培养问题解决能力。

● 结束语

信息技术学科中算法章节的教学有助于集中、高效地培养学生的算法思维,有效学习支架的设计可以帮助学生减少外在认知负荷,增加相关认知负荷,促进深入持久的理解发生。不同类型的学习支架在实际教学运用中并没有严格的区分界限,彼此之间是各有所长、相互补充的关系,因此教师要根据待解决的问题的实际情况按需选择、创造性运用,最终目的是帮助学生搭建好从现有发展区到潜在发展区的台阶,升华学生思维,提升学生能力。

参考文献:

[1]王荣良.计算思维教育中的情境创设与模型建立[J].中国信息技术教育,2021(21):39-42+79.

[2]商业智能研究.图表的含义及其常用类型[EB/OL].2015-10-26. https://www.finereport.com/knowledge/chart/the-meaning-and-the-common-types-of-graphs.html.

本文系2022年度上海市教育科学研究项目“面向高中生计算思维培养的学习支架开发与实施研究”(立项编号:C2022134)的研究成果。

猜你喜欢
学习支架策略
我的手机在哪?
生本理念下初中物理“支架式”教学的实践思考
学习支架在学习支持中的作用探究
“学习支架”的继承与融合
强化支架意识提升学习效能
浅谈微课在小学英语教学中的应用
高考数列复习策略之二
Passage Four