王园一
随着人工智能技术的发展,人们越来越多地在日常生活、工作和学习中使用智能技术与设备。但作为中小学生,不能仅仅停留在使用智能技术与设备的层面,而是应该努力成为智能技术与设备的创造者,在理解、设计和建造一个新系统的创造性过程中获得信息技术知识,发展信息技术能力,培养计算思维。编程教育作为计算思维发展的主要载体和发展路径,其教学质量直接关系到高中生计算思维的培养质量。下面,笔者就结合具体教学案例谈一谈指向计算思维培养的高中Python语言教学策略。
增加趣味,唤起Python语言学习动机
程序设计教学中备受批判的是耗时耗力的代码学习,学生需要在标点格式、变量、三大结构等语法内容上花费大量的时间,这容易导致他们产生畏惧心理,自然也就丧失学习兴趣,不愿意再继续学习编程。因此,在高中Python语言教学的导入环节中,教师要弱化Python语言语法的讲解,通过各种教学方法增加Python语言的趣味性,让学生在体验中感知Python程序的奥妙,进而产生浓厚的学习动机,并快速理解程序思想。
例如,教师可以让学生先体验一些Python语言小程序,学生在阅读程序和分析程序的过程中会自然产生进一步探究Python语言的学习动机。而在讲解判断语句的内容模块时,教师可以将随机抽学生姓名的程序引入教学,让抽中的学生来阅读和分析程序。在此基础上,再抛出猜数游戏,让学生通过游戏来分析程序语言的结构,引出学习主题——程序判断结构,避免过多地讲解random模块本身。
联系生活,真实情境发展计算思维
高中Python语言教学要立足学生的生活,从他们生活的真实世界中去寻找编程教育的应用点。笔者在信息技术教学活动中发现,很多教师在讲授Python语言时,往往是通过举例、想象和假设等方式创设简单的问题情境,这样的情境虽然能够与教学内容相呼应,但却脱离了学生的真实生活,是虚假和无现实意义的。Python语言教学情境的设计在教学过程中占有非常重要的位置,教师应从实际生活出发将Python语言学习结合到学生有兴趣的实际生活之中。
例如,教师在讲解turtle模块时将其與学生真实生活联系起来。生活中有很多绘图的场景都可以用来讲解程序结构,因此,笔者在创建绘图情境时,选择了规划无锡地铁线路的问题情境,通过要求给绘图界面添加背景图的方式,将绘图与无锡地铁线路规划相结合,使用turtle绘图中的命令完成无锡地铁线路规划。在笔者给出的程序案例中,已经写好了程序主体部分,核心的绘图过程则需要学生在分析的基础上结合turtle绘图来完成。因为该程序不再是某个虚拟任务,而是与学生所在城市的地铁规划联系在一起,自然就唤起了学生的学习兴趣,也锻炼了学生在真实情境中进行抽象的能力。
激发思考,引导学生发展计算思维
高中信息技术学科教学不能停留在讲授日常各种办公软件的操作与使用上,还应引导学生理解技术背后的原理,特别是发展学生的计算思维和创造能力,让学生能够使用计算的眼光观察现实世界,使用计算视角思考现实世界,使用计算语言表达现实世界。因此,高中Python语言教学不仅要关注学生获得的编程知识与技能,而且要引导学生深入思考,从而不断培养计算思维。计算思维的形成不是一蹴而就的,它是学生在学习过程中慢慢形成的,教师应该引导学生主动思考自己解决了什么问题,是怎么解决的,使用的是什么方法,从而对自己的学习过程和学习结果进行反思、调整,以提升学习效率,并能够对自己在学习过程中所形成的思维方法进行整理,形成更加系统化的计算思维,以便解决更多的类似的问题。教师要在课前精心准备问题,课中向学生提问,引导学生,刺激学生去思考,学生根据教师所提出的问题,通过分析、讨论等一步一步地进入深层次的学习。
例如,Python提供了一个绘图模块turtle,很多教师喜欢通过turtle绘图讲解Python语言。但如果长时间学习turtle绘图,很容易让学生误认为Python课就是程序绘画课。教师讲授Python语言本质上应该是教会学生理解“计算机是如何思考的”,应该指向学生计算思维的培养。因此,在turtle绘图模块教学中,教师应该着重对计算机程序设计的结构本质进行细致剖析,一行一行地绘制正方形体现的是程序的顺序执行,而使用循环结构绘制正方形体现的则是程序的循环思想。教师可以淡化对绘图辅助工具等方面的教学,更多的是要透过turtle绘图模块实现思维从抽象到自动化的进阶。
经历过程,问题解决培养计算思维
高中Python语言学习不能仅依靠教师讲授,重要的是要让学生经历完整的问题解决过程。只有利用Python语言解决实际生活中的问题,学生才会在分析问题、设计解决方案、调试解决方案和反思总结过程中真正地使思维水平得到进阶发展。当面对复杂的实际技术问题时,需要一种务实的思维方式,如计算思维等。在学习Python语言时,高中生就是在经历真实问题解决过程中的抽象、模式识别、自动化和调试等过程,自然也就理解和内化了计算思维。当然,学生经历真实问题解决过程不是教师放任不管,而是在结构化的指导与支持下让学生进行有意义的计算思维建构。
例如,围绕真实情境,教师要求学生以好朋友即将来到学生所在的城市游玩,希望体验无锡美食文化为故事背景,帮助朋友在美食地图中找到一条无锡美食路线。学生参考美食地图,自主设计、规划出美食路线图,并分析借助Python如何解决这一问题。学生通过观察代码、运行程序、调整参数等方式,探究turtle绘图模块的常用指令的功能;通过对绘图过程的抽象,再现绘图过程,并进行类比学习,提炼出算法和程序的对应关系;通过算法思想(一系列有序的步骤)设计出能够自动化解决的方案。最后,通过编写程序规划美食路线,学生在实践中掌握了turtle绘图的基础命令,体验自主编程解决问题的过程,并通过其他学生的作品展示和讲解,感受到解决同一问题的多样性。通过案例展示讲解的形式,学生了解了Python绘图的其他应用并进行迁移和进一步的思考。
结束语
编程教育是培养学生计算思维的一种常见且易于实现的方式。教师将计算思维融入编程教学中,能培养学生的问题分析能力和问题解决能力。因此,教师要基于真实情境问题解决过程,以高中生计算思维培养为目标,探索Python编程教学的具体教学策略。