叶志向
摘 要:新课改提出在高中信息技术课堂教学中,要落实立德树人的根本任务,把项目整合于课堂教学中,帮助学生掌握知识与技能的同时,培养学生的学科核心素养。文章以粤教版高中信息技术必修1《数据与计算》第三章《算法基础》中的“计算机解决问题的过程”相关知识点教学为例,阐述在课堂教学中通过创设贴近学生生活的教学情境、使用网络教学辅助平台、开展项目式学习等教学策略进行Python教学实践探索,引导学生使用Python语言中的绘图模块(Turtle库)编写程序代码开展项目式学习探究活动,培养学生的信息技术学科核心素养。
关键词:Python教学;学科核心素养;教学情境;辅助平台;项目式学习
一、Python编程语言简介
Python编程语言广泛应用于人工智能、云计算、大数据、科学计算、神经网络等领域,它是目前最流行的编程语言之一。Python编程教学已经成为高中信息技术教学中十分重要的一部分。Python编程语言的语法规则非常简单,非常接近于自然语言,因此,很适合高中生入门学习。高中生花费较少的时间,就可以掌握Python的语法规则,将更多的时间和精力投入到使用Python编程语言解决实际问题的过程中。
二、高中信息技术Python教学实践探索
高中信息技术学科核心素养包括信息意识、计算思维、数字化学习与创新、信息社会责任四个核心要素[1]。下面以粤教版高中信息技术必修1《数据与计算》第三章《算法基础》中的“计算机解决问题的过程”相关知识点教学为例,阐述在课堂教学中如何培养学生的学科核心素养。本课的学习对象为高一学生,他们具有一定的计算机使用经验、数字化学习能力、信息加工处理能力和数据分析处理能力。但是,对于计算机编程,大部分学生接触较少,相关知识了解不多。本课教师引导学生走进Python编程语言的世界,体验使用Python语言中的绘图模块(Turtle库)编写程序代码开展项目式学习探究活动。在这个活动过程中,学生通过发现问题、解决实际问题,掌握使用计算机解决问题的一般过程,培养学科核心素养。Turtle库是Python自带的绘图模块,它可以非常方便直观地绘制出美观、富有创意的图形;同时Turtle库的知识点对学生来说比较易于理解、掌握。笔者通过教学实践探索,认为在Python教学中,先讲Turtle库的使用,可以充分激发学生学习Python编程的兴趣和探索精神,为后面组织学生开展较难的项目学习探究活动奠定基础。例如:使用Python编程设计从A市到B市耗时最少的旅行路线方案;使用Python编程设计购买纪念品的最佳方案;使用Python编程对网络购物平台客户行为数据进行数据分析和可视化表达;使用Python编程剖析空调企业智能客服机器人等项目学习探究活动。
(一)创设贴近学生生活的教学情境,培养学科核心素养
创设学生喜闻乐见、贴近学生生活的教学情境,在很大程度上可以激发学生的学习兴趣[2]。例如:在本课引入环节,播放在东京举办的第32届奥运会相关视频。视频中,中国体育健儿顽强拼搏,勇夺奖牌的精彩瞬间,深深地震撼每一个学生的心灵。当中国体育健儿超越对手,让鲜红的五星红旗在赛场升起时,真是令人心潮澎湃!接着引出学习内容,引导学生通过自主学习、合作探究,体验使用Python语言中的绘图模块(Turtle库)编写程序代码开展项目式学习探究活动:奥运五环和绘制五星红旗。引入环节,进行了德育渗透,激发了学生的民族自豪感、爱国热情和学习兴趣,培养了学生的信息意识及信息社会责任等学科核心素养。
(二)使用网络教学辅助平台,培养学科核心素养
常见的网络教学辅助平台有:ITtools平台、UMU平台、课廊平台、Moodle魔灯平台等。网络教学辅助平台的功能强大,可以为学生的学和教师的教提供强有力的保障。例如:课前教师将本节课的学习资源(如教学课件、导学案、微课视频、问卷)等上传到网络教学辅助平台,方便学生课前自学、教师课前了解学情。课中教师通过平台实时了解学生出勤情况以及学生课堂学习任务的完成情況,进行有针对性的导优辅差;学生通过平台进行自主学习、合作探究。课后,学生可以通过平台对较难的学习内容进行再次学习,加深对知识点的理解;教师可以通过平台了解学生的整体学习情况,及时调整教学进度。网络教学辅助平台的使用,有助于提升学生数字化学习与创新的能力。
(三)开展项目选题及规划活动,培养学科核心素养
新课改提倡在高中信息技术课堂教学中使用项目式学习方式整合课堂教学,让学生在数字化学习环境下完成项目任务的同时,形成知识的构建,培养学生发现问题、解决问题的能力,培养学生的学科核心素养[3]。项目主题应该是与学生生活实际相联系的问题或者社会热点问题。本课设置了两个Python编程项目学习探究活动,分别是:1.使用Turtle库编写程序代码,绘制奥运五环;2.使用Turtle库编写程序代码,绘制五星红旗。本课,学生重在体验运行Python程序、尝试修改Python程序,掌握计算机解决问题的一般过程;因此这两个编程项目均提供了相关学习资源(如导学案、微课视频、学习网站等)、大部分程序代码以及参考答案。同时Python程序中对学生来说较难理解的代码段,都添加了注释行,帮助学生理解程序代码的作用。在教师的引导下,学生只需编写少量的代码,即可将程序补充完整,正确地运行出结果;同时,学生通过尝试修改程序中一些关键代码,即可运行出不同的效果。在数字化学习的环境下,学生完成编程项目探究活动,体验计算机编程的乐趣,掌握使用计算机解决问题的一般过程,增强信息意识,发展计算思维、提高数字化学习与创新能力,树立正确的信息社会价值观和责任感。
本课在提出绘制奥运五环和五星红旗这两个编程项目学习探究活动后,教师向学生展示用Python编写程序代码绘制的奥运五环和五星红旗图案。教师为这两个绘图程序的画笔设置了合适的绘画速度,让学生很直观地看到奥运五环和五星红旗是如何一笔一笔画出来的。
学生在感受Python程序的神奇及强大功能的同时,极大地激发了学习兴趣。接着通过问卷星设置问卷,让学生选择自己感兴趣的项目任务;然后根据导出的问卷结果以及学生计算机操作水平能力快速地对学生进行合理分组。每组的组员为6人左右,設置1个组长,尽量做到合理搭配。小组同学进行合理分工,进行项目规划,然后通过自主学习、合作探究,共同完成项目学习探究活动。
Turtle库用于实现绘画功能,它的主要命令有:移动位置(前进、后退,移动到指定坐标位置);控制方向(左转、右转,指向某一角度);画笔颜色及大小;画笔状态(抬笔、落笔、隐藏、显示);画笔速度;画笔填充(填充颜色、开始及结束填充)等内容。教师在简单介绍Turtle库常用命令的用法后,向学生展示使用Turtle库编程程序代码绘制的精美图案,如校园里的花草树木、校园里的教学楼等,让学生在惊叹Turtle库神奇绘图功能的同时,引导学生通过查看相关学习资料体验运行、尝试修改简单程序代码(如绘制三角形、正方形、圆、五角星以及它们的螺旋线等),为接下来开展项目探究与实践活动打下基础。
(四)开展项目探究与实施活动,培养学科核心素养
开展绘制奥运五环和五星红旗这两个编程项目学习探究活动,引导学生掌握计算机程序解决问题的一般过程:分析问题、设计算法、编写程序、调试运行程序。在这个过程中,学生发展了计算思维,提高了数字化学习与创新能力,实现了培养学科核心素养的目的。
1.开展“绘制奥运五环”编程项目探究与实施活动,培养学科核心素养
经过讨论分析,要使用Python编写程序代码绘制奥运五环,需要解决以下几个问题:第一,奥运五环的绘制标准;第二,绘制圆环;第三,确定五个圆环的画笔起点位置坐标。奥运五环的绘制标准是:由蓝色、黑色、红色、黄色、绿色5个相同半径的圆环组成,左右相邻的2个圆不相交且在同一水平线上;下面黄色的圆环与上面蓝色和黑色的圆环相交;下面绿色的圆环与上面黑色和红色的圆环相交。
绘制奥运五环的算法用自然语言描述如下:第一,确定画布的大小和位置;第二,确定画布上蓝色圆环的起点位置坐标,设置画笔大小和颜色,绘制蓝色圆环;第三,确定画布上黑色、红色、黄色和绿色圆环的起点位置坐标,设置画笔大小和颜色,绘制这些圆环。
编写程序绘制奥运五环的难点在于确定五个圆环的画笔起点位置坐标。这里假定我们要绘制的奥运五环每个圆环半径均为50像素,间隔均为20像素。首先确定蓝色圆环的画笔起点位置坐标为(0,0);根据每个圆环的半径均为50像素,间隔均为20像素,可计算出其他四个圆环的画笔起点坐标。厘清楚绘制奥运五环的技术难点及算法框架后,各个学习小组通过查看导学案、查看网络教学辅助平台上的教学资源、上网查找资料等方式学习相关的编程知识,开始编写程序代码绘制奥运五环。这里教师已经提供了大部分的代码,学生只需要完成少量的关键代码填空即可。学生通过运行、调试编写好的程序,查看绘制好的奥运五环是否符合标准,进一步修改完善程序代码。
2.开展“绘制五星红旗”编程项目探究与实施活动,培养学科核心素养
经过讨论分析,要使用Python编写程序代码绘制五星红旗,需要解决以下几个问题:第一,五星红旗的绘制标准;第二,绘制红色矩形旗面;第三,绘制五角星。绘制五星红旗是有国家标准的,学生通过查找相关资料,明确五星红旗的绘制标准。
绘制五星红旗的算法用自然语言描述如下:第一,确定画布的大小和位置;第二,确定画布上矩形旗面的大小和位置,长宽比例为3:2,画笔颜色和填充颜色均为红色,绘制矩形旗面;第三,确定大五角星的起点位置和大小,画笔颜色和填充颜色均为黄色,绘制大五角星;第四,确定小五角星的起点位置和大小,画笔颜色和填充颜色均为黄色,绘制小五角星。
编写程序绘制五星红旗的难点在于确定大五角星和小五角星的画笔起点位置坐标,教师可引导学生根据带有辅助线的五星红旗的绘制标准图案来绘制五星红旗。首先,编写程序在画布上绘制长宽比为3:2的矩形旗面,其次将矩形旗面四等分,最后在左上方的长方形内绘制五颗五角星。在左上方的长方形内画出10×15的方格辅助图形(10行,15列),确定大五角星的起点位置坐标,绘制大五角星,接着确定大五角星的中心点位置坐标;小五角星的起点位置可以根据大五角星的中心点,使用角度方向结合移动距离的方式来定位。根据五星红旗的绘制标准,这里假定每个格子的长度为L,小五角星的直径为littlestar,那么大五角星的中心点的坐标位置是横向数5个格子,纵向数5个格子即可定位。
大五角星的中心点到右上角第一个小五角星起点位置移动的角度方向angle1为:math.atan(3/5)*180/math.pi;大五角星的中心点到右上角第一个小五角星起点位置的距离为:math.sqrt((L*5)**2+(L*3)**2)-littlestar/2;其他小五角星的起点位置相对大五角星的中心点移动的角度和距离用同样的方法即可计算出来。厘清绘制五星红旗的技术难点及算法框架后,各个学习小组通过查看导学案、查看网络教学辅助平台上的教学资源、上网查找资料等方式学习相关的编程知识,开始编写程序代码、设置画布、绘制矩形旗面、绘制大五角星和小五角星。教师已经提供了大部分的代码,学生只需要完成少量的关键代码填空即可。学生通过运行、调试编写好的程序,查看绘制好的五星红旗是否符合标准,进一步修改完善程序代码。
(五)开展项目成果交流以及自评、互评、教师评价活动,培养学科核心素养
各个项目学习小组完成绘制奥运五环和五星红旗这两个编程项目学习探究活动后,将程序代码以及绘制的效果图(屏幕截图)上传到网络教学辅助平台,在平台上面开展学生自评、互评及教师评价。首先由各个学习小组介绍自己小组完成的编程项目成果,总结编写计算机程序解决问题的过程;分享交流在编写程序过程中遇到的困难,是如何解决的;完成的编程作品有什么亮点以及编写程序的收获。接着由教师和其他学习小组的同学发表各自的看法,提出需要修改完善的建议,进行相应的点评。在这个过程中,学生的能力得到了发展,有效培养了学生的学科核心素养。
结束语
综上所述,通过创设贴近学生生活的教学情境、使用网络教学辅助平台、开展项目式学习等教学策略进行高中信息技术Python教学,可以有效培养学生的学科核心素养。高中信息技术教师要与时俱进,不断更新自己的知识储备,采用新的教学策略,改进教学方式方法,适应时代发展对人才的需要,注重培养学生的学科核心素养。
参考文献
[1]任友群,黄荣怀.普通高中信息技术课程标准(2017年版2020年修订)解读[M].北京:高等教育出版社,2020.
[2]杨文鹏.以计算思维培养为导向健全Python教学策略[J].新课程导学,2022(25):62-64
[3]袁亚芳.项目式学习在高中Python教学中的应用[J].中小学电教,2021(9):19-20