高中python程序设计教学的实践与思考分享

发表时间:2020/6/16   来源:《中国教师》2020年第4期   作者:赵华
[导读] 笔者自2019年尝试在高一年级信息技术课程中开设python程序设计课程

         【摘要】笔者自2019年尝试在高一年级信息技术课程中开设python程序设计课程,历时2个月,遇到一些困惑,也取得了一些成效。现将自己在课程开设中的实践经验和反思进行分享。

         【关键字】Python 程序设计 计算思维 教学策略

一、引言(背景介绍)
         笔者自2019年尝试在高一年级信息技术课程中开设python程序设计课程,历时2个月,遇到一些困惑,也取得了一些成效。首先谈一谈课程开设的相关背景。
1.高中开设Python程序设计课程的三大背景
1)2017版新课程标准
         2017版普通高中课程标准中指出信息技术学科核心素养:信息意识、计算思维、数字化学习与创新、信息社会责任。程序教学的目的是为了训练计算思维。我们需要语言(python)将我们的想法付诸实。
2)新版教材即将投入使用
         基于新课标的出台,各出版社的新版教材也在陆续进入大众视野,其中教育科学出版社、浙江教育出版社、广东教育出版社等最新出版的高中信息技术教材,几乎无一例外的将python列入其中,让这门语言扛起了高中程序设计教学的重任。
3)python语言的优势
         功能强大:Python 语言是目前最接近自然语言的编程语言。
语法简单:语法逻辑清晰,可以进行面向对象和面向过程的程序开发。
库丰富:除了其自身携带的标准库之外,还有程序设计人员开发的第三方库,强大的开发库为 Python 语言的快速开发提供了强大的支撑。

2.计算思维是方向
         我们学习Python,Python只是过程工具,计算思维是方向。
1)思维
         思维,顾名思义就是一种思考方式。在生活中存在三种思维:逻辑思维、计算思维和实证思维。逻辑思维就是日常生活中的推理和演绎;计算思维就是通过设计和构造,利用计算机来得出的计算结果;实证思维就是通过推理和论证得出了结果,就好比我们数学中的论证题一样。
2)计算思维
         计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。具备计算思维的学生,在信息活动中能够:采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决中。整个过程是将获取的信息分析处理后,进行形式化、模型化、自动化、系统化处理的过程。
         Python编程语言计算思维的本质就是抽象和自动化。把问题进行抽象化,并用计算机自动化求解答案,它是基于计算机的计算的一种思维方式。

二、对照课标,剖析教学动机
1.分析和拆解问题的能力
学生在面对棘手的大问题时,多数会选择退缩或者逃避心态。程序设计课程的设置,就是要培养学生分析问题的能力,学会尝试把大的问题拆解成小问题,从复杂到简单,逐层分解,各个击破。
2.寻找评估合适方法的能力
学生在学习编程知识的过程中,教师要引导学生认识到解决问题的方法有很多种,要学会寻找和评估最合适的方法,从快速高效、数据准确等角度,寻找最优算法。
3.培养遵循规则和严谨的习惯
编写代码的过程会培养学生更全面的考虑问题,学会遵循语法规则,并且在一次一次的语法输入错误中体会一个小错误会引发整个程序的错误。
所以,利用程序设计课程训练学生计算思维的核心动机就在于,通过学生动手动脑实践,学会把大问题分解成小问题,学会规划命令执行的顺序,并在其中辨认出程序结构模式,最终学会评估解决方案,引导学生关注重要细节,从而给自己武装了一种解决问题的技能。

三、解析目标,定位教学策略
教学策略指,在特定教学情境中为完成教学目标和适应学生认知需要而制定的教学程序计划和采取的教学实施措施。在进行python教学实践中,笔者总结了三个教师需要面临选择的策略方案,通过实践整理出更适合本人教学的策略。

1.常规程序案例vs源自生活的案例
如何选择合适的程序案例是教学中首当其中需要做出选择的策略。多数教师会选择常规经典程序案例进行教学,具有成熟准确的优势。但是本人更倾向于后者。更贴近生活的案例,更容易激发学生的学习动力,引起他们的共鸣。

 
 

2.传统解释器vs源码编辑器
实施python程序教学,势必须要选择合适的编辑器和解释器。多数老师会选择传统解释器,本人倾向于选择源码编辑器。它简洁清晰友好的编写界面,更容易与学生产生亲切感,减少了传统编辑器高端神秘的感觉。对于低龄段学生来说,还可以借助源码编辑器中的积木模式,帮助其更好理解程序。

3.片段程序填空vs硬核式独立书写
         程序基本设计模式就是IPO模式。I是input输入,就是程序的输入。P是process处理,就是程序的处理。O是output输出,就是程序的输出。让学生完整体会程序编写过程,个人认为是非常必要的。部分教师会考虑到时效性问题,把程序简化或缩减成个别重要语句,让学生填空完成。这样固然可以把更多时间和精力投入程序分析的教学中,但学生缺少对程序的完整感受。所以对于15行以内的程序,笔者通常会让学生自己独立书写完成。

四、实践摸索,反思教学效果
         理论还需联系实际。下面将从笔者的一节课例出发,分享一下自己在高中python程序设计教学中的教学方法与反思。
         本课题目为《尝试用不同方法解决同一问题》,即用两种方式求解圆周率π值。


         在这一实例中,首先所有程序语句均让学生借助教师的提示,自行书写完成,从而培养他们严谨的学习态度。其次,通过两种不同算法的体验,让学生理解为什么要评价算法,如何选择最优算法。


         技术,可以让我们更优雅的生活。学习程序设计,可以让我们学会面对问题,分析问题,解决问题。笔者在高中开设python程序设计课程,也是一次初步的尝试。相信经过广大教师的不断探索和尝试,一定能开发出更多行之有效的教学模式和教学策略,让这门语言真正成为提升学生计算思维的一把利器。

【参考文献】
《2017普通高中信息技术课程标准》
《做中学:Python 程序初识例谈》 陈晓娟
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

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