聚焦于计算思维的高中Python教学模式探索
作者: 韩少勋
摘要:计算思维作为高中信息技术核心素养之一,是人工智能时代高中学生必备的信息素养和思维方式。Python编程以其简单易学、强大的库等特点走进高中信息技术教材,成为培养学生计算思维的有效手段,而传统的讲练为主的高中信息技术课堂已无法满足重过程、重思维、重问题解决的Python教学。因此,本文构建了聚焦于计算思维的高中Python教学模式,并提出具体的实施建议,以期为广大教师提供借鉴。
关键词:计算思维;Python编程;教学模式
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2025)07-0047-04
问题的缘起
Python编程语言以其简单易学、强大的库等特点成为高中信息技术课堂培养学生计算思维的有效手段。但在实际教学过程中,大部分教师仍沿用传统信息技术教学授课模式,即注重理论知识讲解,注重学生机械训练,轻视计算思维培养,轻视问题解决能力迁移等,相关教育资源也十分有限。
同时,大部分高中学生对编程的理解学习并不足,还停留在难度大、枯燥乏味的浅显认识层面,少部分学生停留在图形化编程的印象上。因此,教师在具体的Python教学过程中,不能单纯地教编程,而应将计算思维的培养过程融入具体的编程教学过程中。这样一来,如何通过Python编程教学培养学生的计算思维,并提高学生的问题解决能力,就成为亟待研究的问题。
相关概念理解
1.计算思维
《普通高中信息技术课程标准(2017年版)》(以下简称“新课标”)将计算思维纳入核心素养之一[1],指出“计算思维的培养应当是‘尝试、验证、修正’的试错过程,让学生亲历问题解决过程,发展学生的计算思维”。计算思维是一种思维过程,以解决具体问题为导向,能够将具体问题抽象化,以数字化的形式进行理解、处理,并对解决方案不断改进优化,形成一种具象化的思维过程。[2]
2.Python编程语言
Python语言是由荷兰数学家吉多·范罗苏姆于20世纪90年代初设计开发的,其以简单易学、开源免费、可移植、可跨平台等优点[3],成为最受编程初学者欢迎的程序开发语言之一。Python编程的普及学习有助于培养高中学生的计算思维能力,其特点主要表现在以下两方面:①简单易学。其接近通俗易懂的自然语言更容易理解;代码书写并不复杂,可以降低学生的抵触心理。②丰富的库功能。其具有众多强大的各种库及扩展包,成为智能时代的主流编程语言,如Pygame游戏库、Numpy数学库、Random随机数库等,有助于促进普通高中学生的主动性学习。
聚焦于计算思维的Python教学模式设计
笔者认为,高中Python教学模式应重点突出编程教学结构、过程、方法的有机统一,教学模式应由单一走向多元,由归纳走向体验、试错、演绎,由教师机械地教转为学生理解性地学习。因此,教师应以计算思维为核心,以高中信息技术必修Python课程为基础,并结合高中信息技术教学的三维目标(如图1)设计教学模型。
1.设计原则
(1)注重结合实际创设探究情境
合适的、有吸引力的探究意境有助于提升学生的计算思维,结合Python编程的独特优势,可以以生活中有趣的问题引入,激发学生的学习积极性。
(2)以学生学为主体,鼓励学生试错
高中学生已经能够书写初始代码,理解简单读程,并能够用自然语言描述算法。在此基础上,教师可以鼓励学生不断调试运行,在一次次试错过程中,发现并解决Bug,优化算法,理解编程的精髓。有别于其他学科的结果式答案,Python编程理想的教学应是过程式答案,解决问题的方法和步骤更加重要。
(3)弱化考试评价导向,强化问题解决能力培养
笔者所在省已将Python编程纳入高中学业水平测试考试科目,相比较而言,它是通过率相对较低的学测科目,原因在于其教学忽视学生编程思维的训练,陷入练题解题的传统考试导向的学习方式中。因此,应弱化考试评价导向,强化问题解决能力的培养,同时提升学生的计算思维水平。
2.构建“探究—试错—问题解决—迁移”的教学模式
计算机解决问题的思路有别于传统的解题过程,不仅追求结果的正确,而且追求过程的演绎正确。因此,在具体的教学过程中可以设置思维的台阶,鼓励学生找到解决问题的算法并将其代码实现,吸引学生不断试错、调试、运行,最终解决问题。[4]下面,笔者结合教学经验,构建聚焦于计算思维的高中信息技术Python教学模式(如图2)。
3.教学案例
根据高一年级新生的认知特点和实际学情,笔者选取了教科版“计算与问题解决”单元《非数值计算》章节的第一课时作为案例进行教学设计(如下页图3),具体的教学过程如下。
①(问题分解)“猜数字”游戏导入,回顾旧知,以贴合学生的情境过渡。
学生根据问题情境,分解子问题及具体思路,运行Python编写的“猜数字”游戏。计算机在0~1000中随机产生一个数,试试看要多少次才能猜中(如下页图4)。
②(抽象模型)提出“二分查找法”,由学生完成自然语言描述算法。
学生确定问题解决的关键要素,构建相关解题模型,运用自然语言描述算法:二分查找又叫折半查找,将数列有序排列,采用跳跃式查找数据;以递增数列为例,先以中点位置的元素作为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分;每一次比较后都可以将查找区间缩小一半。
③(算法设计)根据算法流程图,完成代码实现及算法设计。
学生需要解决的问题为:流程图如何描述?程序代码如何实现?
学生通过算法分析与设计,完成代码编写(如图5)。
④(算法评估)多次调试运行。协作探究,邻桌互助,交流评估其算法优劣,并加以优化。
学生调试运行程序,并自主修改部分代码,重点体会循环结构和分支结构的书写格式。
⑤(知识迁移)活动拓展,学以致用,加深对递归算法的理解,用计算思维迁移解决新问题。
学生深入理解二分查找法,运用二分思想解决其他实际问题,尝试解决二分法解方程(如图6)。
聚焦于计算思维的Python教学实施建议
1.探索跨学科融合
聚焦于计算思维的Python编程教学更多的是解决具体问题,而具体问题的分析可以抽象为具体的数学模型。[5]跨学科融合式的Python教学模式,可以建立在学生已有的数学逻辑思维能力基础上,将数学的“读题—解题—运算—验证”过程,转变为“算法描述—算法设计—代码实现—算法优化”过程,降低学生认知难度。物理学科问题的解决也同样如此,Python编程自带的模块库,也可以作为物理实验的程序表示,可以突破实验环境和观察数据的局限性。此外,还可以与艺术结合,进行数字艺术创作等。
2.探索大单元教学
大单元教学是以单元为学习单位,依据学科课程标准,聚焦学科课程核心素养,注重情境与实践,围绕某一主题或活动(大概念、大任务、大项目)对教学内容进行整体思考、设计和组织实施的教学过程。大单元教学可以打破传统的枯燥乏味的教学模式,通过多样化的探索和实践活动激发学生的学习热情和积极性,关注学生能力培养。在实际的教学过程中,教师可以根据具体的教学目标和学情选择适合的主题,形成综合性的学习单元,促进学生在实践中学习和掌握Python编程知识。
3.探索故事化学习路径、游戏化学习体验
将教学内容融入到故事情境中可以让学生在完成任务的过程中,体验到故事角色的成长和挑战。例如,在“拯救网络世界”项目中,利用游戏化设计元素,如积分系统、等级挑战和虚拟奖励,让学生在轻松愉快的氛围中掌握Python编程等知识,提升学生的计算思维。
结语
在人工智能技术快速发展的背景下,尤其是在基础教育阶段,学生的计算思维培养日益受到重视。而起到纽带作用的Python编程教学,目前在教学理论研究与教学实践上仍显不足,因此,如何提升学生的计算思维能力和编程技能,并使其可持续发展,还需继续探索。
参考文献:
[1]任友群,黄荣怀.高中信息技术课程标准修订说明 [J].中国电化教育,2016(12):1-3.
[2]胡林杰.面向计算思维培养的高中Python教学活动设计与应用研究[D].兰州:西北师范大学,2021.
[3]朱志.基于计算思维培养的Python编程项目式教学实践探索[J].教育信息技术,2024(01):53-56.
[4]丁世强,王平升,赵可云,等.面向计算思维能力发展的项目式教学研究[J].现代教育技术,2020(09):49-55.
[5]王荣良.计算思维教育[M].上海:上海科技教育出版社,2014.