基于Python的初中编程课程教学困难与对策

2021-12-31 23:38麦富安
科学咨询 2021年8期
关键词:程序设计代码编程

麦富安

(广东省佛山市三水区西南中学 广东佛山 528100)

2017年,国务院出台的《新一代人工智能发展规划》指出:要实施全民智能教育项目,在中小学阶段设置人工智能相关课程,并逐步推广编程教育。很多地方已经把编程列为地方教材必修课的内容,佛山市在新版初中信息技术八年级上册的教材中也加入了Python编程语言的内容,编程成为佛山市每一位初中生的必修课。通过开展Python编程语言教学,能够提高学生的编程能力和培养学生的计算思维,为我国人工智能人才培养打好基础。经过两年的课程实施,笔者发现目前在初中阶段开展基于Python的编程教学存在一些困难,并结合实际情况提出了相关的应对策略。

一、Python程序设计课程的简述

基于对佛山市八年级信息技术课程教材的分析,关于Python程序设计的这部分内容主要介绍了运用程序解决问题的步骤,Python语言的基本概念、语法和程序结构,Python在人工智能中的简单应用。课程内容要求学生能从简单的生活问题出发,通过设计程序去解决这些问题,在这个过程中体验和理解程序设计在解决问题过程中的作用和地位。

Python语言程序设计成了初中阶段信息技术课程中最有难度的内容,而程序设计在计算机科学中具有非常重要的地位,是培养学生计算思维的重要途径,也最能体现信息技术学科特有的课程价值。

二、Python程序设计教学中遇到的困难与分析

(一)代码式的程序设计缺乏足够的趣味性

程序设计相对初中阶段的其他课程内容,如多媒体设计课程,有其相对讲究的逻辑性和设计的枯燥性,学生在小学或七年级阶段已学习过较有趣味性的Scratch编程,遇到Python这类字符代码的编程语言,会让很多学生望而生畏,学习的主观能动性就有所欠缺。Python是一种比较新的编程语言,很多信息技术教师本身也熟悉这门语言,大部分教师采用的是自己学习C或C++语言时候的大学教师的方法进行教学,师生互动少,过于注重语法语句的讲解,比较乏味。

(二)教学内容和课时量不匹配

在两年的实践中,笔者发现,课时不足是开展Python程序设计课程的最大困难,每周只有1课时对于编程课程来说是远远不够的。Python程序设计是安排在初二上学期开展,按照教材安排,除了Python程序设计,还有一个开源硬件的内容,笔者与多位不同学校的授课教师交流发现,大家在教学过程中普遍感觉课时严重不足,而教学内容又相当多,面对基础参差不齐的学生,加上学生兴趣不大,想要完成基本的教学内容已经很困难,更谈不上培养学生的计算思维了。

(三)学生数学知识不足

在开展Python的教学过程中,笔者发现学生的数学知识不足或者数学基础不好成为了他们学习编程的一个重大障碍。首先,在编程中不少概念是和编程关系密切的,如变量和函数。学生在小学或者七年级的数学课中已学习过方程、变量等数学概念,但他们对这些概念理解和掌握程度不深,不容易与编程中的相似概念区分清楚。在编程中变量是有名称和类型的区分的,Python中的变量可以是整形、浮点型和字符串,同一类型的变量才可以进行运算,但在数学中就没有类型的区分,运算也没有相应的约束。因此,如果学生混淆了数学和编程的概念,在程序运行调试中出现错误,学生是很难发现程序错误的原因[1]。

其次,编程中的一些概念在数学课上没有学过,例如“素数”这个概念,在实际教学中发现对于这个名词,很多学生其实是不理解的,因为学生在小学阶段学习的是“质数”,如果教师不解析清楚,学生连课本的例题都不能看明白。

(四)计算机基础操作能力不高

Python是一种字符编码型的程序语言,需要学生用键盘输入代码。这本不应该是一个问题,但实际情况是学生在输入代码时候经常出现问题。由于学生现在使用智能手机或平板为主,很少使用键盘输入,因此学生的打字能力很弱,经常一个很简单的程序学生也要花较多的时间输入。例如,在输入代码的时候经常需要中英文输入进行切换,本来可以用键盘上的“ctrl+空格”很快实现切换,但学生缺少打字训练,很多时候还有用鼠标点击输入栏进行切换,大大降低了输入程序的效率,一节课下来,能够进行程序调试,发现问题的时间就更少了。

三、Python程序设计教学的优化策略

(一)适当控制教学难度

Python等类似的字符化的程序语言其趣味性肯定不及Scratch等图形化编程语言。因此,在实际教学中,教师要注意控制教学难度,注重培养学生的学习兴趣,循序渐进,不能急于求成。初中阶段算法和程序设计的这部分内容,重点是让学生体会算法的思想,培养学生的计算思维,使其掌握基本的编程方法。教师在教学中应该注重对编程基础知识的讲解,选择一些结构简单、逻辑清晰、语句不太复杂的、贴合学生生活的例子进行教学。在利用程序解决问题的过程中,重点培养的是学生解决问题的计算思维。

在实际教学中,学生学习完一个知识点后的第一个程序,对于一般程序的填空,笔者把程序中与该识点密切相关的部分留空,让学生进行补充完成,这样可以降低学习难度,提高学生的学习积极性,这种做法在刚开始学习时尤其关键。当学生对Python逐渐熟悉后,可以增多留空的部分,到最后让学生从“零”开始完整完成一条程序。

(二)增加课程课时数量和密度

Python程序设计是一门理论与实践都很重要的课程,通过所学编程知识来指导实践应用,通过实践巩固所学编程知识。较为理想的教学时间安排应该是,上机实践操作的时间多于理论学习时间。由于初中学生对电脑的基础应用不熟悉,打字的效率等都会影响上机调试程序的进度,如果时间不足,不仅完成不了任务,还会降低学生的自信心。另外,理论学习与上机实操之间的时间间隔越短越好。按照艾宾浩斯的遗忘曲线规律,及时复习对于巩固已学知识是很重要的。笔者认为,比较好的解决办法是两节课连在一起,一节课学习理论知识,紧接着第二节课上机实践操作,及时巩固所学知识。因此,强烈建议将信息技术课时调整到每周两节,而且每周的信息技术必须连堂两节上[2]。

(三)渗透数学知识的讲解

对于数学知识欠缺的问题,笔者认为可以从这么做:首先,在数学课上已经学习过且容易混淆的概念(如“变量”),在教学中应该把这个概念和数学课中的概念进行对比分析,帮助学生理解这个概念在Python中的不同之处。对于在数学课上还未学习的概念(如“函数”),教师在课堂上进行详细讲解。如果该个概念在数学或者其他学科中也存在,但学生还没有学习到,可以先从本学科的角度进行解析,这样能帮助学生更容易理解这个概念[3]。

(四)进行计算机基本操作训练

从上述的问题分析来看,学生常用的计算机操作是代码输入及中英文切换。因此,教师可以在编程课程的头几节课,利用打字软件,让学生进行5分钟左右的打字练习,尤其是英文打字练习,帮助学生提高代码的输入效率。虽然课程的总课时不够,但“磨刀不误砍柴工”,学生输入代码的效率提升能改善课堂教学效果。从笔者的实施经验来看,到了课程的中后段,大部分学生都能较为熟练地输入代码,教学效率得到明显提升。对于中英文输入法差异产生的问题,笔者认为,在课程初期应该重点教会学生区分中英文标点符号的差别,这样可以帮助学生减少输入错误。

猜你喜欢
程序设计代码编程
医学专业“Python程序设计”课程教学改革总结与思考
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
从细节入手,谈PLC程序设计技巧
创世代码
创世代码
创世代码