Jupyter Notebook平台在Python教学中的应用
2022-06-07马伟良
马伟良
(闽西职业技术学院,福建 龙岩 364000)
1 研究背景
随着计算机和互联网技术的迅速发展,建立在其基础上的物联网技术、大数据技术、云计算技术等新的信息技术正在不断的涌现,相应地对相关软件技术提出了更高的需求,我国大部分高校的理工类专业中开设了计算机语言编程课程,有助于增强现代化信息技能。现阶段,我国高校中多个专业都开设了Python程序设计相关课程,具体包括信息与技术、软件、物联网、工程等,以此来满足社会对专业人才的需求,同时为了毕业生顺利就业。
笔者根据自身的教学经验,充分运用各种教学模式,以此提高程序设计过程中学生分析解决问题的综合能力,增强自身综合实力,有助于学校培养应用型人才的目标,满足社会对人才提出的多元化需求。
2 传统的Python教学中存在的问题
在高校办学规模不断扩大的今天,计算机实验设备的数量也不断增加。如用传统的机房管理方式,需要在每台教师机和学生机上都安装一次编程语言的内核和集成开发环境,工作量非常大,就算是能用还原卡的局域网广播安装的方式,也需花费大量时间。此外,教师在教学过程中布置作业任务,学生做完后上交也需要通过文件传输或是电子邮件传输等方式,传输完成后,教师又要逐个地将其复制到安装了运行环境的计算机上才能编译批改。使用传统的机房管理软件和模式进行程序设计教学的就显得比较低效,这时就需要一种新的平台和教学模式。
3 Jupyter Notebook平台
用户所采用的Jupyter Notebook编程工具,其在Web应用平台基础上,可更为方便地部署并进行应用和分享。利用该工具用户能够在网页中对代码进行编写和运行,最终的运行结果可在下方直接显示出来。页面文档主要对Cell形式组织加以采用,能够对图文混排效果、代码及其运行结果进行显示,能够结合代码对文字说明进行组织;它支持十几种语言,包括魔法命令、Python等,并能满足信息技术程序设计需要用到的功能。
Jupyter Notebook作为利用浏览器远程访问方式进行编程的一种交互式应用平台,它支持 Python、R、Julia、C等40多种编程语言,用户可以通过网页访问Jupyter Notebook平台,创建和共享支持实时代码和数学公式的程序文档,在网页中对代码进行编写和运行,并将运行结果直接展示在网页中。页面文档主要对Cell形式组织加以采用,能够对图文混排效果、代码及其运行结果进行显示,能够结合代码对文字说明进行组织[1]。以Jupyter Notebook为平台进行教学具有以下几个优点:
(1)教师可以在线上编辑,直接通过平台发布任务和查看学生的作业完成情况。学生能在第一时间接收到信息,了解自己要完成的作业,在不打开第三方软件的情况下,直接通过浏览器在平台上完成编程和执行,方便快捷。
(2)Jupyter Notebook平台还能清晰地显示当前需要处理的程序,用目录的形式呈现出来,程序的文档还能以HTML、PDF、TXT等多种格式进行导出。
(3)Jupyter Notebook平台可进行多空间隔离,可以修改文件,并创建出多个不同的工作空间,有助于学生实现分组隔离,防止学生之间相互影响。
Jupyter Notebook作为典型Web架构的一个应用,客户端主要负责提供运行、存储以及输出代码等功能,并借助markdown 语法加以标记,根据JSON 格式向服务器端发送和存储;服务器端主要负责提供调用编译内核以及代码存取等功能。[2]
图1 Jupyter Notebook架构示意图
4 Python程序设计语言
Python作为面向对象、动态化、解释型数据类型的一种高级程序设计语言,是在1989年由 Guido van Rossum 发明的,其具有清晰且简洁的语法,并且类库也非常强大和丰富[3]。因为Python语言具有可扩展、简洁以及易读等优势,在其发展的二十几年后,逐渐成为非常重要的一门程序设计语言,在国内外一些知名大学已经采用Python程序设计课程。Python语言在开展程序设计教学时的特点如下:
(1)Python的语法简单易于上手,在Python语言中并没有指针、地址等关于计算机系统结构的内容,而且代码简洁,不需要通过函数封装,不管是阅读还是编写都非常的清晰易懂。
(2)用Python语言编写的程序无须进行编译就可以直接运行,这使它的移植性更强,运行效率和扩展性也更高。
(3)Python能在多个平台上运行,包括Linux和Windows系统,在Python.org的官方网站上能够下载支持不同操作系统的多个发行版本的安装包,且安装简单稳定。支持Python的集成开发环境也很多,除了其专用的PyCharm,在Eclipse + PyDev、PyCharm、Visual Studio中均能很好地支持Python语言的开发。
(4)Python有功能强大的标准库和丰富的第三方扩展库,标准库可以实现如管理系统进程、访问互联网处理通信协议、大数据处理和机器学习等功能。而丰富的第三方扩展库(具体包括Matplotlib、Num Py等常用的扩展库,分别对绘图功能、快速数组处理等各种功能进行提供;计算机视觉库 Open CV、三维可视化库 VTK、医学图像处理库 ITK等各种行业的扩展库。)正是由于丰富的库资源,有助于各个行业的开发者对所在行业需要的工具包进行探索。
5 Jupyter Notebook安装配置
由于Jupyter Notebook支持多个操作系统,本文安装的操作系统为Windows 10专业版。在安装Jupyter Notebook之前需要先安装Python,Python的版本为2.0以即可。在Python安装完成之后,打开命令提示符窗口,根据Python版本输入安装命令pip install jupyter,这时系统会自动进行安装。
图2 Jupyter Notebook安装命令
图3 Jupyter Notebook安装过程
安装完成后我们在命令提示符窗口输入Jupyter Notebook,这时默认浏览器会打开 Jupyter Notebook窗口,说明 Jupyter Notebook 安装成功了。
除了Windows平台,Jupyter Notebook还可以在Linux、MacOS等平台上运行,其安装均可采用此命令行的模式进行。
6 Python+Jupyter Notebook平台的使用
Jupyter Notebook安装配置成功后,就可以让学生用浏览器进行远程访问。当输入正确的IP地址+端口号后,就可以以网页的形式在浏览器上直接启动Jupyter Notebook,这时可在页面中直接编写程序代码和运行程序。
当学生在浏览器上启动Jupyter Notebook后,可直接单击new按钮选择Python3,建立一个新的Python文档。如图4所示。Notebook文档由一系列单元构成,分为代码单元和Markdown单元。对于代码单元,用户进行代码编写,单击运行按钮,其结果就会显示在本单元下方[4]。
图4 Jupyter Notebook上运行Python程序
图5 Jupyter Notebook下建立Python文档
用户可以在Jupyter Notebook中单击new按钮选择folder建立目录,在选择自建目录后单击Rename按钮修改名称,这样就可以在自己的目录下进行操作了,当学生在代码单元编写完程序后,就可以将文件直接存放在自己的目录下,便于教师端的检查和批改。
7 结束语
Jupyter Notebook作为集合了开发、文档编写、运行代码和展示结果于一体的交互式编程工具,能够很方便地应用到编程教学中。而Python作为当下最热门的编程语言,又是Jupyter Notebook平台所直接支持的程序设计语言之一,两者相结合后非常适合高校进行教学。本文演示了如何在Jupyter Notebook平台上进行Python语言教学的过程,可以看出,使用该方式既能快捷地在计算机机房的系统中安装软件平台,又能方便教师的教学和学生的学习,非常适合当下高校教学改革和人才培养的需要,建议在高校的程序设计课程上使用该平台。■