高中信息技术Python语言教学的思考

2021-12-29 15:56浦丕志
科学咨询 2021年24期
关键词:语句本题例题

浦丕志

(沈阳市和平区教育研究中心 辽宁沈阳 110002)

Python语言在浙教版高中信息技术教材中成为描述算法和解决问题的计算机语言,满足了新课标对程序设计语言的要求。在学习中通过解决实际问题,来体验程序设计过程、感受算法效率、掌握程序调试与运行的基本方法。笔者在教学有如下的思考,分享如下:

一、教学顺序的调整和使用开发环境的时机

教材中“3.1用计算机编程解决问题的一般过程”一课,引入了“绘制正六边形的过程”的内容,讲解了turtle模块和import、for、range等语句,不适合刚刚开始学习Python语言的同学学习,建议后置,将这一课放在“3.2.2顺序结构的程序实现”后教学。

在教学Python过程中,应尽快让学生使用功能强大的开发环境,在前段教学中引导学生使用命令行、Shell、IDLE等进行语法测试,提高学生评估并选用Python资源与工具、有效地管理学习过程与资源、创造性解决问题的能力。笔者在教学“3.2.5函数与模块”一课的“实践与体验”内容之前,让学生开始使用Pycharm,学生能方便地在Pycharm中管理模块,调试和运行程序。

在学生初期使用Pycharm时,可以使用微课辅助学生练习用IDLE已经调试成功的程序,熟悉Python开发环境的操作过程。

二、开始Python教学前的三个步骤

第一步,在命令行进入Python环境后,先讲range()函数,因为range()函数的变量具有Python语言语法普遍的特征,通过反复改变参数和对运行结果的观察,形成初步对程序调试的体验。

第二步,进入Shell进行程序调试,教材中计算和输出字符串的样例可以满足学生的自主学习,因为Shell的界面与命令行中的Python环境类似,学生不会觉得学习困难。

最后一步,通过IDLE学习Python语言的编辑状态下的调试过程,再在IDLE环境下完成前两步的程序,巩固Python语言的语法规则(大小写敏感、冒号用法、语句块、缩进等)。这一部分内容比较多,也有很多技巧,可以鼓励学生小组合作学习,相互启发和提示,最后总结和自己积累。

在教材“3.2”中以图表形式介绍了常见数据类型、算术运算符、关系运算符、逻辑运算符,这些内容可以选择重点(当下能用上)内容讲解,其他的内容鼓励学生在使用这些知识时通过查资料的方法来学习和应用(教材上类似的表很多,都将其列为资料,不详讲,做资料进行待查)。

三、清晰地讲解Python特殊的用法

在Python中,变量无须声明,值和类型可以改变(教材72页)。教师通过演示和讲解,让学生理解变量的值和类型转换的过程和最终结果。

在教学80页“end=’‘的作用”内容时,可以通过一般输出过程与“end=’‘”输出过程的对比来教学,讲清“end=’‘”的格式(Python中单引号和双引号的通用方法)。此时学生已有了程序设计基础,可以鼓励学生自主学习。

四、教材中重点例题的教学建议

(一)“问题与讨论”(第78页)

此题讨论的问题是甄别语句体(语句块)的语法格式和逻辑的正确性,教学时,可让学生分别完成“代码一”和“代码二”,结合输出的结果进行讨论。得出结论:“代码一”运行结果最后总是会输出“超速”,也就是最后一行“print(“超速”)”没有进行缩进;“代码二”的分支结构清晰,当条件成立时执行“print(“正常”)”,否则执行“print(“平均车速”,round(v,1))”和“print(“超速”)”两条语句。

(二)“猜数游戏”(第82页)

本题是一道比较完整的例题,教材提供的资料也非常丰富,教学中可引导学生合作学习或自学。首先,引导学生自己分析任务,建立初步的模型后进行完善;然后,尝试(仔细分析)画出流程图,理清框图含义和程序运行的顺序,明确编程流程;最后,在完成程序调试的基础上,鼓励学生进行学习评价,总结解题步骤“抽象与建模”“设计算法”“编写程序”“调试运行”。

本题中的“while”循环结构和“布尔”逻辑关系是非常重要的知识点,正是构造了“死循环”,程序才能实现输出“正确”反馈,以及“偏小”和“偏大”的提示。

(三)利用海伦公式求面积(第84页)

可以先让学生查找资料,了解“海伦公式”,再引出用“用典型的例题和数学思想解释一般问题”的思想。

通过自定义Area函数来“求解分割的4个三角形面积之和”求得正多边形面积,推理出用函数和“海伦公式”求面积的误差,理解函数的应用过程:“将输入经过一定的变换和处理后得到预定的输出,函数就是一个盒子,可将反复执行的代码封装为函数”,再适时地讲解“形参和实参,直接修改形参的值不会影响实参”[1]。

在学习完本题后,可以补充“验证.py文件可以通过模块来导入,说明Python源文件是模块”的内容。接下来,再教学“模块的导入及应用”就非常容易了,Python的教学内容补充非常重要,要考虑到补充内容的适时性和实用性,也要实现对后面知识点教学的铺垫。

(四)“实践与体验”(第87页)

本题是一个综合的例题,教材提供了“实践与体验”步骤的详细资料,帮助学生合作或独立完成。在教学中可以通过微课,安装“Pycharm”,并独立完成教材“绘制六边形的过程”(第66页)试题或“思考与练习第6题”(第89页)试题,熟悉Pycharm编程环境。

学生输入程序后,可指导学生用file->settings->projectinterpreter,双击“pip”,搜索“pillow”,点击“pillow”,用左下角“install”来安装,或直接在库(模块)的提示上加载库(模块)。当库(模块)都加载成功后,再通过修改“RBG”参数调试程序。

这一类数字图像处理综合例题,能够实现用项目来检验和再学习。让学生知道“用Python程序设计语言可编写具有图像处理功能的应用程序,如图像的大小和颜色调整、图像的合成、图像的滤镜添加等”[2]。教师要关注学生核心素养的培养,通过解决综合性较强的复杂问题,让学生自觉主动地分析问题背景,从纷繁复杂的线索中提取有效信息,明确已知条件和求解的问题;通过小组讨论方式,在合作解决问题的过程中,培养学生团队协作,共享信息的意识。

(五)“项目挑战例题”(第102页)

本题是应用Python语言实现对数据进行管理和统计的项目挑战例题,学生会使用相关数字化工具(Excel和Python)通过对生活中事物关联进行调查和数据整理,形成数据表,最终抽象和统计出数据背后的规律。教学时,建议创设一个真实的情境(可选用“寻找关联次数最多的商品”这个项目),学生统计并填写一个数据表,也可以用虚拟软件生成数据表,旨在分析数据之间的关联。

程序在编写过程中常常会遇到困难,可以通过小组合作,查找相关资料的方法应对,教师也要进行细致的指导和项目实施方向的把控。编程输出结果后,可根据程序结果分析和讨论一下数据关联的实际意义,发掘出对新观念和新事物的积极学习态度、预测、理性判断和负责任的应对策略,在信息社会中有一定的信息安全意识与能力,能够遵守信息法律法规,信守信息社会的道德与伦理准则,在现实空间和虚拟空间中遵守公共规范,既能有效维护信息活动中个人的合法权益,又能积极维护他人合法权益和公共信息安全;关注信息技术革命所带来的环境问题与人文问题[3]。

高中阶段的学生已经形成了一定的思维习惯,在教学Python时,应以解决实际问题的项目式学习为基础,在程序设计时形成“随用随取”的编程方法,避免枯燥的语句和语法讲解,关注学习过程的知识积累和评价,通过自主学习与合作学习突破学习难点,鼓励资料查找和新工具的使用,形成独立使用Python建立抽象模型、构建算法、编写和调试程序的创新能力。

猜你喜欢
语句本题例题
重点:语句衔接
精选课本题改编练习
问渠哪得清如许 为有源头活水来
今天是几月几日
由一道课本例题变出的中考题
一道课本例题的变式拓展
找规律
我喜欢
例说复习课中例题的选编
作文语句实录