APP下载

从“一课二迭”的三版本教学改进中探讨计算思维教学
——以《基于枚举算法的问题解决》一课为例

2021-01-07程建娜天津市滨海新区塘沽教育中心

中国信息技术教育 2020年24期
关键词:算法信息技术过程

程建娜 天津市滨海新区塘沽教育中心

随着信息技术学科核心素养的提出,“计算思维”就像一盏指路灯,定位了学科价值,也让我们看到了学科发展的方向。但是在研读《普通高中信息技术课程标准(2017年版)》(以下简称新课标)中,笔者发现其中对计算思维的概念描述还是比较抽象,虽然明确指出“计算思维是个体运用计算机科学领域的思想方法,在形成问题解决方案过程中产生的一系列思维活动”,但是,计算机科学领域中的思想方法有哪些、如何发展学生的计算思维等诸如此类的问题仍然困扰着许多一线教师。下面,笔者以最近两年与多位一线教师一起设计的一节课——《基于枚举算法的问题解决》为例,从“同课异构”的角度分析它的三个版本设计,并分享在开展计算思维教学过程中的一些理解和认识。

● 初版:突出任务驱动的教学

第一版的教学设计源自《穷举法与问题解决》(旧版中国地图版高中信息技术选修1算法与程序设计)一节,由塘沽十三中蒋老师执教。蒋老师在设计这节课时还没有接触新课标,所以教学思路仍沿用任务驱动式教学,通过完成“编程打印100以内的质数”任务,学习新知。具体的教学过程如表1所示。

表1

本课例依据“提出任务—分析任务—完成任务”的任务驱动思路组织教学,将枚举算法的学习融入到任务实现中。但由于“打印100以内的质数”的问题求解比较复杂,需要经历两次枚举,所以教师在分析任务时主要考虑该任务的算法设计过程,学生在编程时大部分精力也都耗费在循环嵌套代码的书写和调试上,很少再去思考任务与枚举算法的关系。这样,枚举算法只在提出任务时被明确,随后就“束之高阁”,其思想在问题解决中的实际价值在课堂中没能得到足够重视。

● 再版:突出枚举算法在问题解决中的方法引领

2018年11月,在天津市高中信息技术课改培训的案例展示活动中,笔者结合新课标的学习,对这节课进行了第一次迭代处理,试图反映一些计算思维培养的痕迹。迭代后的设计重点关注学生对枚举算法思想的理解,因为笔者认为要培养学生用计算机科学领域的思想方法解决问题,首先要让他们真正认识并理解这些思想方法的本质。修改后的教学过程如表2所示。

表2

第二版的教学设计是在原版基础上进行的修改,课堂任务没变,但教学思路突出了对枚举算法思想、方法和本质的理解,并将其贯穿于分析问题、设计算法、编写实现等问题解决全过程。同时,加入算法效率的学习,帮助学生理解优化算法的必要性,整个学习相对比较系统。

在实际教学中,笔者和多位一线教师也感觉到上面两个版本设计的任务较难,内容较多,符合旧教材选修1《算法与程序设计》的教学需求,但直接迁移到新教材必修1《数据与计算》的学习中,难度会较大。

● 三版:突出在经历问题解决全过程中发展计算思维

2019年9月,南开中学滨海生态城学校的李敏老师参加全国高中信息技术优质课展示交流活动,笔者和李老师借此机会对这节课进行了第二次迭代,聚焦如何设计问题解决活动,发展学生计算思维,落实学科核心素养培养。在拟定教学设计时,我们结合新课标的内容标准和学业要求,考虑活动当地学生的具体学情(学生没有学习Python语言,不了解算法流程图),降低了课堂中学生编程的难度,不强调学生编写完整的程序,而是采用半成品的程序语句填空方式,重点突出对枚举算法本质的学习,通过“解密唐朝诗人之间关系”的项目研究,掌握枚举算法求解问题的思想和过程。再改后的教学过程如下页表3所示。

这次迭代设计,我们在项目任务上做了重构,通过解密唐朝诗人关系,提供给学生一种基于数据研究唐诗或其他内容的视角,感受用计算机解决问题的特点和方法。本课在第六届全国高中信息技术优质课展示交流活动中被评为示范课,李敏老师也在闭幕式上受邀做说课展示。

● 探索计算思维教育的几点感悟

《基于枚举算法的问题解决》一课的三个版本设计(如下页图2),清晰地展示了笔者和多位一线教师对计算思维教育从初识到探索的过程,当然,第三个版本并不是终点,还有很多需要改进的地方。迭代的过程是不断突破已有框架的定势进行成长的过程,也是笔者用自己的方式探索计算思维教育、理解基于学科核心素养的信息技术教学的过程。

首先,笔者认为计算思维教育不是对过去信息技术教学的完全颠覆。例如,三个教学设计,都强调了让学生经历“人工枚举→计算机枚举”的过程,这不仅能够加深对枚举算法思想普适性以及模式的识别和归纳,还能帮助学生更好地理解计算机解决问题的优势。同时,三个设计都在用流程图帮助学生梳理问题解决的过程,显性化地呈现思维过程,加深学生对算法步骤的理解,并且都在课堂最后关注了知识的归纳与方法的迁移,引导学生举一反三解决更多问题。因此,在探索指向计算思维的教学时,可以先反思以往教学中“成功”之处,对照计算思维的特点对其进行继承和强化,挖掘其中深层价值并在教学中加以突破。

表3

图2

其次,培养学生的计算思维不是简单地回归“编程教学”,而是让学生经历完整的问题解决过程,充分参与到分析问题、模式识别、数据抽象、算法设计等环节中,不能只关注编程代码是否编写运行成功。很多注重实践的教师和学生会认为前者相对比较“枯燥”,没有动手过程,不如后者有具体作品或程序的“成就感”,但对学生发展而言,设计出问题解决方案更具有长久价值,因为编程的平台和软件可以不断替换,但其中问题解决的方法却具有一定的“稳定性”,能够内化为思维帮助学生更好地发展、更有效地认识世界。新课标在必修1中加入了“算法与程序实现”内容,并不是要让每位学生通过学习成为编程专家,而是让学生通过经历用计算机解决问题的过程,理解信息社会思考与问题解决的独特方式,进而具备数字化胜任力,更自如自信地生活。

再次,教学中要结合具体学情,尝试从信息技术专家解决问题的视域来设计教学任务或项目,关注数据驱动下的真实问题解决,让学生在参与问题解决中,理解如何将现实问题转化为计算模型加以解决,从中理解人与技术与社会的关系。学生参与解决问题的过程,就是其知识技能学习和思维发展的过程,在此过程中,需要注意的是,如果导入的问题情境比较大,可以先引导学生聚焦小范围问题的求解,提供给学生一种分解或简化问题的思路。当学生完成对指定的“某个问题”求解后,教师要顺势引导学生进行聚类处理,思考该方法可以解决的“某类问题”,再扩展到“可以解决的问题”,由此实现真正的方法内化,进而发展思维。

以上只是笔者与多位一线教师以枚举算法作为切入点,对《基于枚举算法的问题解决》一课进行两次迭代设计的实践体会,实际上,有关计算思维教育的认识仍在不断发展中,计算思维的培养是一个长期的潜移默化的过程。作为信息技术教师,要将这种探索贯穿到整个教学过程中,在学习中实践,在实践中反思再改进,以实现自身和学科的迭代发展。

猜你喜欢

算法信息技术过程
巧学信息技术课程
探讨建筑施工管理中的信息技术应用
哪种算法简便
微视频在初中信息技术教学中的应用
信息技术在课堂教学中的应用探索
描写具体 再现过程
临终是个怎样的过程
Travellng thg World Full—time for Rree
算法框图的补全
算法初步知识盘点