python课程教学模式下高中生计算思维培养的应用研究——以python教学《小球的运动》为例

(整期优先)网络出版时间:2022-12-16
/ 3

python课程教学模式下高中生计算思维培养的应用研究——以python教学《小球的运动》为例

郭棋

  江苏省南通田家炳中学    226007                    

摘要:随着基础教育改革的不断推进,计算思维被纳入《普通高中信息技术课程标准》中,成为四大学科核心素养之一。高中信息技术课堂立足于python教学,应用计算思维到高中信息技术课堂中,可以帮助学生分解问题,引导学生程序化设计算法,从而解决问题。研究从计算思维培养的策略入手,基于此设计了教学案例,总结出信息技术课堂中计算思维培养的方式,旨在推动计算思维的培养和python教学的相关研究。

关键词:计算思维;python教学;高中信息技术

一、引言

信息化时代,问题的呈现方式更为复杂,《普通高中信息技术课程标准》指出,计算思维是个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。《课标》还将计算思维和信息意识、数字化学习与创新、信息社会责任共同确立为信息技术学科的核心素养。[1]发展学生的计算思维不仅能够提升学生解决问题的能力,也充分体现了信息技术课程的内在价值。

计算思维是计算机科学家运用计算机解决问题的一种思维习惯。Python语言代码简洁,方便高中生快速入门。如今,国内很多高中都设有python课程,但在教学上还存在一些问题。一是有些老师在教学过程中以语法教学为主,学生不容易对其产生兴趣;二是课堂上老师往往要求学生照着打代码,按照步骤完成算法,这使得学生失去了自主探究、合作学习的机会。这些问题的存在,使得信息技术课程无法成为学生独立思考,无法运用计算机解决问题,计算思维难以发展。这与《课标》的要求相悖。因此,本文从计算思维培养的策略入手,旨在研究python教学中高中生计算思维的培养策略。

二、计算思维培养策略

(一)现有的计算思维培养策略模型

现有的计算思维培养策略模型主要包括问题解决、探究性学习、任务驱动学习(TBL)和项目驱动学习(PBL)这四种。下面展示了不同的计算思维培养策略模型的区别和共同点。

  1. 基于问题解决培养学生的计算思维

在教学过程中,以问题为线索,教师根据教学目标和内容创设情境,引导学生发现问题,分析问题,合作探究解决问题,在这一过程中内化计算思维。

2.1.1 基于问题解决培养学生的计算思维

  1. 基于探究性学习培养学生的计算思维

在教学过程中,以探究性问题为引导,学生运用所学知识进行探究,从而解决问题。值得注意的是,在进行探究性学习之前,学生要具备相应的知识基础,在探究结束后教师要对这一过程进行总结提升,启发学生用所学的思维方法解决更深层次的问题。[2]

  1. 基于任务驱动学习培养学生的计算思维

在任务驱动学习过程中,教师根据教学目标和内容设计任务,以完成任务为主线,学生在任务情境中根据教师的引导,结合所学知识,交流合作完成任务,并进行分享总结。

  1. 基于项目驱动学习培养学生的计算思维

在项目学习过程中,教师起到组织和引领的作用,教师提出主题,学生以此为依据,根据所学内容解决问题,完成作品。值得注意的是,教师要对学生进行多元化的评价,包括项目学习的过程和结果。

(二)本研究所用的计算思维培养策略

通过分析现有的计算思维培养策略模型,我们可以发现,不同的模型侧重点不一样,实施过程中的教学内容也不一样,但是针对其培养目的——计算思维,都有着以下几个共同的特点:

第一,创设情境。python代码本身是比较枯燥的,单纯知识点的讲解并不能激起学生的学习兴趣,导致学习效果不佳。但如果将学生探究的问题或任务置于一个特定的情境中,这样不仅能使流程更加完备,也能激发学生探究问题的兴趣。这就需要教师把问题置于相应的情境中,从而引入教学主题,提出要解决的问题。情境的选择要贴合实际,还有趣味性,使学生更容易投入到解决问题的过程中。

第二,团队协作意识。不论是哪种培养模型,都不会是要求学生闷头学习,而是会要求他们树立团队合作意识。在解决问题的过程中,学生要对该问题形成自己独特的思维理念,即如何解决问题,然后再团队协作,表达自己的观念和主张,吸取同伴好的想法,融合到自己的理念中来,这样既能让学生自主探究,又能促进学生批判性思维的发展。

第三,突出评价的重要性。在以上几种计算思维培养模型中,几乎每一个任务结束或是项目完成都会完成一次评价。这种评价应当是多元的,因为学生能力的发展是多方面的,那么,学生在解决问题或完成任务过程中表现出来的能力就不会是某一维度的数值反映。多元化评价会促进学生全面发展,因此在评价时,不仅是对任务本身的完成情况进行评价,还有对过程中的突发事件处理情况,同伴评价等等。

2013年南安普敦大学的Cynthia Selby和John Woollard提出计算思维包括算法思维、评估、分解、抽象和概括这五个方面的要素[3],这五个要素描述了运用计算思维来解决实际问题的过程与方法,在面临实际问题时可以将这些问题分解成一系列的小的、易于管理和理解的问题。

综上所述,本文最终采用的计算思维培养策略包括四个步骤:创设情境,提出问题;描述算法步骤,分解问题;合作探究,解决问题;不断试错,交流总结。

图1:本研究中计算思维培养策略流程

三、计算思维培养的python教学活动设计——《小球的运动》

以“弹跳的小球”视频为情境,引出本节课要解决的问题:如何在python中实现小球的运动。学生合作讨论解决问题的方法和步骤。教师讲解完成步骤所需的一些基础知识。学生利用所学知识与同伴进行合作,在python中编写代码,尝试运行代码,解决问题。各个小组分享如何解决问题,有何独创性,遇到了什么问题,对之后的展望。

(一)创设情境,提出问题

该环节中,教师以“弹跳的小球”视频导入,引出本节课的任务:在python中实现小球的弹跳。

(二)描述算法步骤,分解问题

  1. 界定问题

该环节中,教师提出问题:若要用python实现小球的弹跳,需要什么条件。学生思考后总结,需要小球,速度和方向。

  1. 分析问题

该环节中,教师提出问题:若要实现小球向下运动实现反弹,需要经过哪些步骤?学生讨论,先在python中画出一个小球,定义小球的横纵坐标,给一个初始的向下的速度,直到小球到达屏幕底部,再给一个相反的速度。

  1. 算法描述

该环节中,教师要求学生将解决问题的方法和步骤通过流程图的方式展现出来,后由组内某位成员用自然语言描述出来。在这过程中,教师给予理论知识上的帮助。

(三)合作探究,解决问题

  1. 预设场景,绘制小球

该环节开始前,教师要先介绍函数定义语句,通过定义函数来绘制单个小球。

定义函数绘制小球的代码如下:

def draw():

screen.fill("black")

screen.draw.filled_circle((400,y),30,"white")

教师讲解代码含义,值得注意的是,教师应当在这一环节引导学生发散性思考,不局限于实现小球上下的弹跳,可以做成斜方向弹跳或是月食现象等等。

学生思考:预设最后想要实现的场景。

  1. 分组活动,编写代码

该环节开始前,教师要先介绍相关知识点,包括定义小球速度。

y=100

speed_y=5

def update():

global y,speed_y

y=y+speed_y

接着,用分支结构描述小球的位置。

if y>570:

     speed y=-speed y

if y<30:

     speed y=-speed y

游戏窗口的绘制区域采用的是直角坐标系,左上角的坐标是(0,0),横轴方向由x坐标表示,纵轴方向由y坐标表示,游戏窗口的任一点的位置可由(x,y)坐标来表示。学生小组合作,尝试编写代码,绘制小球运动的图案。

(四)不断试错,交流总结

在代码编写过程中,学生遇到的问题可以通过小组合作讨论或者寻求教师帮助来解决问题。最终达到自己想要的结果。有很多学生不局限于小球的上下运动,能够另辟蹊径地想出斜方向的撞击会带来什么效果,最终也实现了自己的想法;还有学生绘制出了月有阴晴圆缺的动态过程;一些学生改变小球运动的速度与方向,通过这次项目的完成,学生的创新能力也得到了发展。

以下是某位学生的作品代码与运行视频截图:

r=1

def draw():

screen.fill("black")

screen.draw.filled_circle((400,300),250,"white")

screen.draw.filled_circle((200,140),r,"black")

def update():

global r

r=r+1

if r>=540:

r=1

徽标  描述已自动生成卡通人物  中度可信度描述已自动生成卡通人物  中度可信度描述已自动生成徽标, 图标  描述已自动生成

图2:学生作品(之一)月有阴晴圆缺代码与运行视频截图

四、总结与展望

随着新课标的落实,计算思维作为高中信息技术课程四大核心素养之一,也必将在信息技术课程发展过程中被不断重视。如今的课程与python编程紧密联系,本研究在分析了现有的计算思维培养策略的基础上,在高中生学习编程过程中融入了新的计算思维培养策略,打破了以往课堂上单纯讲知识的教学思路,将计算思维的培养融入到四个教学过程即——创设情境,提出问题;描述算法步骤,分解问题;合作探究,解决问题;不断试错,交流总结中。学生计算思维的培养需要让学生在特定的情境背景下将现实问题变成计算机能够解决的问题,并且亲历解决问题的过程,[4]发挥学生的创造性思维和合作性思维,计算思维从来都不是教出来的,而是在一次又一次的解决问题的过程中得到的培养和发展。

参考文献

[1]罗步操. 基于Python的高中生计算思维培养模型构建与应用研究--以《迭代算法》一课为例[J]. 教育信息技术, 2021(12):4.

[2]刘承林. 计算思维培养视角下高中Python课程教学模式研究[D]. 山东师范大学.

[3]王亚萍. 计算思维培养视域下《Python程序设计》课程的教学改革实践[J]. 电脑知识与技术:学术版, 2018(1Z):3.

[4]王蕾. 基于计算思维的信息技术教学设计模式的研究-以儿童编程单元为例[J]. 中国信息技术教育, 2018(2):4.

作者简介:郭棋,1996,女;单位名称:江苏省南通田家炳中学;论文所属课题:江苏省教育科学“十三五”规划2020年度重点课题“计算思维培养视角下Python课程教学模式研究”(课题编号:C-a/2020/02/08);学历:教育硕士,研究领域:计算思维;