鲁月林 汪爽 史晨阳 刘永明 赵转哲 刘志博
摘 要:Python语言程序设计是智能科学与技术专业的编程基础课程,对该专业后续实践课程的实施具有重要作用。为了提升Python课程的质量,从专业对人才素质的需求角度出发,对Python课程教学提出了改进措施,包括提升教师编程技能与课程理解、建立层次分明的课堂教学体系、构建以学生为中心的实践教学体系以及建立Python课程与学科竞赛的链接。通过课程的不断改进,最终实现了课程教学质量的提升。
关键词:Python 语言;智能科学与技术;教学方案;实践能力
1概述
智能科学与技术专业是契合人工智能时代人才能力需求的专业,该专业融合了人工智能、计算机、控制、传感、通讯等众多学科领域[1-2],学生就业主要面向信息技术、先进制造类企事业单位。安徽工程大学人工智能学院为了应对社会与企业对信息化、智能化人才的需求,积极培养学生通过编程解决实际问题的能力。由于Python语言具有简单易懂、易于学习,以及包含丰富的第三方库和工具[1]特点,被广泛应用于各种领域,如Web开发、数据科学、人工智能和机器学习等[3-4]。智能科学与技术专业在低年级开设《Python语言程序设计》课程,该课程的先修课有《C语言程序设计》、《计算机基础》等,其教学内容主要包括基础语法、库的使用、面向对象基础知识等。学生在Python课程中所掌握的编程技能是该专业后续课程如《机器学习》、《自然语言处理》、《ROS机器人开发》等课程的基础,也是学生毕业后从事相关工作的重要技能。通过Python语言的学习和训练,可以有效提升智能科学与技术专业学生的计算思维、算法思维和以及解决工程问题的能力[5-6]。
本课程除了要求学生熟练使用Python以外,还要求学生对程序设计有一定理解,为以后更深入的学习和实践打下基础,支撑专业学习成果中相应指标点的达成。预期达到的课程目标包括如下3个方面。(1)知识目标:掌握python語言的基本语法,模块化设计方法;(2) 能力目标:熟练使用python进行编程;(3)育人目标:培养学生认知负责、踏实敬业的工作态度和严谨求实、一丝不苟的工作作风,以及严格遵守各种标准规定的习惯和良好的行为习惯。安徽工程大学人工智能学院在开设Python语言程序设计课程过程中,发现了存在一些亟需克服的问题。
2 Python课程存在的问题
1.教师实践经验缺乏
大多数Python课程的教师仅有C语言或Matlab的教学与开发经历。C语言教学重点在于教会学生基本语法以及基本的程序设计逻辑结构。而Python语言作为一种高级解释性语言,其教学中更需侧重Python语言的应用。由于两种语言存在差异,如果教师不系统性地学习与实践Python语言的具体应用,难以应对教学要求以及学生对深入学习Python课程的需求。
2.学生计算机与编程基础薄弱
一些学生对C语言、数据结构等相关的基础支撑课程掌握不牢固,且自身编程思维的构建不够完善。在学习Python编程时,容易将多种语言混淆,面对编程项目无法入手。一部分学生对计算机的基础知识和操作掌握不足,甚至存在学生无法正确安装Python语言解释器及相关集成开发环境的情况。
3.实践环节综合性有待加强
目前安徽工程大学智能科学与技术专业的Python语言程序设计课程总学时为48学时,其中理论课时32学时,实验课时16学时,实验课程穿插在理论学时之中,每次实验为结束一个章节后,对本章知识点的实践训练。可以看出,目前该课程的实践教学一直仅是理论知识的巩固与延伸,无法综合性地培养学生的编程能力与编程思维,也无法实施更接近真实案例的编程训练,在能力培养上与社会与企业的实际需求之间存在一定的差距。
3 Python课程教学改进措施
1.提升教师编程技能与课程理解
鼓励教师参加行业研讨会和培训课程,以保持与最新技术趋势的接轨。要求Python课程教师进入各行业调研Python应用实际需求,关注最新的技术和趋势,不断更新和优化实践项目内容,以满足社会对学生的技能需求。同时,邀请计算机行业从业专家进入校园,进入课堂给教师的课程做指导,也为学生讲解工程应用的编程思路。
2.建立层次分明的课堂教学体系
《Python语言程序设计》课程不是一门纯理论课程,该课程需要学生能够将所学知识应用到编程实践中,并且能够融合其他课程所学专业知识,构建实际工程项目。因此该课程的教学知识体系应该具有层次性、引导性和实践性,由Python的基础语法入手,培养学生的编程能力,使学生建立编程自信心。再通过一些案例逐渐引导出高阶语法,最后教授学生使用常用的第三方库以及进行项目实践。因此整个课程体系为:1.Python编程基础语法,包括Python语言基础、控制流程、函数等基础概念和语法。2. Python编程高阶语法,包括列表、字典、面向对象编程等内容。3.常用Python第三方库包括NumPy、Pandas、Matplotlib等数据科学和数据可视化库的使用。
3.构建以学生为中心的实践教学体系
Python语言程序设计课程教学内容设置应该充分考虑学生的编程能力,设计一些生动有趣、具有实操性的编程项目,将理论知识和实践相结合,让学生通过实际编程和项目开发来提高他们的编程水平和解决问题的能力。在Python实践教学环节,要真正贯彻以学生为中心的理念。教师给予学生所需的基础资料、文档和指南,项目的具体实施由学生用用所学知识,自行完成。学生在遇到问题的过程中,教师给予指示性帮助,坚决杜绝类似于直接给答案或者是由教师上手,学生旁观的情况发生。
除了布置单独完成的项目以外,实践课程后期还布置一些工程量大、需要多认合作的项目,让学生一起合作完成,以便他们了解团队合作的重要性。学生在多人协同编程过程中,可以熟悉程序的版本控制、任务分配、代码审查等实际工程项目所需要的流程。教师在这过程中需要实时了解他们的进展、成功和需要改进的地方。表1为Python项目实践教学中的一些案例,图1为猜数字游戏编程中,学生使用Python语言及PyQT库所完成的可视化界面。
总之,Python课程教学应该注重理论和实践相结合,让学生掌握Python编程的基础知识和技能,并能够应用到各种领域和场景中去。需要注重学生的参与度和自主性,使学生能够在实践中学习并取得进展,同时也需要教师提供指导和反馈,帮助学生理解和应用所学知识,提高学生看问题的全局性、面对问题时的创新性等。
4.建立Python课程与学科竞赛的链接
大学阶段的学科竞赛是培养高素质应用型、研究型人才的重要路径,学生可以在学科竞赛中开阔自己的视野,增加对学科的认识,提升实践能力,有助于在找工作、考研复试中脱颖而出。大多数学科竞赛需要学生综合多学科知识,分析问题,通过实际动手完成竞赛任务。Python在数据科学、机器学习和人工智能领域中具有广泛应用,许多涉及到数据分析或机器学习任务的竞赛必须要使用Python才能完成任务。智能科学与技术专业学生可以参加的竞赛,如“中国机器人与人工智能竞赛”“全国高校计算机能力挑战赛”等均需要学生进行Python编程。
教师在Python课程中,应该有意地向学生介绍这些与课程相关的比赛,鼓励学有余力、对比赛有兴趣的同学积极参与学科竞赛。在Python课程中引入数据分析、机器学习建模、深度学习建模等竞赛中常用的知识点,分享与竞赛相关的在线资源、书籍和工具,帮助学生深入学习和准备。
结语
经过为期一年的Python课程改进,该课程的教学效果有了明显提升。首先,学生积极性得到了增强,表现为课堂出勤率、在线讨论参与率提升。通过对比前后几个学期的期末成绩与计算机二级的Python科目通过率,发现成绩和通过率均有所提升。同时学生将课程所学知识积极应用于学科竞赛与实习工作中。该专业学生在“中国机器人与人工智能大赛”、“安徽省大数据与人工智能竞赛”、“全国大学生电子设计竞赛”“蓝桥杯程序设计大赛”等竞赛中荣获佳绩, 累计获得一等奖 3次, 二等奖 7 次, 三等奖 9 次。在学生实习过程中,用人单位对这些参加了竞赛的学生也给予了更高的评价,认为他们能够更加适应企业的工作。可见,通过教师在Python课程教学中的不断改进该,课程对学生的培养结果实现了预期的知识目标、能力目标和育人目标。
参考文献:
[1]肖凯,李雯,汤晓安,等.智能科学与技术应用型本科人才培养模式研究[J].电脑知识与技术,2020,16(25):153-155.
[2]陳义明,刘桂波,张林峰,等.智能科学与技术专业特色方向的确立与课程体系构建[J].计算机教育,2020(07):162-165.
[3]沈乾彦,赵海峰.Python语言课程教学改革探讨[J].计算机教育,2021(03):171-174.
[4]韩志豪.人工智能背景下的Python教学探索[J].计算机时代,2018(07):76-81.
[5]嵩天,黄天羽,礼欣.Python语言:程序设计课程教学改革的理想选择[J].中国大学教学,2016(02):42-47.
[6]刘承林.计算思维培养视角下高中Python课程教学模式研究[D].山东师范大学,2019.
基金项目:安徽工程大学引进人才科研启动基金项目(2020YQQ030);安徽工程大学校级科研项目(Xjky2020010);2022年安徽省省级示范实验实训中心项目(2022sysx001);2022年安徽工程大学人工智能优势专业项目(2022yszy03)
作者简介:鲁月林(1992— ),男,汉族,安徽铜陵人,博士研究生,讲师,研究方向:光电信息处理、计算机视觉、智能传感。