高中信息技术教学中基于三维课程设计模式的大概念教学
——以“数据与结构”一课为例
2023-10-18江苏省南京航空航天大学苏州附属中学
江苏省南京航空航天大学苏州附属中学 钟 帅
在教育信息化时代,学科知识的数量成指数级的趋势不断迭代增长,教师教会学生理解学科大概念变得更为重要。《普通高中信息技术课程标准(2017 年版2020 年修订)》(以下简称新课标)提出,课程围绕高中信息技术学科核心素养,精炼学科大概念,吸纳学科领域的前沿成果,构建具有时代特征的学习内容[1]。因此,课堂教学中大概念的应用对于引领课程改革和落实核心素养具有重要的现实意义。
一、大概念的内涵
“意义学习论”的提出者奥苏贝尔认为意义学习的核心是对概念的接受和理解,他将概念分为具有持久性的“要领概念”和不易迁移的“附属概念”。“要领概念”整体统筹“附属概念”,搭建知识架构;“结构教学理论”的提出者布鲁纳认为学习的本质是对学科结构的理解和迁移能力的获得,他将学科结构定义为概念之间的相互关联,提出通过“一般概念”的不断迁移加深对学科的认识和理解[2]。奥苏贝尔的“要领概念”和布鲁纳的“一般概念”可以说是大概念的原型,可以将大概念理解为统筹学科内容、联结知识结构和迁移知识的核心概念。大概念的显著特点是可以跨时间、跨文化、跨情境迁移,也就是说适用于各种各样的情境。
传统教学模式以知识和技能的培养为主要目标,忽略了学科大概念对于学习迁移的深层次影响。拘泥于教授事实性知识和技能的课程与教学意味着学生汲取知识的模式为低层次的覆盖,当遇到类似生活情境时无法通过知识的横向迁移来解决实际问题。而大概念为本的教学模式旨在引导学生深度理解学科大概念,在生活情境中能够进行协同思考,形成可迁移性理解。
二、大概念为本的三维课程设计模式
三维课程设计模式是埃里克森和兰宁为了帮助学生更好地理解知识和应用知识而提出的一种有效的教学模式,区别于传统的以主题和技能为中心的二维课程设计模式,着重强调了概念的意义与价值,增加了概念作为第三个维度,且以概念维度为核心[3]。以大概念为本,文章总结了三维课程设计模式对学生和教师的三维要求(见表1)。
表1 大概念为本的三维课程设计的三维要求
应用大概念为本的三维课程设计模式重点是围绕学科大概念,在确定大概念的基础上设计基于微项目式学习的多元化学习任务。在教学过程中,注重学生的自主学习和探究,帮助学生将学科大概念和已有的认知结构建立有效联系,促进对学科大概念的深度理解和概括,最终实现知识的跨时间、跨文化、跨情境迁移。
三、教学实践
基于大概念的三维课程设计模式,在高一年级进行了“数据与结构”一课的教学实践,取得了良好的教学效果,学生的课堂参与度和项目完成度都很高。
(一)提取大概念
教师在备课时要做的重点准备是提取本节课的学科大概念和对大概念进行概括,这里的概括指的是表述概念之间关系的句子。具体提取大概念有几种方法:①高频概念,即分析课程标准和教材中出现频次较高的词语或短语;②连续追问,即不断推敲拟定的大概念能否联结更多的内容,范围宽了还是窄了;③组合配对,即将拟定的大概念进行组合配对,形成更加合适的大概念;④归纳总结,即归纳和总结在多个文件中出现的大概念;⑤专家征询,即征询专家的意见[4]。综合运用上述方法得出的结果更具有说服力。
教师可以借助Python 的jieba 库对教科版高中信息技术必修——第三单元第二节“数据与结构”的教材文本进行词频统计,得到关于本节课知识点的词语出现频次结果(见表2)。
表2 “数据与结构”一节教材文本词频统计
教师先通过连续追问法,发现“结构”的范围过于宽泛,“图”“列表”和“关系”不能联结更多的内容;再通过高频概念法,查询到“数据结构”和“数据类型”分别在新课标中出现了31 次和5 次;最后通过专家征询法,确定“数据结构”和“数据类型”适合作为本节课的大概念。“数据类型”大概念的含义是数据的一个属性,用来告诉程序将如何使用数据,包含“整型”“浮点型”“字符串型”和“布尔型”四个一般概念;“数据结构”大概念的含义是存在一种或多种特定关系的数据的组合,包含“线性数据结构”“树结构”和“图结构”三个一般概念。教师可以先后引导学生理解“数据类型”和“数据结构”的大概念,随后以列表的知识点作为媒介引导学生对这两个大概念进行概括:数据结构既可以包含相同的数据类型,又可以包含不同的数据类型。
(二)渗透大概念
教师可以借助于微项目式学习的模式,设置多样的学习任务,引导学生探索学科大概念、帮助学生理解学科大概念。当学生对于大概念有了一个较为抽象的认识时,便能够将学科知识有序地联结起来,有效地运用到问题解决的情境当中。
1.创建生活化情境
陶行知先生始终倡导“生活化学习”理论,主张将课程内容与社会实践相结合,让学生在“做中学”,在实践中领悟真知。教师通过创造生活化情境可以将抽象的学科大概念变成具象化的生活实例,贴近学生的切身经历,激发学生的情感共鸣。
教师可以营造“核酸检测”主题情境,以便学生理解并融入。为了帮助学生更好地理解“数据类型”这个大概念,教师可以列举核酸检测记录中姓名、性别、身份证号、年龄、住址等数据,让学生分别匹配其对应的数据类型。在学生理解了简单数据类型之后,教师可以引出列表这个复合数据类型的知识点,设计一个“统计班级做核酸检测人数”的小任务,让学生在上机操作的过程中加深对“数据类型”这个大概念的理解。
2.启发式提问
基于学生对复合数据类型的理解,教师可以适时展开关于“数据结构”的探讨,由浅入深,逐个击破。对于线性数据结构,教师可以以队列为例,借助于排队做核酸检测的实例,通过不断进一步提问的启发式引导,推动学生深层次理解队列中“前驱”和“后继”的核心概念以及“先进先出”和“一对一”的特点。教师可以提出“5 号同学是6 号同学的什么”“5 号同学有几个前驱”“哪个同学没有前驱”“5号同学和6 号同学谁先出队列”等启发式问题,在学生充分理解队列的概念后,再引导学生自行总结概括线性数据结构的概念。
基于学生对线性数据结构的理解,教师再适时引出“树结构”的一般概念。教师可以先将班级排队做核酸检测的视角放大到年级层面,借助于画程软件,画一个将各个班级归属到高一年级的思维导图,再进一步将高一、高二和高三3 个年级归属到学校层面,还可以再通过启发式提问引导学生自行将树结构向上归属到“街道”“区”“市”等层面,设置“完善核酸检测的组织架构”小任务,帮助学生在动手操作中强化对树结构的认识,引导学生自行总结概括出树结构中“一对多”的特点。
3.游戏互动
相对于线性数据结构和树结构,图结构更加抽象和难以理解。教师可以借助于游戏互动的形式,请学生通过实例来展示图结构的形成过程,在趣味互动中帮助学生建构知识模型。如教师可以请学生模拟来自4 个班级的10 名学生同一时间到3 个核酸检测窗口做核酸的情形。学生会因为个人喜好和到达时间不同等原因选择不同的窗口,根据学生的选择结果可以画出核酸检测窗口和班级对应关系的图结构(见图1)。
图1 核酸检测窗口和班级示例图结构
游戏结束后,教师顺势发问“窗口1 和各班级的关系是怎样的?”“班级1 和各窗口的关系又是怎样的?”“那么窗口和班级的关系具有什么特点?”学生可以更容易地总结出“多对多”的特点。
此时再一起回顾线性数据结构、树结构和图结构,教师引导学生聚焦在数据之间的关系上。通多对比分析不难概括出数据结构指的是“存在特定关系的数据的组合”:当关系是一对一时是线性数据结构;当关系是一对多时是树结构;当关系是多对多时是图结构。经过此番自下而上的推导总结,学生对于“数据结构”这个大概念会有较为深刻的理解,为后续的项目实践做好了铺垫。
(三)迁移大概念
1.提供学习支架
当学生理解了“数据结构”的大概念,就能够以一定的形式联结编程语言的语法内容。此时教师只需要提供适当的学习支架,让学生能够有平台去学习知识点即可。教师可以将项目实践所需要的关于列表的语法以讲义的形式发布在学习平台上,在每个知识点后面附带一个小练习给学生练练手。易加学院是一个不错的教学平台,其中提供了连线小游戏等习题模式,可以增加学生练习时的趣味性。在教学实践中,教师发现学生自主探索的积极性很高,很快就能通过教师提供的学习支架掌握了列表的基本语法,完成小练习的正确率很高。
2.鼓励学生试错
教师可以设置一个以“班级排队做核酸检测”的综合编程项目作为本节课的终极课堂任务。一方面可以以线性数据结构为例考查学生大概念的实际应用情况,另一方面可以检测学生所学习的列表语法的掌握程度。综合编程项目难度不宜过高,可以采取“挖空式”方法,在完整的代码中挖掉3 到4 个和“数据结构”大概念相关的关键点,让学生通过合作探究补充完整。
在上机实践的过程中,学生编写程序时会遇到各种各样的错误,如拼写错误、语法错误、算法错误等。教师应多鼓励学生试错,因为学习编程语言本身就是一个“尝试——失败——尝试”的循环过程。鼓励试错可以增强学生的探索精神和创新意识,让学生充满斗志地开动脑筋,学生独立自主修正错误时将极大程度提升自我效能感、增强学习兴趣。鼓励学生试错也可以解除学生“标准答案”的思想禁锢,引导学生塑造多元化思维。
教师自身也要学会“示错”。对于大多数学生遇到的相同错误,教师应该在巡视时及时发现问题并以广播的形式讲解清楚错误的原因,指引学生回到正确的方向。“示错”可能比“示对”更有意义,因为“示对”提供的标准答案往往容易导致学生形成思维定式,不利于计算思维的培养。教师在巡视时还应当注重挖掘学生修正错误的过程,选择具有典型性和突破性的个例进行“示错”,不仅可以提高课堂效率,还可以带动课堂节奏,给学生传递信心。
3.撰写生成性总结
课堂小结是课堂教学的重要一环。教师应引导学生对本节课所学习到的大概念和编程语法等众多内容进行生成性总结。生成性总结不只是抽取课堂内容的精华,更重要的是以学生自己的视角和语言来阐述所学内容的意义。不同于抽取式总结中教师的PPT 展示或提问学生回答,生成性总结是学生全员参与的,经过认真反思的。这就要求教师要提出一个供学生反思的有效问题,如“通过本节课的学习,你觉得数据结构的应用对于程序开发起到了什么作用?”教师可以借助于易加学院之类的技术支架向学生开放学习空间,让学生的学习有迹可循。
在具体实施过程中,由于课堂时间有限,教师以引导学生理解学科大概念为重点时,自然会减少项目实践的分配时间。为此,教师可以借助于“翻转课堂”的教学模式,将学生学习编程语法的时间前置,那么在课堂中进行项目实践的时间便可以大大增加。