以培养计算思维能力为导向的初中Python教学设计与应用

发表时间:2021/4/20   来源:《教学与研究》2021年3月下   作者:陈洁
[导读] Python语言功能强大,普适性强,有利于培养学生的计算思维。近年来,有很多中学信息技术教师尝试开展Python语言编程的教学。具体阐述两个关于Python语言编程初识课的案例,并将案例中的两种教学方法落实到教学中。实践表明,依托于图形绘制的这种“做”中“学”的教学方法,较传统的程序输入输出的教学方法有很明显的优势,能够激发学生的编程兴趣,培养学生自主探究的精神,教学效果良好,值得推广和学习。

温州市瓯海区郭溪中学集团学校   陈洁

摘要:Python语言功能强大,普适性强,有利于培养学生的计算思维。近年来,有很多中学信息技术教师尝试开展Python语言编程的教学。具体阐述两个关于Python语言编程初识课的案例,并将案例中的两种教学方法落实到教学中。实践表明,依托于图形绘制的这种“做”中“学”的教学方法,较传统的程序输入输出的教学方法有很明显的优势,能够激发学生的编程兴趣,培养学生自主探究的精神,教学效果良好,值得推广和学习。
关键词:计算思维能力;初中Python;教学设计与应用
        1.引言
        Python语言是近几年编程教学变革的热点,浙江省已经将其正式纳入高中信息技术的教学中,而八年级新版教材也已将Python语言纳入教学。与老教材中已经开展教学数年的VB语言相比,Python有什么样的优势呢?
        2.Python较VB语言的优点
        功能强大Python语言是目前最接近自然语言的编程语言,语法简单,语法逻辑清晰,可以进行面向对象和面向过程的程序开发。相对VB语言,它更强大,拥有一系列函数库应用,提高了代码编写效率。普适性强VB语言在实际教学中基于窗口中的不同对象(按钮、文本框、图形等)以及和对象相关的事件响应等展开教学,程序具有所见即所得的特点。基于视窗应用的教学适合初中生的抽象能力,但是它的编程简洁度以及效率是无法与Python相媲美的。VB语言是由微软公司开发和维护的,因而由它开发的程序仅仅限于Windows操作系统,程序在应用上具有很大的限制。Python语言适合的教学对象是需要利用计算机解决各类计算机问题的群体[1]。
        计算思维是信息技术学科核心素养中重要的一个方面。Python语言弱化了语法(无须先声明再使用,没有指针,没有定长数组等)[2],它能够使程序开发者和学习者更加纯粹地关注程序本身的逻辑关系,而不会花大量的时间去研究程序语句本身的语法含义,从本质上更立足于培养程序学习者的计算思维。
        3初识Python语言例谈
        在面向初中生尝试Python语言教学中,有不同的授课方式和内容选择。笔者就学习观摩中常见的课例进行介绍、对比与总结。初识Python语言教学时,内容选择上通常有两种方式:一种是将在VB教学时对窗口的认识、简单语句的输出、简单数据的处理等作为教学主题;一种则基于Python自带的图形库,利用简单的程序语言进行绘图学习。如表1所示,本课例是Python教学的第一节课,教师像往常的VB教学第一课一样,重点是让学生了解编程与程序的基本概念,在整个课堂中贯穿了Python语言的输入与输出、变量的概念和定义规则、字符与数字的使用等知识点的学习。两个实践任务如下。
        【实践1】请学生利用程序实现简单语句“hello,Python world”的输出:Print(hello,Python world)Python调用“print()”函数,将字符串作为参数传递给print函数。
        【实践2】简单数学公式的计算,圆的半径为11cm,π为3.14,求圆形的面积:r=11 S=3.14*r*r Print(S) Python调用“print()”函数,直接输出面积值。
        【拓展】编写程序求不定半径圆形面积:Import math r=input(“radius of circle:”)S=math.pi*r*r Print(“area of circle:%.2f”%S)调用Python的math库中的π值,表达式计算之后,再通过输出函数将结果输出。
        本课例也是Python教学的第一节课,教师以图形绘制作为贯穿课堂的任务。在绘制不同图形的过程中内化Python语言中对象、库、方法等概念,让学生了解程序开发的基本流程的同时,感知程序的顺序结构和循环结构的编程思维方式。讲授新课部分的阐述如下。



        【任务一】绘制正方形:import turtle//加载海龟库pen=turtle.Turtle()//创建一个对象pen pen.forward(100)//向前行走100个单位pen.left(90)//向左转pen.forward(100)pen.left(90)pen.forward(100)pen.left(90)pen.forward(100)通过小海龟绘制正方形,学生初步感知了Python顺序结构自上而下、顺序执行的特点,以及对象的创建和方法的调用的一般形式。
        【任务二】修改代码,优化程序:for i in range(4): pen.forward(100) pen.left(90)在正方形的程序编写中,学生会发现有两个语句一直在重复执行。教师引导学生认识循环语句的作用和格式,让学生自行修改,优化程序。简单高效的语句让学生感知循环语句的神奇和强大。
        【任务三】双重循环实现旋转正方形的绘制:import turtle pen=turtle.Turtle()for i in range(6):for i in range(4):pen.forward(100)pen.left(90)pen.left(60)在完成任务二的基础上,学生尝试阅读任务三的程序代码,并编写调试。顺利完成任务二的学生在教师的解释和帮助下,能够读懂双重循环,绘制旋转正方形。
        4课例比较
        相同之处:
        1)学习基础相同。以上两节课都是Python程序编写的第一课时,也就是说中学生对程序的编程基础都来自小学。在浙江的小学信息技术教学中,学生主要学习了Scratch编程语言。
        2)部分教学目标。两节课都对Python的概念和应用进行了介绍,旨在激发学生对其学习的兴趣。两节课通过不同的教学内容和授课形式,都希望学生可以掌握编程的基本步骤,从发现问题到分析问题到设计算法再到编写程序实现,最后对程序进行调试。
不同之处:
        1)教学内容不同。课例1的教学内容主要是关于利用Python进行数据的输入输出、变量字符的使用等,更多是知识和技能层面的学习。课例2则是依托于图形绘制,让学生学习了程序中顺序执行和循环执行的思想,在知识和技能学习掌握的同时,更多的是让学生体会Python编程的过程和方法。
        2)教学情境不同。课例2中图形的输出与课例1中传统的数据输出相比较,图形化的输入和输出更加直观,学生更加容易理解,其教学情境更贴近学生的现实生活和需要。学生会尝试改变数值,研究输出的图形效果。比如将“pen.left(60)”函数中参数60换成不一样的角度,配合修改“for i in range(6)”函数中的参数,探讨绘制更多矩形形成的旋转效果。这样的学习情境有助于培养学生自主学习和探究的精神。利用计算机编程解决实际绘图问题的教学设计也是培养学生计算思维的一个好举措。
        3)教学效果不同。在四个平行班内分别采用这两种不同的授课方式和内容进行教学,两周后再让他们就Python初识课的学习内容进行回顾。采取课例1的两个班级的学生大部分只能记得关键字print,但并不能用正确的格式实现数据的输入和输出。采取课例2的两个班级的学生表示对Python绘图功能有清晰的记忆,其中一个学生说:“Python编程比较有趣,将一个小海龟爬行所经过的轨迹记录下来并输出。我们可以利用它绘制出各种繁杂的图形,如果有机会,我还想学习更多Python语言的应用。”从学生的言谈举止中更能发现,在Python教学中以图形绘制为依托,可以增强学生对程序设计学习的兴趣和动机。
        5结语
        在Python编程教学初识课中,采用图形绘制为依托的教学方法,较传统的数据输入输出体验式教学有很大的优势。这种优势在实践教学中有明确的体现,主要表现在对学生学习程序兴趣的激发,以及学生自主学习和自主探究的信息素养的培养上。程序初识还有很多教学方法值得尝试和探究,而以图形绘制为主线的这种“做”中“学”的教学方法值得推广和学习。
参考文献:
[1]嵩天,黄天羽,礼欣.Python语言:程序设计课程教学改革的理想选择[J].中国大学教学,2016(2):42-47.
[2]朱赟.Python语言对程序设计基础教学的意义[J].福建电脑,2017(6):176-177.

投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: