APP下载

基于项目式学习的高中Python 创意编程课程任务设计研究
——以“周而复始的循环:有趣的绘图”一课为例

2024-03-07江苏省苏州实验中学

黑龙江教育(教育与教学) 2024年2期
关键词:多边形绘图语句

江苏省苏州实验中学 贾 云

人工智能作为国际竞争的新焦点,是引领未来的战略性技术。“阿尔法围棋”的横空出世激发了全社会的研究热情,而ChatGPT 的爆火,则把人们对人工智能的研究推向热潮。 Python 作为进入人工智能领域的敲门砖,在推动人工智能发展中具有不可估量的作用[1]。

项目式学习(Project-Based Learning),由上世纪的“设计教学法”演变发展而来。 北师大学者杨明全副教授将其定义为:项目式学习是一种建构性的教与学方式,教师将学生的学习任务项目化, 指导学生基于真实情境提出问题,并利用相关知识与信息资料开展研究、设计和实践操作,最终解决问题并展示和分析项目成果[2]。 简言之,项目式学习能够引导学生在展示过程、分析结果中对知识进行深度的认识与加工,联系已有知识,建构新的知识,最终达成核心素养的培养目标。

一、项目式学习与高中Python 创意编程融合的契合点

项目式学习与Python 创意编程的契合点主要表现在三方面:一是培养目标的一致性。 项目式学习要求学生不仅要基于整个项目提出问题、分析问题、做出假设、解决问题,还要展示与评价;高中信息技术Python 课程立足于对学生核心能力(包括创新性、创造力等)的培养,两者都指向学生批判性、创造性思维等高阶思维能力的提升。因此,从培养目标的角度,项目式学习和Python 创意编程具有一致性。二是学习方式的相关性。项目式学习引导学生发现、构想、抉择、归纳与评价;高中Python 编程课程是学生信息意识和计算思维能力培养的重要途径, 采用项目式学习,能让学生通过充分的探究、分享、评价等提升信息意识和计算思维能力。 因此, 在学习方式上项目式学习与高中Python 创意编程课程是相关的。 三是教学过程的契合性。项目式学习在教学过程中强调学习的迭代性以及项目的展示与分享;高中Python 编程课程鼓励学生在项目完成的过程中掌握相关的程序,对作品进行多次的迭代设计并进行作品展示与分享。因此项目式学习与高中Python 创意编程在教学过程上是契合的。

二、任务选取及设计

(一)任务选取

“周而复始的循环”一课属于教科版高中信息技术必修一《数据与计算》第二章第3 节的内容,是算法学习中的重要部分,包括计数循环(for 语句)和条件循环(while 语句)。教材中围绕“理财”项目进行展开。在教学实践中能发现,学生对“理财”主题的项目兴趣不高,并且对for 语句的理解不够,容易用数学的方法直接算出答案。 基于此,教师可以使用Python 中的趣味turtle 绘图,从顺序画图到循环画图,有效调动学生的学习积极性,让知识逐步过渡。

(二)设计思路

根据项目式学习的思想,并结合实际教学过程,高中Python 创意编程课程可进行如下设计(见图1)。

图1 基于项目式学习的高中Python 创意编程课程案例设计流程图

三、任务实施及评价

(一)任务目标制定

初步掌握用Python 画一些常见的规则图形, 并能在画图中融入自己的创意; 在画图的过程中深刻理解其中的循环结构,掌握实现计数循环的方法。

(二)创设情境、引导学生选择项目

学校即将举办艺术节活动, 计划在艺术展厅展示学校建筑元素(多边形图形及螺旋图形),请你根据相关课程,选择你喜欢的图形,绘制出建筑元素,并在此基础上融入你的创意,向外界展示学校的校园文化。

(三)活动探究

1.基础知识准备

学生在之前的课程学习中,已经初步掌握了顺序结构以及Python 模块的导入方法, 对turtle常用函数有了初步理解,但对涉及重复执行的语句,即循环结构还不太了解。 因此,教师要让学生从已有知识出发, 在探究的过程中解决问题,建构新知。

①模块的导入方法:import turtle as t 或者from turtle import *

②turtle 常用函数(见表1):

表1 turtle 常用函数一览表

2.提供教学资源

设计学生学习导学案,帮助学生厘清学习任务,明确学习目标及学习评价标准; 提供for 循环的语法及其格式注解、列表及其使用方法。

3.项目完成与交流

【活动1】用已学知识绘制一个边长为100 像素的正方形。

绘制正方形对学生来说不难,教师可要求学生用之前的顺序结构进行绘制(见图2)。

图2 边长为100 像素的正方形

探索发现:绘制时有两行重复的代码:“t.fd(100)t.left(90)”,即前行100 像素和逆时针旋转90 度共重复4 次。

教师引导:在程序中常常有重复执行的动作,如果用顺序语句一条一条重复来写工作量大, 代码不够清晰,而for 循环语句可实现重复一定次数的循环。

语法格式:for 循环变量in range():

知识支架:range()函数

师生探究: 用for 循环语句绘制一个边长为100 像素的正方形(见图3)。【活动2】分组绘制多边形并涂色,可以在此基础上融入你的创意。

图3 用for 循环语句绘制一个边长为100 像素的正方形

有了活动1 的基础,学生初步掌握绘制多边图形只需要确定重复执行的次数和动作。 在涂色时,学生的创意更多了,有的是一种颜色,有的是不同边不同颜色,有的是对称边是同一颜色(见图4)。

图4 学生绘制的多边形

import turtle as t

color=_________ #颜色列表

for i in range(_____):#多边形的边数

t.pencolor(color[____])#画笔颜色变化

t.fd(_____)#前进长度

t.left(_____)#旋转度数

【活动3】绘制彩色螺旋图形。

在拓展深入阶段,让学生绘制彩色螺旋图形,探索在颜色变化、前进、旋转的基础上,还可以把基础画作对象作为一个整体旋转变化,变成更多样的图形,并在此基础上融入你的创意(见图5)。

图5 学生绘制的彩色螺旋图形

import turtle as t

color=_________ #颜色列表

for i in range(_______)#基础多边形重复的次数for i in range(_____):#基础多边形的边数

t.pencolor(color[____])#画笔颜色变化

t.fd(_____)#前进长度

t.left(_____)#旋转度数

t.left(______)#基础多边形每次旋转的角度

(四)项目评价

学生对turtle 绘图的3 个活动进行汇报, 主要汇报其中遇到的困难及克服困难的方法,以及学生自评、生生评价、师生评价等,通过师生间的思维碰撞,一方面深刻理解Python 中的计数循环方法, 另一方面对Python 中turtle 趣味绘图也有一定的掌握。 课后,教师可以布置难度升级的任务,如绘雪花等,进一步提高学生的操作能力。

通过turtle 趣味绘图的方法, 学生能在趣味中体会其中的循环思想,初步掌握for 循环语句,绘制出规则的多边形及螺旋图形。 从课堂观察来看,学生对绘图有较强的兴趣,在探索的过程中,能讨论分析每个图形的重复次数及重复动作,总结绘图规律。 也能够通过自主探究和教师提供的教学资源逐步解决问题,并融入自己的创意。 该项目完成后,教师可以进一步提出较高难度的项目,进一步进行知识巩固,提高学生学习能力,使学生通过项目式学习,将Python 知识创意化、趣味化,不断增强学生的合作意识,深化学生对知识的理解和计算思维的培养。

猜你喜欢

多边形绘图语句
来自河流的你
“禾下乘凉图”绘图人
多边形中的“一个角”问题
重点:语句衔接
多边形的艺术
解多边形题的转化思想
多边形的镶嵌
基于HTML5 Canvas绘图技术应用
Surfer和ArcView结合在气象绘图中的应用
如何搞定语句衔接题