时间:2024-08-31
聂建辉 朱松豪
摘要:作为一门跨平台的计算机程序设计语言,Python以其简洁性、易读性以及可扩展性,在科学计算中得到了越来越多的应用。本文介绍了Python科学计算课程教学方法的一些改革措施,以寻求激发学生学习主动性的方法,提高学生解决实际问题的能力,提高教学质量。
关键词:Python;科學计算;教学改革
一、引言
Python是一门面向对象的高级程序设计语言,其秉承了“优雅”、“明确”、“简单”的设计理念,语法结构简单清晰。经过多年的发展,当前Python既可以实现程序脚本的快速开发,又可以用于大规模软件的设计实现。同时,由于具备了众多第三方开源库的支撑,如NumPy、SymPy、Matplotlib、Pytorch等,Python在科学计算领域的优势愈加突出。与广泛使用的商业软件Matlab相比,Python是一门真正的通用计算机语言,应用范围更加广泛,且完全免费并开放源码。
Python科学计算是工科专业普遍开设的一门工具性课程,通过对该课程的学习,学生能够系统的掌握一门高级编程语言,同时,又能够熟悉数值计算、符号计算和图形绘制方面的编程方法,为后续研究和工作打下坚实的基础。
二、教学方法改革内容
本文结合作者在实际教学中遇到的问题,分几个方面探讨教学改革的有关内容。
1.提高对课程重要性的认识
在很多国外高校Python是学习信号处理、数理统计、人工智能等课程时的必讲内容,是攻读相关学位必须掌握的一个计算工具[1]。而国内高校对Python编程重要性的认识尚不足,通常还是以C或C++作为程序设计的入门语言。由于语法复杂,许多学生会产生畏难思想,进而导致学习效果不佳。同时,很多学校将Python课程安排在大学二年级,由于此时还处于通识教育阶段,专业课程尚未开始,因此,学生很难在体会到Python科学计算对于所学专业重要性和帮助作用,更谈不上在后续专业课程中的应用Python解决相关问题。为了克服上述问题,教师应该在教学之初首先对Python科学计算与本专业需要学习的专业课程之间的联系进行详细说明,并用一些实例展示Python在解决数学问题和工程问题方面的优势和简易性,从而使学生能够认识到课程的重要性,并激发学习兴趣。
2.增加演示教学
当前,课堂授课的形式主要还是以教师讲解,学生被动接受为主[2]。这种教学方式单一、枯燥,不利于调动学生的学习积极性,教学效果不佳。为此,在教学过程中需要增加动态演示环节。通过演示程序设计、程序编写、程序运行、程序调试的过程,使学生对相关知识能有清晰明了的掌握,进而激发学生学习兴趣,提高学习效果。同时,对于Python在科学计算中的应用,应当重点演示。如在Numpy数值计算部分,可以演示如何快速解决线性代数课程中需要繁琐计算的矩阵求逆、SVD分解等内容;在SymPy符号计算部分,可以通过演示线性方程和微分方程的求解方法,是学生体会到符号计算的强大功能;在Matplotlib绘图部分,可以逐步讲解图形绘制的过程,并采用由粗糙到精细的思路,演示如何使最终图形在布局、配色、标识等方法达到最佳效果。
3.突出应用
Python科学计算是一门应用型的课程,其重要作用在于能够为其他课程的学习和实验验证提供工具。因此,在教学中,不应忽略对学生应用技能的培养[3]。在教学过程中我们发现,一种能够有效提高学生应用能力的方法是案例式教学。如在讲解深度学习相关内容的过程中,通过给出一个典型的分类案例,将整体任务划分为几个小的模块,再讲解如何通过Python和Pytorch相互配合,实现诸如数据加载、数据乱序、自动求导、权重更新等过程。通过案例式教学能够使整个教学变得生动具体、直观易学。此外,为了进一步拓展学生的应用能力,可以通过学生自主选题、自主分组的形式完成一些实际问题的解决,并汇报解决方案,通过亲自动手解决问题,让学生体会Python在实际应用中的重要作用。
4.结合专业方向
开源和广泛的第三方支持是Python语言的一大特点。发展至今,在各个领域方向基本都可以找到对应的第三方工具包,如控制系统工具箱、信号处理工具箱、图像处理工具箱、神经网络工具箱、函数拟合工具箱等等。要想把这些第三方扩展包的所有功能都熟悉和掌握难度很大。因此,应当针对授课对象的专业背景重点介绍1-2个与其密切相关的工具箱的使用方法,如对于人工智能方向的学生,可以着重介绍PyTorch或TensorFlow的相关知识,将两个工具箱中的基本数据类型、数据转换过程、网络框架搭建过程、模型训练等过程讲解清楚,同时,要使学生了解两个工具箱各自的优势和特点;对于计算机专业的学生,可以重点介绍网站搭建、爬虫等方面的工具箱,而对于通信相关领域可以重点介绍数字信号处理方面的第三方库[4]。
三、结束语
Python科学计算是一门与实际应用密切相关的课程,其教学内容又与线性代数、高等数学等理论课程又密切联系,学习好Python科学计算对于培养学生理论联系实际的能力具有重要意义。在教学过程中,应首先使学生正确认识到课程的重要性,然后采用演示教学的方法,可以大大提高学生学习的积极性和主动性;同时,通过案例式教学,在教学中引入实际工程问题能够有效培养学生独立思考和解决问题的能力;最后,通过针对性的讲解,能够使学生能够熟悉与其专业最紧密的工具箱的使用方法。
参考文献:
[1]张涵翠,沈炜,周维达.《Python程序设计》课程教学—兴趣型教学方式探索[J].高教学刊,2020(36):13-16+21.
[2]杨晓玲.基于人工智能的数字图像处理课程教学改革实践[J].职业技术,2021,20(01):61-65.
[3]李潜,高贤波,陈慧玲,肖二钢.混合式教学在《Python程序设计》课程中的应用[J].产业与科技论坛,2020,19(22):170-171.
[4]刘琼,吴熳,王连成,柴一峰,刘明伟.浅谈Python语言在通信原理教学中的应用[J].产业与科技论坛,2020,19(22):47-48.
南京邮电大学通达学院教学改革研究项目(JG31520020)。
作者简介:
聂建辉(1984.1-),男,汉族,山东东营人,南京邮电大学,工学博士,副教授,从事计算机图形学、离散几何处理、视觉测量研究;
朱松豪(1973.2-),男,汉族,江苏如皋人,南京邮电大学,工学博士,副教授,从事机器学习、多媒体内容的分析、模式识别研究。
(南京邮电大学自动化学院 人工智能学院 210023)
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!