丁毅涛
摘 要:本文旨在对Python程序设计课程的现状及教学过程中存在的问题进行分析,并从思想认识、课程内容安排、线上线下教学模式、实验内容设计和效果评价等方面对课程教学改革进行探索,以更好地提高学生学习兴趣,培养学生编程思维,使学生能够熟练运用该语言工具解决实际问题。
关键词:Python程序设计;教学改革;线上线下教学;人才培养
随着社会的发展,人工智能等高科技相继出现在了人类生活的各个领域,使得人们对人工智能的作用和意义有了全面而深刻的认识。因此,为了适应社会对人工智能领域人才的需求,特别是具有代表性的互联网企业,如华为、阿里巴巴、百度和腾讯等,近年来在技术人才招聘过程中均要求熟练掌握Python语言[1]。因此,众多高校的大数据分析相关专业均开设了Python程序设计课程。线上线下相结合的教学成为一种全新的教学模式[3]。因此,为了进一步提高人才培养质量,使得学生具有更高的实际操作能力和处理实际问题的能力,对课程教学过程中存在的问题进行深入分析和改革至关重要。
1 Python程序设计课程简介
Python程序设计作为应用统计学专业的学科基础与专业核心课程是数据挖掘技术与应用、数据分析与应用、数据可视化技术与应用和机器学习等课程的基础。Python语言是一门面向对象的解释型高级程序语言,其以免费开源、语法简单、扩展库丰富和可移植性强等特点被人们所熟知。作为一门计算机语言其主要涉及Python语言概述、运算符、表达式与内置对象、Python序列结构、选择结构与循环结构、函数、面向对象程序设计等内容。并且旨在通过本课程的学习,使学生掌握Python程序设计的基础知识,并能通过程序设计实现一些实际问题,并且具备一定统计方法的技术创新和的应用创新能力。运用科学方法与专业技术工具从事实际工作,综合分析及处理本专业领域一定复杂问题的能力。
2 Python程序设计课程现状
随着人工智能、Web应用开发、科学计算和大数据等领域新技术的快速发展,为了跟上时代的潮流,培养更多适应社会发展需要的技术人才[1]。为了培养学生运用Python这一专业技术工具从事实际工作的能力,并能够为人工智能、数据挖掘和大数据分析领域培养思维严密、动手能力强的计算机应用型人才。在众多高校中,大数据分析等相关专业均开设了Python程序设计的课程。Python程序设计其本质是一门语言类工具课,通过对Python基础知识、数据以及语法结构等方面内容的介绍,使得学生能通过程序设计实现一些实际问题,并能熟练使用该专业技术工具解决各领域实际问题。但是,目前该课程在教学过程中普遍主要存在以下几个方面的问题:
2.1 思想认识不到位,导致对课程重视程度不够
由于该课程是一门专业基础课程,在相关专业人才培养中有着重要的地位。但是学生对于该课程的态度仅是考试及格,并没有真正了解该课程的作用,从思想上缺乏对课程重要性以及其对后续专业课程的意义的认识。因此,在教学过程中,存在学生对该课程内容理解不到位、课后不练习不认真,实践环节任务完成情况不理想,都在很大程度上影响了课程的教学效果。
2.2 教学内容安排不合理,过于侧重理论知识点的讲解
该课程内容主要涉及Python程序设计语言的基本语法和应用。作为计算机语言,如果学生没有计算机语言基础,则会使学生觉得学习难度大、各类关系之间逻辑抽象且枯燥乏味。因此,关于课程内容的安排方面主要关注Python语言的基本语法及常用的逻辑结构的讲解,对于在项目中常用的字符串的操作、正则表达式、文件內容操作、文件与文件夹操作以及第三方库使用的引导等内容却很少涉及。如果在教学过程中不能正确安排这些教学内容,则会使得教学效果大打折扣,无法实现人才培养方案中关于培养学生熟练运用Python软件解决实际问题、从事实际工作和处理本专业领域一定复杂问题的能力。
2.3 教学模式单一,无法满足多途径学习需求
Python程序设计作为应用性较强的编程语言,其轻理论重应用的特点决定了在教学过程中其与理论性较强的课程的教学手段和教学方法也应有着显著区别。但是,在以往教学过程中,大多数情况关于该课程依然是传统的教学模式,课堂上以教师为主的讲授知识内容,学生被动接受,知识点的应用实践通常会作为课后作业留给学生,让学生课后自己操作练习。在学生被动接受的过程中,学生很少有机会主动参与到教学过程中来,学生没有参与感,没有成就感,从而无法调动学生学习积极性或者导致学生的积极性受到挤压。对于课后自行练习的要求,学生基本很少得到落实。最终,学生只知其知识点,不知如何应用,更不能用所学知识解决实际问题,从而无法实现教学目标,使得培养应用型人才的要求没能落到实处。
2.4 实验内容简单枯燥,不能培养编程思维
Python程序设计作为语言类工具课程,要熟练使用该软件进行编程,仅掌握基本语法以及各类逻辑结构是远远不够的。要真正掌握Python语言编程的精髓,除了掌握基本语法结构之外,更多的结合具体项目案例进行综合训练,进而培养编程思维。目前该课程教学过程中虽然都设置了一定课时的实验课,但是实验课的内容更多的是对于理论课知识点的简单验证,学生通常都是把课本中的代码重新敲一遍,然后运行出结果并与课本中给出的结果进行比较,如果结果一致则继续进行下一个知识点的代码编写验证。在这个实验环节中,学生只是进行了简单点的复制运行,并没有认证思考该知识点的实战化应用场景,更没有将具体知识点用于具体项目中。当要求学生抛开课本实现具体任务,学生往往是无从下手且语法问题频出。所以,传统的实验课程环节并没有实现学生对所学知识点的真正理解和掌握,更不能从这样的实验模式中培养学生抽象思维和编写完成程序的能力。