贾云
摘要:通过梳理项目式学习与高中Python创意编程融合的契合点,结合高中信息技术学科特点,总结出基于项目式学习的高中Python创意编程课程案例设计流程,并根据此流程设计出“周而复始的循环:有趣的绘图”一课的教学策略。从实施结果来看,基于项目式学习的Python创意编程设计能培养学生的批判性、创造性等高阶思维能力,有效促进学生的发展。
关键词:高中信息技术;项目式学习;Python创意编程;高阶思维能力
人工智能作为国际竞争的新焦点,是引领未来的战略性技术。“阿尔法围棋”的横空出世激发了全社会的研究热情,而ChatGPT的爆火,则把人们对人工智能的研究推向热潮。Python作为进入人工智能领域的敲门砖,在推动人工智能发展中具有不可估量的作用[1]。
项目式学习(Project-Based.Learning),由上世纪的“设计教学法”演变发展而来。北师大学者杨明全副教授将其定义为:项目式学习是一种建构性的教与学方式,教师将学生的学习任务项目化,指导学生基于真实情境提出问题,并利用相关知识与信息资料开展研究、设计和实践操作,最終解决问题并展示和分析项目成果[2]。简言之,项目式学习能够引导学生在展示过程、分析结果中对知识进行深度的认识与加工,联系已有知识,建构新的知识,最终达成核心素养的培养目标。
项目式学习与Python创意编程的契合点主要表现在三方面:一是培养目标的一致性。项目式学习要求学生不仅要基于整个项目提出问题、分析问题、做出假设、解决问题,还要展示与评价;高中信息技术Python课程立足于对学生核心能力(包括创新性、创造力等)的培养,两者都指向学生批判性、创造性思维等高阶思维能力的提升。因此,从培养目标的角度,项目式学习和Python创意编程具有一致性。二是学习方式的相关性。项目式学习引导学生发现、构想、抉择、归纳与评价;高中Python编程课程是学生信息意识和计算思维能力培养的重要途径,采用项目式学习,能让学生通过充分的探究、分享、评价等提升信息意识和计算思维能力。因此,在学习方式上项目式学习与高中Python创意编程课程是相关的。三是教学过程的契合性。项目式学习在教学过程中强调学习的迭代性以及项目的展示与分享;高中Python编程课程鼓励学生在项目完成的过程中掌握相关的程序,对作品进行多次的迭代设计并进行作品展示与分享。因此项目式学习与高中Python创意编程在教学过程上是契合的。
(一)任务选取
“周而复始的循环”一课属于教科版高中信息技术必修一《数据与计算》第二章第3节的内容,是算法学习中的重要部分,包括计数循环(for语句)和条件循环(while语句)。教材中围绕“理财”项目进行展开。在教学实践中能发现,学生对“理财”主题的项目兴趣不高,并且对for语句的理解不够,容易用数学的方法直接算出答案。基于此,教师可以使用Python中的趣味turtle绘图,从顺序画图到循环画图,有效调动学生的学习积极性,让知识逐步过渡。
(二)设计思路
根据项目式学习的思想,并结合实际教学过程,高中Python创意编程课程可进行如下设计(见图1)。
(一)任务目标制定
初步掌握用Python画一些常见的规则图形,并能在画图中融入自己的创意;在画图的过程中深刻理解其中的循环结构,掌握实现计数循环的方法。
(二)创设情境、引导学生选择项目
学校即将举办艺术节活动,计划在艺术展厅展示学校建筑元素(多边形图形及螺旋图形),请你根据相关课程,选择你喜欢的图形,绘制出建筑元素,并在此基础上融入你的创意,向外界展示学校的校园文化。
(三)活动探究
1.基础知识准备
学生在之前的课程学习中,已经初步掌握了顺序结构以及Python模块的导入方法,对turtle常用函数有了初步理解,但对涉及重复执行的语句,即循环结构还不太了解。因此,教师要让学生从已有知识出发,在探究的过程中解决问题,建构新知。
①模块的导入方法:import1turtle1as1t1或者from1 turtle1import1*
②turtle常用函数(见表1):
2.提供教学资源
设计学生学习导学案,帮助学生厘清学习任务,明确学习目标及学习评价标准;提供for循环的语法及其格式注解、列表及其使用方法。
3.项目完成与交流
【活动1】用已学知识绘制一个边长为100像素的正方形。
绘制正方形对学生来说不难,教师可要求学生用之前的顺序结构进行绘制(见图2)。
探索发现:绘制时有两行重复的代码:“t.fd(100)t.left(90)”,即前行100像素和逆时针旋转90度共重复4次。
教师引导:在程序中常常有重复执行的动作,如果用顺序语句一条一条重复来写工作量大,代码不够清晰,而for循环语句可实现重复一定次数的循环。
语法格式:for循环变量in)range():
知识支架:range()函数
师生探究:用for循环语句绘制一个边长为100像素的正方形(见图3)。
图3%"用for循环语句绘制一个边长为100像素的正方形
【活动2】分组绘制多边形并涂色,可以在此基础上融入你的創意。
有了活动1的基础,学生初步掌握绘制多边图形只需要确定重复执行的次数和动作。在涂色时,学生的创意更多了,有的是一种颜色,有的是不同边不同颜色,有的是对称边是同一颜色(见图4)。
【活动3】绘制彩色螺旋图形。
在拓展深入阶段,让学生绘制彩色螺旋图形,探索在颜色变化、前进、旋转的基础上,还可以把基础画作对象作为一个整体旋转变化,变成更多样的图形,并在此基础上融入你的创意(见图5)。
(四)项目评价
学生对turtle绘图的3个活动进行汇报,主要汇报其中遇到的困难及克服困难的方法,以及学生自评、生生评价、师生评价等,通过师生间的思维碰撞,一方面深刻理解Python中的计数循环方法,另一方面对Python中turtle趣味绘图也有一定的掌握。课后,教师可以布置难度升级的任务,如绘雪花等,进一步提高学生的操作能力。
通过turtle趣味绘图的方法,学生能在趣味中体会其中的循环思想,初步掌握for循环语句,绘制出规则的多边形及螺旋图形。从课堂观察来看,学生对绘图有较强的兴趣,在探索的过程中,能讨论分析每个图形的重复次数及重复动作,总结绘图规律。也能够通过自主探究和教师提供的教学资源逐步解决问题,并融入自己的创意。该项目完成后,教师可以进一步提出较高难度的项目,进一步进行知识巩固,提高学生学习能力,使学生通过项目式学习,将Python知识创意化、趣味化,不断增强学生的合作意识,深化学生对知识的理解和计算思维的培养。
参考文献:
[1]郑晓丽.基于设计型学习的高中Python创意编程课程案例设计研究[D].佛山:佛山科学技术学院,2020.
[2]段刘琳.智慧课堂环境下项目式学习设计与实践研究[D]昆明:云南师范大学,2022.
见习编辑/张婷婷