陈斌
近年来,Python逐渐成为最热门的计算机编程语言之一,如何开展Python语言的编程教学也成为了计算机基础教育领域的热门话题。面向中小学生的编程教学尤其需要激发并培养学生的学习兴趣。因此,在针对中小学生的编程学习中,趣味性活动必不可少。本文以“FancyPy Light”Python艺术编程节为例,介绍我们在以趣味活动促进Python语言教学方面的一些探索与体会。
Python艺术编程节概况
艺术与编程分属不同的学科门类,看似相差甚远,实际上二者均包含着人类的智慧和对于美的追求。将二者结合,既能让学生通过编程类趣味活动走近艺术,更能使他们试着从艺术角度体会编程魅力。与此同时,将课程中所学习的编程知识运用到实际生活中,不仅能够帮助学生更好地理解编程知识,还能激发他们的求知欲和学习兴趣。
艺术的下属学科非常多,作为尝试,本次Python艺术编程节选择了光影艺术这一兼具趣味性与可操作性的门类作为活动主题。活动采用比赛形式,一方面能够增加竞技感,增强活动的趣味性,另一方面能够提高学生的参与感和体验感,加强活动的学习效果。比赛分为小学组与初中组,分开进行。学生们自主组队,以团队形式参赛。比赛要求各小组以光影为主题,自主设计参赛作品,并在规定时间内用Python语言完成作品程序的编写与调试,最终将写好的程序导出到micro:bit硬件中,并用乐高积木搭建外形,完成作品。最后,评审专家将现场评价各小组的比赛作品,综合评出各个奖项。活动组织方统一提供比赛相关Python编程硬件,包括自主研发的“dxkStickPython语言教学套件”,套件中有micro:bit单片机、扩展板、插卡式传感器和能够编程控制发光的组件,以及用于搭建外形的乐高积木等。
比赛如火如荼,创意层出不穷
2018年12月8日,以“FancyPyLight”为主题的Python艺术编程节活动如期在北京大学附属中学举行。来自北京大学附属中学、北达资源中学、清华附中国际学校等学校的学生纷纷踊跃报名,最终共有42组130余名学生参与到本次艺术编程节活动当中。
活动开始前,北京大学“地小空开放实验室”的同学们就早早来到活动地点——北大附中图书馆阅览室,开始了活动前的准备工作。助教们将活动现场的硬件全部调试完毕,小零食也都整整齐齐地摆放在餐桌前,静静地等待参赛学生的到来。
比赛过程中,每个小组的学生部积极创作、分工合作。他们有的负责创意设计,有的负责搭建乐高积木,还有的负责编写代码……每位学生都对自己的工作任务全力以赴,小组内相互配合共同完成创意作品。尽管每个人负责的内容不尽相同,但学生们在整个比赛过程中展现出了极强的想象力、创造力、艺术鉴赏能力和团队协作精神。
到下午比赛规定时间结束后,基本上每个小组都完成了各自的创意作品。他们创作出的作品类型广泛、构思巧妙。有的小组制作出了类似贪吃蛇与俄罗斯方块的小游戏,将普通的显示改进为光影闪烁,让体验者能够在休闲娱乐的同时品味灯光艺术带来的魅力。有的小组极具想象力,使用活动提供的LED灯带、灯环等硬件将小组成员装饰为极具未来感的机器人,完成了参赛同学与编程和艺术的有机结合。
有的小组将灯光与音乐相结合,制作出了“灯光音响”。整个作品由dxkStick Python语言教学套件、LED灯环及乐高积木组合而成,为一个音响的造型。随着选定音乐节奏的变化,音响上的LED灯将随之变幻,极具创意与艺术性。有的小组将灯光与透明乐高积木组合,制作了“冰雕”,表达了对2022年北京冬奥会的期盼。还有的小组结合实际生活,设计出了“骑行警示灯”。该作品以现实生活中的红绿灯为参考,通过程序控制LED灯的闪烁与变幻,既远用了Python编程的知识,又具有一定的现实意义。小学组的学生们也完成了他们的创意作品,如“未来家园”和“矿车”,通过灯光编程表达了对未来家园和自动化生产的畅想。学生们的创意作品不仅体现出了他们的Python编程应用水平,更反映了他们对Python语言编程的兴趣与热爱。
本次活动邀请的专家包括中国科协青少年科技中心科普活动负责人、北京市及各区信息技术教研员、上海市信息技术教研员、北京部分学校信息技术教师及部分企业代表。专家们走到每一个学生团队的桌前,认真聆听学生们介绍他们的作品创意,并向学生们提出问题或建议,进行更深入的交流。最终专家们评选出了5组最佳创意奖、5组最佳编程奖和7组最佳人气奖。参赛学生都获得了探索奖以表彰他们在这一天的活动中所展现出的探索精神。
以趣味活动促进编程教学的未来发展之路
本次“FancyPy Light”Python艺术编程节是我们对编程学习趣味活动的一次成功尝试,它肯定了趣味活动对于编程教育的重要意义。首先,通过本次活动,我们更近距离地了解了学生的编程应用能力与兴趣。学生们将自己的编程知識与创造力、想象力相结合,通过编写代码表达出了自己对艺术的理解,这说明学生们完全有能力学好Python编程语言。学生作品极具创造力与创新性,虽然部分代码并不成熟,但却是非常好的尝试,为我们开展编程教育提供了支持。其次,通过本次活动,我们积累了相关教学经验,探索和检验了艺术编程节这种趣味活动模式。今后我们可以开展更多编程教学趣味活动,不断对教学方式进行迭代,使之更有助于推动针对学生的编程教学。最后,本次活动作为探索尝试,参与学生数量规模有限。今后我们将动员更多学校和学生参与进来,了解Python艺术编程节。
“FancyPy Light”Python艺术编程节的成功为未来更多类似趣味活动的举办奠定了基础。除了光影主题外,还可以选择音乐、绘画、雕塑等艺术主题,甚至还可以尝试将编程与数学、物理、化学等学科相结合,设计出更多样、更丰富的趣味编程活动。有了这一次活动的顺利举办,我们相信今后类似活动能够吸引更多的参与者,能够越办越好。我们始终谨记活动的最终目的是通过富有创意的趣味活动促进编程教学,推动Python编程教学和中小学计算机基础教育发展。