指向计算思维培育的高中信息技术进阶式课堂教学设计

2023-03-20 09:48代玲玲安徽省阜阳市第七高级中学
中国信息技术教育 2023年6期
关键词:进阶排序情境

代玲玲 安徽省阜阳市第七高级中学

卢庆广 安徽省阜南一中

在“双新”背景下,普通高中信息技术课程要重视计算思维的培育,这也就要求高中信息技术教师要从思想上进行转变,立足于学科核心素养,重视学科大概念,由浅入深地构思大单元课堂教学设计,构建符合学生学习认知规律的递进式问题链,启迪学生计算思维层层递进,深入探究,实现高阶思维的培育。

● 计算思维的内涵

什么是计算思维?在课堂教学设计中如何培育计算思维?《普通高中信息技术课程标准(2017年版)》中定义的计算思维是指利用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。计算思维是高中信息技术学科核心素养的四个要素之一,它是帮助学生形成必备品格和关键能力的重要素养,那么,教师该怎样通过课堂教学设计提升学生的计算思维呢?笔者认为,引导学生进行问题解决的教学设计至关重要,因此,笔者提出以情境式问题解决为引领,递进式设计问题链为路径,通过创设与优化进阶式课堂教学设计,构建学生感兴趣的学习模型,促进学生深度探究的发生,在潜移默化中促进学生将学科知识转化为学科能力、内化成学科素养。

● 进阶式课堂教学设计的本质

1.创设情境线

在大单元课堂教学设计的引领下,教师要关注情境线的创设和问题链的设计。在课堂教学设计时可以创设一条由“简单情境”到“复杂情境”的情境线,简单情境所描述的条件与问题是直接对应关系,可以将学生在充满兴趣的状态下快速引入到学习知识与获取技能的状态中。复杂情境具有激活功能,能让学生在“思行合一”中动手实践,利用知识与技能创造性地解决复杂问题。

2.设计问题链

美国教学设计领域的专家戴维·乔纳森(David H.Jonassen)博士提出把问题分为良构问题和劣构问题两类。良构问题是指限定性条件的问题,是对已有求解问题方法的再次练习,以达到会解决同类问题的目的。劣构问题的特点是具有多种解决路径和少量确定性的条件,其求解的不确定性更需要教师搭好学习支架,充分挖掘学生的潜力,拓展学生的思维。

3.进阶思维层

美国教育家布卢姆将思维培养具体化为记忆、理解、应用、分析、评价和创造六个维度,其中记忆、理解、应用是低阶思维,分析、评价和创造是高阶思维,这几类学习问题逐层深入,层层推动。以递进式问题链的形式开展进阶式课堂教学设计是引领学生完成从“理解—应用—迁移—创造”的重要举措,能实现从低阶思维到高阶思维的进阶,完成核心素养的培养。

● 进阶式课堂教学设计的实施策略

本文以教科版选择性必修1《数据与数据结构》中“数据的排序”单元为例进行学习探究,以Python为数字化学习工具,实施进阶式课堂教学设计。

算法来源于生活,排序在学生日常生活中应用十分广泛,如学生按照身高列队、由高往低统计演讲比赛成绩等。在本单元课堂教学中,笔者以“超市商品的排序”项目主题为例递进式设计问题链实施大单元主题教学,使学生通过本项目主题的学习掌握插入排序、冒泡排序、快速排序等常见排序算法的核心内容。

1.简单情境下的良构问题——创设情境,理解算法

查看商品销量不仅是商家每天必做的工作,对于消费者而言也很重要,同类商品销量的多少能为消费者购买产品提供参考。因此,教师可先给出三种不同品牌的钢笔(如右表),让学生利用之前学过的知识对三个产品的销量由小到大进行排序,调试代码并上机运行得出结果,并讲解钢笔的销售数量就是此次排序的关键字,其可以是整型、实型、字符型等基本数据类型,通过对三种钢笔的销售数量排序构造一种新的有序序列,这也就是排序的功能及其意义所在。在对基础知识进行复习和应用的基础上,提出问题:超市里钢笔品牌商品众多,如果需要按照销售数量排序的数据增加到5个或者更多(n个),该如何求解?

2.简单情境下的劣构问题——初步探究,应用排序

将被排序的数据量增多,问题的情境仍然归属于简单情境,但是因为学生并不了解排序算法和其种类,也不知道它们之间的区别,所以无法顺利求解。此时教师可通过设计项目活动手册、录制微课、提供核心代码等方式帮助学生探究插入排序、冒泡排序和快速排序,对问题进行分析并尝试加以解决。首先,提问如何对5个产品的不同销售数据(66,56,34,73,45)进行升序排序,引导学生思考;其次,引导学生在初步探究的结果上进行细化,为后面的问题解决继续铺垫。

思路一:插入排序。第一次比较,第一个数据为66,将第二个数据56与66进行比较,56<66按照升序排列,则将数据56插在66的前面,也就是数据66后移一个位置,第一次比较后的销量排序为56,66,34,73,45;第二次比较,插入销量数据34,将34与56和66分别比较,并插入到正确位置。以此类推,经过四次比较,最后完成了5个销量数据的升序排序。

超市某天三种钢笔销售数据

思路二:冒泡排序。将相邻的两个数据量进行比较。比较66和56,66>56,交换;比较66和34,66>34,交换。比较66和73,66<73,不交换;比较73和45,73>45,交换。经过4次交换销量数据最大的商品被放在了末尾,此时序列为56,34,66,45,73。按照这个思路经过4次迭代,最后完成5个销售数据的升序排序。

实现这两种排序算法都运用到了迭代的思想方法,每一次比较都是一次迭代的过程,迭代让程序更高效和简便。

3.复杂情境下的良构问题——深层研究,迁移解决

在学生充分理解算法、应用排序算法思想的基础上,要求其上机实践编写代码,思考二者之间有怎样的区别?是否还有更为高效的排序算法?将问题聚焦到排序算法的实现和区别上。接着,引导学生以小组为单位分组补齐代码并上机运行两种排序算法相应代码,调试修改以解决问题。

基于5个销量数据的排序并不能让学生直观感受两种排序算法的区别,在此基础上通过加大数据量,让学生在教师的引导下从排序算法的时间复杂度、空间复杂度以及运行时是否稳定这三个角度认识两种排序算法的不同,帮助学生内化算法思想。其实排序算法远不止课堂上提到的这三种,不同的排序算法有不同的应用场景和适用解决问题的类型,学生通过对比得出结论,插入算法更适用于较少数据量的排序且运行稳定不易出错。对于数据量较多,数据基本有序且逆序很小而言,冒泡排序能稍占优势。此时,教师给出多种排序算法的时间复杂度和空间复杂度的对比图(如上图),引导学生关注排序算法的本质。这样的教学方式,可以有效地培养学生分析算法、掌握算法的能力,初步完成从低阶思维到高阶思维的转变。

多种排序算法对比

4.复杂情境下的劣构问题——项目拓展,创新设计

程序=算法+数据结构,对算法的学习离不开数据结构的支撑,程序是问题解决的最后一个环节,在形成程序前需要为问题设计好数据结构,再匹配相应算法去实现。下一节教学内容为数据的查找,为了更好地实施大单元教学,可以让学生自主设计并思考利用程序求解超市某个月份商品销售总额(提供1~12月的10种商品销售数据)。因为数据在表中组织和存储的方案有很多,而如何查询取决于数据在数据表中的组织和存储结构。是全部数据都存放在一张表上,一个月的数据对应一条记录,每个商品有12条记录,还是每个商品1~12个月的数据就只对应一条记录抑或是其他存储方式?哪种数据结构程序运行效率更高?学生以小组为单位进行选择和设计,合作完成任务。

通过对这些案例的学习,学生能够体会到解决同一个问题不止一种算法,而采取的数据结构不同也会导致算法差异化,甚至采用相同的数据结构,算法设计的理念和技巧不同,设计的算法也会不一样。在实际学习过程中,教师要关注学生的需求,引导学生去探索去思考,只有这样才能促使学生创造性地去解决问题,才能真正达到培养高阶思维的目的。

进阶式课堂教学设计还原了教学本质,让学生分别在简单情境和复杂情境中解决良构问题与劣构问题,使其分析算法问题、综合探究算法问题的能力以及创新设计求解问题的能力都得到了提升,实现了从低阶思维到高阶思维的进阶,不仅较好地达到了教学预设,更落实了计算思维的培养。在今后的教学中,笔者会继续探究在具有挑战性的情境下如何实施进阶式课堂教学设计,以促进学生深度学习的发生;继续提升学生创造性解决问题的能力,发展高阶思维;进一步落实学科核心素养的培养,逐步完善并优化进阶式课堂教学设计在高中信息技术课堂中的应用。

猜你喜欢
进阶排序情境
不同情境中的水
排序不等式
创设情境 以说促写
恐怖排序
传祺GM6:家用MPV新进阶
节日排序
领克进阶
2018车企进阶十字诀
进阶中的北汽新能源
护患情境会话