APP下载

Python语言编程课的教学实践探索
——以《Python中的万花筒》教学活动为例

2020-11-05东莞市商业学校

广东教育 2020年10期
关键词:万花筒编程程序

文/东莞市商业学校 周 蓉

国务院印发的《人工智能技术发展战略规划》指出人工智能已经成为一个国际市场竞争的新焦点,建议在中小学阶段设置人工智能相关理论课程,并逐步开展“全民智能编程”教育。编程是帮助实现人工智能的方法之一,Python语言作为一种新的编程语言,越来越受欢迎,简单易学、语法简洁等特征使得它被各领域广泛应用。如何上好枯燥无味的编程课,对教师来说是一项挑战。

一、研究背景

很多发达国家都在积极推动青少年编程教育。比如,美国的很多孩子在六七岁就开始接触编程课程;美国前总统奥巴马曾发起“编程一小时”运动;苹果公司首席执行官蒂姆·库克(Tim Cook)也给出过一条建议:“编程,应该成为所有公立学校的必修课。”又比如,欧盟已经有15个国家将编程技术教育列为必修课;芬兰自小学一年级便正式启动全国计算机编程教育;以色列将教育孩子网络信息安全管理技术作为一项国家使命;瑞典在2018年秋天正式出台电脑编程学校课程(含小学1年级课程)。

“少年强则国强”,青少年是推动祖国未来发展的主力军,我国也于2017年发布了《国务院关于印发新一代人工智能发展规划的通知》,明确指出要推广编程教育,青少年的编程教育将成为一个热点。但是,目前并没有推出一套适合青少年学习的编程教育体系,所以笔者认为研究出一套适合青少年学习的人工智能编程教育体系势在必行。

笔者所在学校是一所职业中学,编程课程是中职计算机专业的必修课程,课程开设的目的是让学生掌握一至两门高级程序设计语言,比如C语言、C++语言、VB语言、Java语言等,课程的开展主要侧重理论学习,教师一般“先教”,然后学生上机操作实践。由于中职学生的知识基础相对薄弱,这些语言语法系统比较强大,导致学生对于编程语言、概念、算法、思维等内容接受起来有一定难度。比如VB语言及后续的VB.NET所开发出来的程序仅仅限于Windows系统,应用起来的面比较狭窄,具有较大的局限性,不仅会让学生学起来很乏味,教师也不能很好地激发他们的学习兴趣,与人工智能的大发展趋势很不协调。

后来我们开设了Python语言编程课程。Python语言是一门灵活性很强的编程语言,并且随着人工智能的发展,它的发展势头很迅猛,功能也很强大。Python语言由于教学内容精炼、语法轻量、语言表示层次更高,所以更适合于学生学习、理解和掌握。

本文以《Python中的万花筒》教学活动为例探索中职Python语言编程课。

二、Python语言编程教学的实践

Python语言是一种解释型、面向对象、动态数据类型的高级程序语言。我们在向学生讲授Python语言知识系统的教学过程中,更要注重教学实践的方法,了解学生的兴趣,从学生的兴趣出发,预先设计出让学生感兴趣的教学内容,让学生在有趣的程序学习中克服遇到的困难,并尝试去解决问题,从而达到锻炼思维、提高能力的目的。

1.激发兴趣,调动学习热情

程序设计教学一直以来给学生的感觉就是无聊、乏味,缺乏对学生的吸引力。所以在开设Python语言编程课的时候,不能仅以数据处理为目的,更应该结合Python语言的鲜明特点,设计更有针对性的案例,让学生觉得编程原来也可以这么好玩,编程也可以那么有趣,编程也可以那么时尚,以此来激发学生的兴趣,调动学生的学习热情。

《Python中的万花筒》教学活动设计中,笔者先让学生观看万花筒,回忆儿时的快乐,感受万花筒带来的多姿多彩的图形世界,然后抛出一个问题:同学们想知道怎么用程序来设计出万花筒的图形吗?顿时激起了同学们的探索热情,大家都跃跃欲试。

接下来通过阅读、讲解、尝试等活动,让学生讨论,动手编写程序,笔者在一旁检查提醒,提出修改建议,很快他们就编写出了程序。(表1)

表1

程序中倒数第二行“turtle.left(90)”是整个程序的关键点,通过变换括号中的角度数值,可以得出千变万化的万花筒图案。(表2)得出图案的那一刻,学生们是惊讶的、开心的、充满成就感的。

表2

表3

表5

兴趣是最好的老师,如何激发学生的学习积极性是笔者备课的一个重点,本节《Python中的万花筒》教学活动设计中,通过图形代码编程,借助了Turtle图形绘制函数库,得到直观图像,激发了学生的兴趣,让他们能比较轻松地编写出程序,并能自主地在课堂上观察图形的变化。让学生感受到,原来可以用Python语言绘制出万花筒的图形,他们一改以往对编程的抗拒,让他们更信赖Python语言,真正激发了学习热情。

2.举一反三,激发学生探索新知

这种感觉是学习传统编程语言无法遇见的。这是一个关键的时刻,笔者趁热打铁,提出了问题:万花筒的图案那么漂亮,怎么可以少了颜色呢?同学们思考一下,能否想办法让万花筒的颜色丰富起来?问题抛出,学生都很乐意去探索,寻找方法,并兴奋地与同学探讨交流。

其实只需要增加一行程序turtle.color(“red”),就能够使万花筒进行颜色的变化,如red(红色)、yellow(黄色)、blue(蓝色)、purple(紫色)、green(绿色)、cyan(青色)等。(表3)这一步骤让学生重温了颜色的英文单词,也让学生体验了更具有色彩感的万花筒。

给学生足够的探究时间,并且允许他们交流讨论,鼓励他们大胆操作尝试,程序出现错误没有关系,关键是鼓励他们要敢于操作。

3.一题多变,步步为营

表4

单一的颜色总是显得有些单调,于是再次引导学生思考:能否在一个图形中出现多种颜色?多种颜色的组合,会让图形的变幻更加丰富多彩,达到真正万花筒的效果。

通过探索,学生发现只需要在程序上多加Python中的列表内容,就能将多种颜色放在列表中进行引用。(表4)

程序turtle.color(colors[x % 5]),用“%”求模运算,相当于mod,也就是计算除法的余数,比如11%5就得到1,以此调用列表colors中的颜色。颜色组合的数量是三种、四种还是五种,可以通过改变“%”后的数值来调整。(表5)

这是学生主动操作的一节课,教师所做的只是给出不同的建议,引导学生从不同的方向去思考、去改变、去主动实践,真正激发了学生的学习积极性。他们能够主动思考,不断改变程序,得出更多不一样的图形。巩固了所学的知识,也使动手能力、思维能力得到了真正的锻炼。这种课堂趣味性很强,完全打破了传统的教学模式,不仅限于“照葫芦画瓢”,不同的变式在学生的操作中应运而生,达到理想效果。在操作的过程中,他们扎实地掌握了新知识,并从中体会到了Python语言的简洁、高效、生态的特征,对Python接下来的学习有了更多的期待。

Python语言编程教学与学习,动手环节是至关重要的,如果只注重理论教学,会使学生感到厌烦,提不起兴趣,相反,在教学过程中设置更多的动手实践环节,能够帮助他们对Python语言的印象实现从抽象到具体的转变,帮助他们将Python语言的理论知识转化为一种技能。

三、结束语

随着人工智能的快速发展,中职学校也开始注重编程教学,注重编程课程与人工智能的衔接。Python语言的代码编写规则类似英语,所以相对比较容易掌握,减少了学生由于书写带来的错误,特别对于本身基础就不是很扎实的中职学校学生来说,更容易接受。Python语言的简洁、高效和生态的特点,注定更适合中职学生。

猜你喜欢

万花筒编程程序
最大万花筒
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
自制缤纷万花筒
纺织机上诞生的编程
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
创卫暗访程序有待改进