“Python语言”课程教学体系改革研究

2022-09-06 13:18龚俊梅
科技风 2022年22期
关键词:Python语言代码调试

龚俊梅 刘 洋

1.电子科技大学成都学院文理学院应用数学系 四川成都 611731;2.电子科技大学机械与电气工程学院 四川成都 611731

1 概述

在大数据、人工智能等技术发展的新形势下,如今统计类或数学类专业的应用型本专科生除了需要具备基本的数据分析技能,还需要掌握一定的计算机编程技能。“Python语言”是一款用于数据统计、分析、可视化等任务以及机器学习、人工智能等领域的解释型、面向对象的计算机程序设计语言,它能满足几乎所有数据挖掘所需的数据处理、统计模型和图表绘制等功能需求[1]。从目前人才市场的需求来看,具有扎实的专业基础和Python编程应用技能的复合型人才更加受到青睐。因此,从应用型人才培养的角度,对该专业的学生开设Python课程的必要性尤为凸显,然而当前高等学校Python课程存在问题较多,针对我校Python教学过程存在的问题,课程组进行了教学体系改革,搭建了支持移动终端远程调试的开发环境,创建了线上学习资源库并搭建了GitHub师生互动平台,显著改善了教学效果。

2 “Python语言”教学过程问题分析

2.1 课外练习受到硬件设施限制

由于Python课程是针对大一新生开的课,大部分学生在学习这门课程时没有电脑,仅仅只通过课堂教学时间进行实践操作。同时,课程课时相对紧张,若在课堂上花费大量时间练习,教学进度会受到影响。此外,课后学生无法通过电脑操作巩固其对代码的理解,不利于对新知识的吸收和掌握,导致学习效果较差。

2.2 缺乏练习及实际应用

Python的学习仅通过课堂老师讲授理论知识的方式相对枯燥,学生缺乏学习动力,容易导致学生学起来没有兴趣。因此,需要伴随大量的代码练习和实际案例,才能更好地培养学生独立写代码的能力,为真正成为应用型人才打下基础。然而当前学生很难接触到实际的工程案例,缺乏具体应用需求,导致课堂教学与工程应用脱节。

2.3 老师和学生沟通交流的时间及途径较少

由于老师和学生课程较多,师生间彼此交流的时间很少,学生在课后的学习过程中,很难及时地将问题反馈给老师,使得老师也无法掌握学生的具体学习情况和效果。

由于专业建设的核心内容是课程建设,课堂教学质量的提升是关键问题,现有Python课程存在的这些问题,导致理论与实践脱节,使得课堂教学的质量不高。因此,亟须构建一个支持远程在线调试的Python课程,加强学生实践联系,促进师生积极交流,从而保障课程教学质量的提升。

综上所述,为进一步增强Python课程的实践应用性,更好地培养学生的数据分析与编程技能,Python课程的实践教学改革也是不可避免的趋势。

3 支持远程调试的Python教学方式改革

3.1 软件平台搭建

3.1.1 编译软件Jupyter Notebook

对于刚接触“Python语言”的学生来说,比较受欢迎的软件有:Anaconda3、IPython、Jupyter Notebook和Pycharm等。其中,Jupyter Notebook是一个交互式笔记本,支持运行40多种编程语言,其本质是一个Web应用程序,便于创建和共享文学化程序文档,支持实时代码、数学方程、可视化,用途包括:数据清理和转换,数值模拟,统计建模,机器学习,等等。Jupyter Notebook就像一个草稿本,能将文本注释、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,以Web页面的方式展示,是数据分析、机器学习的必备工具。结合本专业学生开设Python课程的目的,课程组选取Jupyter Notebook作为编译代码的软件。

3.1.2 远程调试软件Termux和Aid Learning

为了满足离开实验室后学生在课下复习及完成作业的需求,可以通过在移动终端安装Termux和Aid Learning软件,并配备Jupyter,实现远程代码调试。

Termux是Android平台上的一个终端模拟器,它将众多Linux上运行的软件和工具近乎完美地移植到了手机端。无须任何复杂的安装和配置过程,软件装好以后即会自动配置一个基本的运行环境,用以执行一些常见的Linux命令。

Termux下可以进行Python环境搭建以及Jupyter开发环境搭建。从而我们可以在手机上使用Jupyter Notebook运行Python代码,解决大一学生没有电脑无法进行代码调试的问题。

Python代码可移植性强,PC平台开发的代码可以直接在手机端运行和调试,为学生自主进行数学实验提供了便利的环境。安卓平台可以运行PPython的APP有QPython、Temux和Pydroid3[3]。

Aid Learning在Android手机上构建了一个带图形界面的Linux系统(不需要Root),和Android系统共生共存,并内置了目前排名top7的深度学习框架包括Caffe、Tensorflow、Mxnet、Pytorch、Keras、Ncnn、Opencv。AidLearning同时是一款口袋AI编程工具,内置的AiCode可视化编程器,可以在手机上用Python(同时支持Python2和Python3)轻松零基础编程,支持触摸拖拽式界面设计,支持代码实时调试和图形化运行。

3.1.3 共享代码平台GitHub

GitHub可以共享代码(托管代码),它也是一个开源平台,可以用来下载很多知名开源项目的源代码,在修改项目的时候,可以创建一个分支,在修改完成后将它合并到主分支,进行版本管理。利用GitHub收集学生作业,免去花时间和学生沟通作业问题,也便于期末平时成绩汇总。同时,学生接触GitHub后可从上面下载其他优秀Python项目以供进一步学习。

GitHub是一个代码托管云服务网站,帮助开发者存储和管理其项目源代码,且能够追踪、记录并控制用户对其代码的修改。它会自动记录代码的修改,在必要的时候,能够快速回退到之前的版本。

GitHub是世界顶级开发者的聚集地,在这里几乎可以找到任何想要的东西。在遵守其License的前提下,可以免费使用、下载许多优秀、著名的开源项目。GitHub上有很多优秀开源项目和教程资源去学习。

3.1.4 线上资源课程资源开发

随着互联网的普及以及网络技术的提升,在这两三年来,国内的在线教育获得大量资本注入,国内各大高等院校也开始积极研发、制作在线课程。线上免费教学资源主要包括MOOC、网页公开课、腾讯课堂、学习通、雨课堂、B站等,这些平台可以帮助学生进行自主学习。

越来越多的学校或教育机构采用线上教育的方式,这种方式虽然打破了地域上的限制,但是也有一定的弊端。如缺乏互动性、缺乏实践、缺乏有效的管理。在教学过程中可以将线上线下教育结合起来,从而使学生更容易接受知识。

3.2 移动终端上Python调试环境搭建

3.2.1 利用Termux搭建Python运行环境

安卓手机上利用超级终端Termux安装Python运行环境,这样可以应付没有电脑的情况,可以随时练习Python基础,Termux是一个Android的高级终端模拟器,安装后可以在Android手机上搭建一个完整的Linux环境,开源且支持Apt管理软件包,十分方便安装各类软件,完美支持Python、PHP、Ruby、Go、Nodejs、MySQL等等。

Termux有官方的软件源,网速不快,国内用户下载安装Termux后可以修改配置使用清华软件源,安装更新各类软件速度很快[2],上面的软件基本与Linux软件源保持同步,安装后效果如图1所示。

图1 Termux安装界面

依次安装Jupyter、Numpy、Pandas、Matplotlib等包。输入Jupyter Notebook并复制运行结果下的网址,打开浏览器得到Python代码编写页面,如图2所示。

图2 浏览器中Python代码编辑页面

学生可在此页面内调试测试教材及课上演示代码,也可将完成作业提交到Github上,如图3所示。

图3 移动终端代码运行效果图

3.2.2 利用Aid Learning搭建Python运行环境

移动终端搭建Python运行环境也可使用工具软件Aid Learning。相比Termux而言,借助Aid Learning安装Jupyter过程更加简便。在Aid Learning中打开应用中心,搜索Jupyter,点安装即可完成插件安装,如图4所示。

图4 在Aid Learning中安装Jupyter

安装后的效果如图5所示。

图5 移动终端上安装Jupyter

点击Jupyter图标,代码编辑运行页面与图2、图3所示方式相同。

3.3 作业发布、收集及资源共享

课下可通过GitHub和学生之间进行沟通交流,解决学生课上不懂的问题,同时发布课上资料、课后作业,学生通过GitHub下载完成后上传,如图6所示。

图6 学生在Github上传作业文件夹

同时GitHub上可以接触到最新的、最前沿的IT技术。任何软件或者产品在上线发布之前,都有开发的过程和测试的过程,GitHub上可以接触到这些产品的初始状态、中间状态和发布状态,可以第一时间了解到产品的动向。而且根据GitHub上每年发布的统计数据,可以知道哪些技术是最火热的技术,及时跟上这些技术,这对Python课程的学习有很大帮助。

在线下课程的基础上,借助线上课程资源,引导学生课下学习。为了引导学生进行线上学习,对学生学习效果评价方式的选取直观重要。结合Python程序设计课程轻理论重应用的特点,关于该课程的考核,可选择多元化过程考核方法[3]。

阶段性测试则利用线上考试专用题库组卷,且要求学生线下统一时间和地点在老师监督下完成,最大限度保证测试的公平性、有效性[4]。

期末成绩需包含线上课程学习,例如,可采取课程学习结构截图后予以平时成绩加分的形式。为了保证公平性随机试卷中所涉及的知识点、分值以及题型均保持一致,力争通过多元化考核方法实现科学评价[5]。

结语

“Python语言”的学习重在实践,学生需要有大量的案例实践才能尽快上手。手机端运行Python代码可解决一部分学生没有电脑无法运行代码的问题,可随时随地测试代码。GitHub提供教师与学生交流学习的平台,让学生能更好地接受这门课。线上资源的利用突破了教学的时空限制,提高了学生的自主学习能力,提升了教学质量。这种教学模式整合了优质的教学资源,达到资源共享,给学生提供了更好的学习平台[5]。

猜你喜欢
Python语言代码调试
创世代码
创世代码
创世代码
创世代码
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
基于Python语言和支持向量机的字符验证码识别
论Python程序设计语言
基于Python语言的面向对象课程实践教学探讨
无线通信中频线路窄带临界调试法及其应用