中职“Python程序设计”课程教学现状及改善策略
2022-04-29王兴松
王兴松
关键词:中职;Python程序;教学现状;改善策略;校本教材
1引言
Python程序设计语言是近年来发展迅速的一门高级程序设计语言,在游戏开发、人工智能、科学计算等领域得到了广泛应用,很多中职学校也将“Python程序设计”列入计算机专业课程之一。目前,“Python程序设计”课程开设时间不长,教师经验不足,学生学习动机较弱,很多教材未匹配考纲和脱离企业对Python人才的需求等诸多因素,影响了Python程序设计语言在中职学校的发展。
2Python语言简介
Python是一门面向对象的高级程序设计语言,创始人是荷兰人吉多·范罗苏姆( Guido van Rossum)。Python语言具有以下特性:简单、易学、可快速入门;“一次编写,到处运行”的跨平台特性;丰富的库(自带的标准库和第三方库)。其被称为“胶水语言”,Python程序可以以多种形式与其他编程语言编写的程序组合在一起。Python程序的应用场景广泛,包括游戏开发、网络服务、图像处理、科学计算、人工智能等领域。
自Python3以上的版本问世后,其就开始被广泛注意。Python程序设计被很多省份列入义务教育教学内容,中等职业教育和高等教育大部分的计算机专业把“Python程序设计”作为主要课程之一。到2017年年末,全国计算机等级考试进行了调整,在二级考试中新增“Python语言程序设计”科目。软件公司对Python程序设计人才的需求也是由无到有,由有到精。由于Python程序设计的流行程度与日俱增,部分教育研究院和学校为了提升学生的信息素养、计算机思维、数字化学习与创新等方面的能力,在学校开设“Python程序设计”课程。新奇的学科,吸引了计算机教师的研究注意力,激发了计算机教师的研究热情,同时带来了一定的挑战。越来越多的中等职业学校计算机专业也都陆续开设“Python程序设计”课程,并呈现蓬勃发展的状态,同时该课程的一些教学问题也被行内专业人士和教师所意识到。
3存在的问题
3.1部分学生课程基础薄弱,学习效果不佳
“Python程序设计”是一门理论加实操的计算机课程,对学生的综合能力有一定要求。
在文化课方面,“Python程序设计”课程的学习要求中职学生的语文、数学、英语科目成绩中等或以上水平。现实生活中部分中职学生文化课基础薄弱,让人担忧。学生语文不好,会导致理解Python程序问题不透彻:语言表达能力较弱,在沟通需求和分享思路方面就会表述不清。数学基本的运算不熟练(比如程序设计中作为高频考点出现的开方、乘方、最大公约数和最小公倍数问题),逻辑思维能力欠佳,都会影响Python程序问题解决的思路和效率。Python程序设计大部分工作是利用英文编写程序实现功能,然而很多学生英语是短板科目,学习时常用的单词记不住写法和意义,或者类似的单词记忆混淆,也会导致学生对Python学习兴趣降低。
在计算机基础方面,要求熟悉Windows操作系统,熟练掌握中英文录入方法。由于城区和农村教学条件的差距,再加上受应试教育的影响,很多农村义务教育毕业学生的计算机实操能力有待提高。通常表现为:拼音不过关,不会输入汉字:常用的快捷键不熟练,文件操作无章法:没有掌握文字录入技巧,录入速度缓慢。这会影响“Python程序设计”课程学习和实操的进度。
3.2教材质量参差不齐,严重影响教学效果
义务教育和普通高中的教材受众人数大,一般来说,经过教育系统层层把关,质量过硬。而中等职业教育,由于“Python程序设计”课程教材选择面广,Python语言流行年份不长,经验丰富的教师资源紧张,任课教师有一定的自主权等因素,导致最后选用的“Python程序设计”课程教材适用性差,达不到中职的对口高考要求或者企业对Python人才规格的要求。
以安徽省中等职业教育对口高考计算机专业的要求为例,“Python程序设计”课程于2019年纳入安徽省计算机对口高考专业课考试科目,安徽省教育科学研究院于2021年11月正式公布《信息技术类专业技能测试纲要》和《信息技术类专业课考试纲要》,明确指出“Python程序设计”课程的理论考试和实操考试的范围和要求,推荐的参考教材为高等教育出版社的《Python程序编写入门》(苏东伟主编)和高等教育出版社的《Python程序设计教程》(张莉主编)。在熟悉考试大纲的前提下,细读推荐教材,发现不少问题。推荐教材有多处内容编写错误的地方,有简单问题复杂化的情况,还有很多大纲指定的内容书上没有提及(如面向对象程序设计基础章节、GUI章节等)。在网络上查找,也没有匹配大纲的书本和题库。总而言之,目前没有高度匹配大纲的教材,这就导致任课教师要花很多的精力去网络搜索资料或者购买Python书籍,整理内容并设计相关的作业。学生学习之初也没有合适的资料,无法进行深度自学和课后巩固以及自我拓展。这对Python教学效果产生了不利影响,解决此问题迫在眉睫。
3.3Python教师教学能力不足
Python程序设计语言也是最近几年才进人中职课堂,优秀的Python教师是稀缺人才。有的Python教师是从社会聘任到岗,他们在软件行业摸爬滚打多年,理论和实操经验都很丰富,可由于缺乏基础的教育知識,以及缺乏对中职学生身心发展情况的了解,他们常常表现出“茶壶煮饺子,有货倒不出”的状态,或者教师在唱独角戏的状态。有的Python教师是由其他岗位转岗而来,缺乏Python程序设计语言的基础知识和基本技能,教师没有系统的软件逻辑思维和深厚的实操能力就做不到对Python程序解答方式的举一反三,做不到程序联系生活实际,做不到与其他学科的知识迁移。还有的Python教师教学方法老套,教学策略单一,只是一味地注入式教学,导致课堂气氛消极,不利于激发学生学习“Python程序设计”课程的兴趣。
3.4教师教学尚未形成统一认识
在教学场所上,有的教师认为主要在机房,方便多学多练:有的教师坚持按常规的理论和实操内容比例来安排教学场所,即30%的教学时间在教室,70%的教学时间在机房。在Python教学重难点上,有的教师认为应该是程序控制的三种结构(顺序结构、选择结构、循环结构),有的教师认为应该是面向对象程序设计的三大特征(封装、继承、多态)。在教学内容安排的顺序上,“结构数据类型及其操作”和“结构化程序设计基础”两个章节内容经常是互相渗透,各有穿插,究竟先上哪个部分内容,大家意见难以统一。
目前,在中职日常教学里Python编程题的评阅存在较大的分歧。由于编程题不如客观题有固定的、唯一的答案,它对中职生的要求是答题具备逻辑性和严谨性。在Python程序设计编程题阅卷时,发现有的教师评阅时以能解决问题为标准,主张简洁灵活答题:有的教师机械性地以参考答案为标准,主张保守常规答题。
4改善策略
4.1加强和基础课程教师的沟通与合作
Python程序设计专业课教师列举出该课程需要语文、数学、英语、计算机基础等科目的教师配合强调的教学内容,齐心协力巩固学生基础。不少中职学校春季招收学生,秋季分专业教学。在分专业教学前,可请相关教师完成相关内容的教学,为“Python程序设计”课程教学做好铺垫。
正式上“Python程序设计”课程前,可以设计一套包含文化课和逻辑能力的试题,对学生的知识基础和逻辑思维能力有个初步了解,方便后期教学制定针对性的策略。
4.2开发匹配考纲的校本教材
合理编排校本教材形式。Python校本的编排形式要符合卫生学、教育学、心理学和美学的要求。对于中职学生,教科书的内容复杂度安排既要符合学生的身心发展规律,还要符合知识发展的内在逻辑,力求复杂问题简单化和直观化。Python校本教材中该写明白的地方要不惜笔墨,清晰地展现问题的求解过程;其次要注意图文并茂,充分重视表格、图形、图解和注释的设计,增强教材的可读性,同时注意联系生活实际和其他学科的知识迁移。比如,在编排双分支选择结构(if…else…)的内容时,可以使用疫情防控进校园的要求来举例说明。进校园测体温,如果体温值大于37.3℃,则不让进校园,否则正常人校,并配合相关图片,方便理解。这既可以做知识讲解,也可以起到安全教育的作用。再如,编排循环结构计算“1+2+3+…+ 100”的内容时,先编排数学里面的等差数列求和公式解决此问题的方法,使学生做到知识迁移,再利用数学和编程等多种思路来解决此问题,培养学生的程序逻辑思维。
丰富校本教材的内容。内容必须包含大纲要求的每一个知识点,详略得当。校本教材的内容不仅是相关知识的讲解,还要包括配套的强化练习。知识的讲解要方便学生反复自学和复习,也可以节省学生抄写大量补充笔记的时间。配套的练习,可以检测学生的知识点掌握情况,各Python教师也不用耗费心力自己反复设计题目。校本教材的内容还要做到理论与实操的统一,这不仅是考试大纲的要求,而且能让学生增强对知识的理解,真正让学生做到对“Python程序设计”课程知识点内化于心、外化于型。此外,校本教材的内容来源可以是去粗取精地推荐教材,可以是经过认真筛选再加以改造的网络上的知识点,也可以是酌情参考的其他Python书籍,甚至可以结合对大纲的理解和企业对Python人才的需求自己设计校本教材内容。
各方协同支持Python校本教材的开发。Python校本教材事关计算机专业学生的对口升学和未来成才就业等,其作用举足轻重。学校需要提供的支持主要包括以下几个方面。首先,学校领导重视,全面协调人力物力财力等,给予相关专业课教师较为充足的支持。校Python教科组组织成员开会,部署校本教材开发的任务,规定好时间点和责任人,集思广益,资料共享,严格验收,不断总结和反思。其次,学校可以请兄弟院校或者知名大学教师前期做校本教材开发的培训和指导、提供优质样本等,后期协助验收、提供改进建议等。最后,Python教科组完成校本教材编写后,校主管教学领导将教材送到市级或省级教育科学院的计算机教研专家审核,有不足之处及日寸修正,直到专家认可。
4.3提高教师教学能力
提高教师“Python程序设计”课程的基础知识和基本技能。Python教师要认真研读“Python程序设计”课程考试大纲理论和实操的具体要求,深入了解软件企业对Python软件工程师人才的基本要求。从要求出发,熟悉Python程序设计的课程标准,细读Python教材和参考书,勤思考,多实操。Python教师要善于做到知识点的融会贯通,善于引导学生发散思维,如计算数学中的阶乘问题,Python语言可以以多种思路解决,可以使用循环结构或者递归函数或者math模块的factorial()函数等。
提高教师教学技能。教师要了解中职学生心理发展状况和知识点的逻辑顺序,做到循序渐进的教学以及结合实际的因材施教。Python程序设计的教学,要求教师认真备课,做好课堂计划,设计有层次性的教学任务。课堂上,采用多种教学方法相结合,Python课堂一般是以讲授法和演示法相结合来传授新知,以任务驱动法来激发学生“大展身手”的动力并检测学生的学习情况。理论课通过作业批改掌握学生知识薄弱环节:实操课通过巡视学生任务完成情况总结学生不良的操作習惯和提高调试代码的能力。发现问题,及时指导。涉及较难的知识点时,设计合适的情景吸引学生的注意力,激发学生的学习兴趣。比如,讲解顺序结构时,可以使用“把一头大象放进冰箱需要哪些步骤”的实例:讲解选择结构时,可以使用“校园疫情防控测温时,如果体温大于37.3℃,则不允许进校园的实例”等。
此外,教师要充分利用互联网的优势弥补自身的不足,充分利用“互联网+教育”。要在线上线下混合式教学模式下,降低知识难度,从而促进学生学习。
4.4教学上统一认识
教学认知上统一认识。“Python程序设计”课程既有理论部分又有实操部分,也是最近几年才备受重视的课程,如何高效教学,没有固定说法。课堂教学和机房教学时间如何分配才最合理,这与教学内容的特征、教师的教学风格以及学生的接受能力都有关系。不能都在教室而陷于书本主义,也不能都在机房而陷于经验主义,要两者结合,加深认识。少数章节的教学,存在先后争议,也无可厚非,因为很多知识本身就是可以互相使用、互相借鉴的。其中涉及先后关系,很多情况没有对与错,确保学生牢固掌握相关知识即可。
编程题评阅方面统一认识。它和数学应用题、几何题有异曲同工之处,甚至比数学更灵活。对于编程题,只要学生的答卷不死板,能解决同类问题,能实现相关功能,都可酌情给分,按步骤给分,不全盘否定。在完成任务的前提下,再去追求答卷的完美,如不同的程序哪个用时更短,哪个程序更具拓展性,哪个程序更符合程序思维等。当然,如果市级和省级教科组计算机专家能给出编程题评分的详细标准则更好,这可以使相关教师以后评阅有方向性和针对性。
5结束语
针对“Python程序设计”课程教学,与学生的未来发展息息相关,专业课教师任重而道远。希望相关教师都能发现问题,正视问题,改进问题,为学生程序设计思维的发展和信息技术的提升创造良好的环境。