收藏 分销(赏)

基于JupyterHub的课程实践教学平台设计与应用——以地理信息科学专业为例.pdf

上传人:自信****多点 文档编号:633155 上传时间:2024-01-19 格式:PDF 页数:5 大小:1.93MB
下载 相关 举报
基于JupyterHub的课程实践教学平台设计与应用——以地理信息科学专业为例.pdf_第1页
第1页 / 共5页
基于JupyterHub的课程实践教学平台设计与应用——以地理信息科学专业为例.pdf_第2页
第2页 / 共5页
基于JupyterHub的课程实践教学平台设计与应用——以地理信息科学专业为例.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、SOFTWARE软 件2023第 44 卷 第 7 期2023 年Vol.44,No.7基金项目:教育部产学合作协同育人项目(220600135021543);辽宁省教育厅科学研究资助项目(LJKZ0972);辽宁师范大学研究生教育教学改革研究资助项目(YSJJG202208);辽宁师范大学本科教学改革研究资助项目(LS202012)作者简介:朱健锋(1988),男,辽宁大连人,博士,讲师,研究方向:GIS 建模与集成。通讯作者:王方雄(1973),男,湖北汉川人,博士,副教授,研究方向:GIS 建模与集成、地理大数据分析。基于 JupyterHub 的课程实践教学平台设计与应用以地理信息科学

2、专业为例朱健锋1,2 李嘉慧1,2 王方雄1,2(1.辽宁师范大学地理科学学院,辽宁大连 116029;2.辽宁省自然地理与空间信息科学重点实验室,辽宁大连 116029)摘要:列举了当前地理信息科学专业培养面临的挑战和实践教学平台应用中存在的问题,提出基于 JupyterHub 搭建地理信息科学专业开发类课程实践教学平台的解决方案。介绍了平台的配置、运行环境和安装方法,并根据专业特点设计了平台的功能模块和课程内容模块。分析了平台与地理信息科学专业开发类课程实践教学的融合路径,展示了部分课程在平台上的实践教学案例,验证了平台在课程实践教学中的可行性和先进性,以提高学生的实践能力,为相关专业开展

3、实践教学提供借鉴和参考。关键词:JupyterHub;实践教学;教学平台;地理信息科学中图分类号:G633.67;P208 文献标识码:A DOI:10.3969/j.issn.1003-6970.2023.07.013本文著录格式:朱健锋,李嘉慧,王方雄.基于JupyterHub的课程实践教学平台设计与应用以地理信息科学专业为例J.软件,2023,44(07):052-056Design and Application of Practical Teaching Platform Based on JupyterHub:A Case Study of Geographic Informati

4、on ScienceZHU Jianfeng1,2,LI Jiahui1,2,WANG Fangxiong1,2(1.Liaoning Normal University,School of Geography,Dalian Liaoning 116029;2.Liaoning Key Lab of Physical Geography and Geomatics,Dalian Liaoning 116029)【Abstract】:List the current challenges facing the cultivation of talents in Geographic inform

5、ation Science and the problems existing in the application of practical teaching platform.Propose a solution to build a practical teaching platform based on JupyterHub for programming courses in Geographic information science.Introduce the platform configuration,running environment and installation

6、method.According to the professional characteristics,design the functional modules and course content modules of the platform.Analyze the integration way of the platform with the practical teaching of programming courses of Geographic information science.Through the teaching examples of some courses

7、,confirmation that the platform is advanced and feasible to improve students practical skills in teaching.Therefore the platform will provide reference for related majors to carry out practical teaching.【Key words】:JupyterHub;teaching practice;teaching platform;Geographic information science基金项目论文0

8、引言地理信息科学是一门综合性的交叉学科,介于地理、计算机、测绘等专业1,阐述地理学与航天、生态等领域关系的问题2。20 世纪 80 年代以来,我国地理信息科学专业发展迅速,2012 年正式以“地理信息科学”作为专业名称列入教育部制订的普通高等学校本科专业目录。现阶段我国开设地理信息科学专业的高等院校约有 190 余所,招生规模庞大,已经形成了完整的教育体系3。近年来,地理信息科学专业与人工智能、智慧城市、云计算及大数据等联系紧密4,计算机科学和数据科学在专业发展中变得越来越重要。新形势下地理信息53朱健锋 李嘉慧 王方雄:基于 JupyterHub 的课程实践教学平台设计与应用以地理信息科学专

9、业为例科学专业培养也面临着新的挑战:必须拥抱新技术,增强学生的专业素养5;同时,不能仅仅满足于理论知识的教学,更需要重视学生创新实践能力的培养6。尽管在现有培养方案中已经为开发类课程设置了实践环节,但是由于教学方式和实践方式较为传统,很多技术的前置准备过程较为复杂,导致学生只注重课本知识的学习,缺乏对创新实践的兴趣和动力。为解决这个问题,需要利用新兴技术搭建适用于地理信息科学专业的课程实践教学平台。目前国内外已有研究利用 Polynote、Apache Zeppelin 等平台来理解甚至深化课程内容并练习和实践7。其中,利用JupyterHub 技术搭建平台在时空大数据的处理和可视化方面表现出

10、明显的优势,并且已经在计算机科学和人工智能等领域的教学和科研中广泛应用。例如,Zhao P8等人探索了 JupyterHub 可以为编程相关课程提供便利;DePratti R9在大数据编程课程中使用了 Jupyter Notebook,发现是一种有效的方式,并且可以提供编程训练;Brown J10等人在计算物理学、线性代数和Python 数据分析等课程中使用了 JupyterHub,证明了其使用的便捷性;蒋佳龙11等人探究了在人工智能课程上使用 JupyterHub,证实了平台简单便捷;薛煜阳12等人研究了在 Python 教学中的应用,说明了其在使用的简洁以及高效。本文基于 JupyterH

11、ub 搭建了课程实践教学平台,并围绕地理信息科学专业开发类课程的特点设计了平台功能和内容模块。为新时代条件下地理信息科学专业课程实践教学的探索提供借鉴和参考。1 平台搭建1.1 运行环境在实验室已有服务器上搭建基于 JupyterHub 的地理信息科学专业课程实践教学平台。其中,CPU 为 Intel(R)Xeon(R)CPU E5-2650 v2,8核心16线程,主频2.6 GHz,睿频 3.4 GHz;内存 32GB;硬盘包括 128GB 固态硬盘和 16TB 机械硬盘;服务器已安装 Ubuntu 20.04 操作系统;网络环境为校园网。目前可基本满足地理信息科学专业本科生的日常教学使用需

12、求。1.2 JupyterHub 安装JupyterHub源于Jupyter项目,是用Python和Node.js编写的支持多用户服务的 Web 应用程序。它能够为团队成员搭建一个公共环境,以提供硬件、软件、算力、甚至数据等共享资源。JupyterHub 以云计算的方式提供了 Notebook 和 Lab 的集成服务。Notebook 是最早进行网页端编程所使用的应用程序,客户端只需浏览器即可使用;Lab 界面更灵活,交互更方便。JupyterHub 的主要安装过程如图 1 所示。首先安装 Python、Node.js 等软件环境,之后依次分别安装JupyterHub、Notebook 和 J

13、upyterLab。另外,在安装 JupyterHub 的过程中使用 Conda 包管理工具能够提高安装效率。#在ubuntu中安装nodejs和npmsudo apt-get install nodejs npm#安装configurable-http-proxy用于部署jupyterhubnpm install-g configurable-http-proxy#安装jupyterhubconda install-c conda-forge jupyterhub#安装jupyterlab和notebookconda install jupyterlab notebook 图 1 Jupyt

14、erHub 安装主要命令 Fig.1 JupyterHub installation main commands1.3 平台配置JupyterHub 安装后可以使用一些基本功能,为了进一步满足地理信息科学专业课程需求,需要进行配置。首先是配置 Python 内核,安装教学中需要使用的包,如科学计算需要的 NumPy、Pandas、Matplotlib;开源 GIS 包 GDAL、GeoPandas;机器学习 PyTorch 等。其次是配置 JupyterHub 插件,如代码版本控制 Git 插件、代码提示和自动补全 Lsp 插件、插代码自动格式化Formatter 插件和交互式地图 Leafl

15、et 插件等。2 平台的管理功能设计JupyterHub 平台提供三个功能模块:用户管理模块、代码管理模块和文件管理模块(如图 2 所示)。基于JupyterHub的实践教学平台用户注册用户登录后台管理用户管理模块文件管理模块代码管理模块权限管理文件浏览创建文件上传下载文件删除文件代码编辑代码调试版本控制代码运行代码浏览内核管理图 2 功能模块设计Fig.2 Functional module design 2.1 用户管理功能学生和教师通过在浏览器中输入指定网址进入到JupyterHub 平台。使用平台前需要注册,注册信息经过管理员审核后方可登录。通常新生信息由管理员提前导入,新用户使用学号

16、注册即可免审核登录。管理员可通过后台系统设置其他账户的权限。新用户登录JupyterHub 平台后会在系统创建独立运行 JupyterLab54软 件第 44 卷 第 7 期SOFTWARE的服务器,用户可以随时开启或停止服务器。对于长期未使用的账号,管理员也可以强制停止其个人服务器以释放系统资源。2.2 文件管理功能新用户首次登录平台后会在系统 Home 目录下创建用户同名目录,作为用户在平台中的根目录。用户在平台中通过文件浏览器浏览、创建和删除文件。可创建的文件类型包括 Notebook 文件、Python 文件、Markdown 文件、文本文件等。此外,用户可以利用浏览器进行文件的上传或

17、下载。2.3 代码管理功能代码管理是平台的核心功能。目前平台主要支持在Notebook 中编写 Python 代码。用户可以在平台上浏览和学习课程中提供的示例代码,也可以创建新的代码文件,自己编写、调试和运行代码。此外,用户可以通过Git 插件同步代码或者进行版本管理,例如将自己编写的代码同步上传至 GitHub 或者 Gitee 等代码托管平台。3 平台的课程模块设计结合地理信息科学专业培养的特点和需求,目前为平台设计了 4 个内容模块,即平台介绍、课程学习、数据共享和资源共享(如图 3 所示),通过这 4 个模块的设计,充实了 Jupyterhub 平台的内容。基于JupyterHub的实

18、践教学平台使用方法学习路径资源汇总Linux基础Python基础GIS数据分析机器学习基础基础地理数据社会经济数据天气气象数据土地利用数据视频资源PPT资源文档资源平台介绍模块课程学习模块数据共享模块资源共享模块图 3 JupyterHub 平台内容模块设计Fig.3 JupyterHub platform content module design 3.1 实践平台介绍模块主要包括平台的使用方法介绍、地理信息科学专业学习路径和相关资源汇总。其中平台使用方法能够帮助学生了解该平台的相关设置;通过学习路径模块,学生可以充分了解现有平台所包括的课程内容,方便其进行课前的预习工作;资源汇总模块为学生

19、集中展示了专业相关的数据和技术栈。通过实践平台的介绍模块,学生能够尽快了解专业的要求。3.2 课程学习模块结合目前地理信息科学专业培养方案和课程设置,将一些 GIS 开发类课程,如 Python 程序设计、遥感图像处理、时空大数据分析等,以 Notebook 的形式导入到平台中。学生进入到平台即浏览到这些课程的内容并且能够调试、运行代码,帮助学生快速上手。3.3 地理数据共享模块将教学与科研中积累的一些数据,如 DEM、遥感影像、土地利用、气象、人口、POI 等,集成到平台中,可以直接使用代码实现数据读取、处理、展示等数据流,方便学生及时学习和使用。3.4 课程资源共享模块在平台中与学生共享学

20、习资源,如 PPT、文档、视频等,旨在为学生提供技术层面的支持,拓宽其在本专业领域的知识。4 平台在实践教学中的应用4.1 平台与实践教学的融合路径4.1.1 与培养方案融合根据辽宁师范大学新版本科人才培养方案,地理信息科学专业的培养目标要求学生“掌握地理信息科学的基础理论和地理信息系统、遥感信息处理、卫星导航定位、时空大数据分析等基本技术,掌握地理信息系统软件的设计、开发与应用等专业技能”。其中的核心素养之一是能够利用计算机、人工智能等现代信息技术进行地理数据的分析和可视化表达。如表 1 所示展示了教学实验平台与现有的培养目标、课程的融合情况,分为三个阶段。第一阶段:开发类基础课程的学习,在

21、这一阶段,教师通过平台讲解理论知识并展示代码,学生通过课堂及课后的练习巩固基础知识;第二阶段,地理信息基础能力的训练,在这一阶段,学生将结合专业知识,通过案例学习地理数据采集、处理和分析的基本方法;第三阶段,地理学综合能力的培养,在这一阶段,学生将结合具体的问题,利用平台中的资源独立设计并完成实验。表 1 地理信息科学专业培养方案与平台结合Tab.1 Combination of training program and platform of geographic information science specialty培养目标课程载体平台应用掌握一定的计算机技术,能够熟练使用一门编程语言

22、大学计算机基础面向对象程序设计数据库原理与技术数据结构展示案例代码、讲解理论知识,课堂和课后练习能够将计算机技术与地理信息结合,完成数据的采集、处理和分析遥感数字图像处理空间数据采集与处理GIS 应用开发空间数据库通过实际案例讲解、展示,进行专题训练具有综合运用各项技能进行地理大数据分析的能力时空大数据分析遥感地学分析 提出问题,分组讨论,通过平台展示结果554.1.2 与教学过程融合基于 JupyterHub 的教学实验平台以提高学生的应用实践能力为中心,注重培养学生的专业思维。因此,在与教学过程的融合中也尤其注重与教学各环节的衔接如图 4所示。教师课前使用平台备课并将课程内容以 Noteb

23、ook的形式导入平台;教学过程中教师在平台上同步讲解理论知识和演示代码,并引导学生进行上机实践;课后学生使用平台将课程文件复制到自己的根目录下,重现上课演示的代码并根据复习情况标记重点内容,完成教师布置的作业,最后由教师结合作业管理系统实现对作业的批改和考评。课后学生预习学生端教师端基于JupyterHub的实践教学平台教师备课课堂课前教师布置作业完成作业提交作业代码编写提交成功重新提交教师收取作业考核评价录制视频PostgreSQL文件存在文件不存在作业文件上传是否成功作业管理系统学生端作业提交系统理论知识讲解教师演示代码学生实践图 4 平台与教学过程融合图Fig.4 Integration

24、 of platform and teaching process4.2 实践教学应用实例基于 JupyterHub 的课程实践教学平台目前已经结合新的培养方案在教学中使用。下面选取表 1 中的三门典型课程展示平台在实践教学中的应用。4.2.1面向对象程序设计面向对象程序设计课程以 Python 语言作为主要讲授的编程语言。Python 具有语法简单、类库数量众多等特点,是一个易于学习的面向对象的编程语言。由于其简单易学的特点非常适合初学者学习和理解,因此国内外很多高校将其作为入门编程语言。在大数据时代下,Python 已经逐渐成为数据分析最常用的编程语言,在 GIS 中也有广泛应用。因此,面

25、向对象程序设计课程的开设将有利于在人工智能时代下地理信息科学专业的发展。教师通过使用平台中的课程资源为学生讲解理论知识,同时在该平台演示代码,将理论与实践动态地结合到一起。以函数的定义为例,JupyterHub 平台可以实现文字、图片与代码相结合,在代码单元格下方,可以直接展示运行的结果,使学生在学习理论知识后,可以直观地感受到代码的运行结果,如图 5 所示。4.2.2遥感数字图像处理随着 GIS 的发展,遥感专业课程的核心组成部分遥感数字图像处理也被纳入地理信息科学专业的必修课程当中。该课程需要学生掌握一定的图像处理方面的基本理论和方法,为后续的遥感图像处理打下基础。之前的遥感数字图像处理课

26、程也含有相应的上机实践内容,但大部分是使用 Envi 等遥感图像处理软件进行操作。基于教学实验平台,教师讲解基础知识后使用 Python 代码演示图像处理结果。以图像分割为例,如图 6 所示为使用不同阈值分割图像的结果,代码部分和图像分割的结果清晰地展现在平台上,使学生能够加深对课程内容的理解。image=image*255def simple_threshold(img,threshold=128):return(img threshold)*255).astype(uint8)thresholds=50,100,150,200,250fig,axs=plt.subplots(nrows=1

27、,ncols=len(thresholds),figsize=(20,5)rgb_weights=0.2989,0.5870,0.1140gray_im=np.dot(image.,:3,rgb_weights)for t,ax in zip(thresholds,axs):ax.imshow(simple_threshold(gray_im,t),cmap=Greys)ax.set_title(Threshold:.format(t),fontsize=20)ax.set_axis_off()plt.show()Threshold:100Threshold:50Threshold:150 T

28、hreshold:200 Threshold:250图 6 遥感数字图像处理课程实践教学实例Fig.6 Practical teaching example of Remote Sensing Digital Image Processing course 4.2.3时空大数据分析在人工智能、大数据时代下,数据分析和挖掘变得更加重要,对 GIS 的影响也十分深远。时空大数据分析课程要求学生能够利用一些统计、数据挖掘和机器学习的基本思想和方法结合 ArcPy、GDAL 等软件包对图 5 面向对象程序设计课程实践教学实例Fig.5 Practical teaching example of Obj

29、ect Oriented Programming course朱健锋 李嘉慧 王方雄:基于 JupyterHub 的课程实践教学平台设计与应用以地理信息科学专业为例#exampLe6_1.py#coding=utf-8def sayHello():#函数定义 print(Hello world!)#函数体这里定义了一个名为sayHello的函数,这个函数每调用一次只能打印出一行Hello World!,并且不使用任何参数。函数体print(Hello World!)def sayHello():函数名无形参,但括号不能省略56软 件第 44 卷 第 7 期SOFTWARE地理数据进行分析和处理

30、。以出租车大数据分析为例,思考如何通过出租车运行记录获取城市出行的时空分布规律,引导学生从数据的角度思考如何获取、识别有效数据,并利用统计学知识进行分析,最终将分析结果可视化(如图 7 所示)。5 结语本文基于 JupyterHub 搭建了适用于地理信息科学专业的课程实践教学平台,介绍了平台的功能和内容,探索了平台与课程实践教学的融合方式,为其在教学中的使用奠定了基础。一方面,该平台与地理信息科学专业契合度高,有利于实现“教学-演示-学习-复习”的一体化,提高学生的实践能力;使用方便、自由度高,有利于降低学习门槛,培养学习兴趣;同时集成了数据和资源,有利于学生由“学”向“研”迁移。另一方面,由

31、于在 JupyterHub 中已经配置好相关开发环境,且目前主要应用于科研和教学,因此与真正的软件开发环境存在一定的差别,需要通过其他专业课程补充。基于 JupyterHub 平台开展课程实践教学将成为地理信息科学专业乃至其他相关专业的发展趋势,本文的探索和实践能够为相关教学和科研工作的开展提供参考和借鉴。参考文献1 杜清运,王涛,任福.试论地理信息科学的基础学科范式J.武汉大学学报(信息科学版),2022,47(12):2003-2006+2037.2 马蔼乃,邬伦,陈秀万,等.论地理信息科学的发展J.地理学与国土研究,2002(1):1-5.3 汤国安,董有福,唐婉容,等.我国GIS专业高

32、等教育现状调查与分析J.中国大学教学,2013(06):26-31.4 李新,袁林旺,裴韬,等.信息地理学学科体系与发展战略要点J.地理学报,2021,76(9):2094-2103.5 亢孟军,翁敏,万幼.GIS专业学生地理素养的培养模式J.测绘工程,2016,25(7):78-80.6 吴红波,张瑞君.面向地理科学专业的地理信息技术实践教学体系的改革与实践J.测绘工程,2019,28(6):75-80.7 CHENG Y,LIU F C,JING S,et al.Building Big data Processing and Visualization Pipeline Through

33、Apache ZeppelinM/Proceedings of the Practice and Experience on Advanced Research Computing,2018:1-7.8 ZHAO P,XIA J.Use JupyterHub to Enhance the Teaching and Learning Efficiency of Programming Related CoursesJ.2019:1-6.9 DEPRATTI R.Using Jupyter Notebooks in a Big Data Programming CourseJ.Journal of

34、 Computing Sciences in Colleges,2019,34(6):157-159.10 BROWN J.Using Jupyterhub in the Classroom:Setup and Lessons LearnedJ.International Journal of Software Engineering&Applications,2018,9(2):01-08.11 蒋佳龙,林木辉.Jupyter在人工智能课程实验平台的应用实践J.实验室科学,2022,25(3):75-79.12 薛煜阳.Jupyter Notebook在Python教学中的应用探索J.信息技

35、术与信息化,2018(7):168-169.图 7 时空大数据分析课程实践教学实例Fig.7 Practical teaching example of Spatiotemporal Big Data Analysis course5 滕云豪.基于边缘计算的室内空气质量监测技术研究D.上海:上海第二工业大学,2022.6 廖建尚.基于物联网的温室大棚环境监控系统设计方法J.农业工程学报,2016,32(11):233-243.7 孙璐.郑淏.基于物联网的农业温室大棚监控系统设计J.南方农业,2021,15(14):218-219.8 刘青,李兰兰,张德树,等.基于物联网技术的智慧农业大棚监测系

36、统研究J.安徽科技学院学报,2021,35(4):19-25.9 王延之.基于边缘计算的设备智能监测系统设计与实现D.武汉:华中科技大学,2021.上接第20页bounds=113.7,22.42,114.3,22.8#-plot-fig=plt.figure(1,(10,10),dpi=60)ax=plt.subplot(111)plt.sca(ax)fig.tight_layout(rect=(0.05,0.1,1,0.9))#调整整体空白cmap=mpl.colors.LinearSegmentedColormap.from_list(cmap,#9DCC42,“#FFFEO3,“#F7941D,#E9420E,#FF0000,256)#绘制热力图plt.contourf(x,y,z,levels=levels,cmap=cmap,origin=lower)plt.axis(off)plt.xlim(bounds0,bounds2)plt.ylim(bounds1,bounds3)#coLorbarplt.imshow(np.exp(levels),cmap=cmap)cax=plt.axes(0.13,0.32,0.02,0.3)plt.colorbar(cax=cax)plt.show()11:50004000300020001000

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服