岳增龙 王雪
(北京电子科技职业学院)
随着数据分析和开放科学的发展,Jupyter平台的出现充分体现了一种交互式编程的范式,主要通过基于网页的用于交互计算的应用程序,贯穿开发全过程:开发、文档编写、运行代码和展示结果。其实质可以理解为一个在线可交互式笔记本,允许用户创建和共享包含代码、方程式、可视化、融合音频、文本等富媒体信息。结合线上、线下教学模式的不断创新与发展,充分发挥该平台易于交互展示的优点,利用该平台通过合理的教学设计,充分结合学情,可以提供完整“教、练、答、评、赛”五步闭环的交互式教学过程,确保线上线下教学同质等效。
Jupyternotebook可以包含来自各种语言的实时代码,以及可视化、解释性文本HTML 或Markdown、格式化的文本、图像、以及用 LaTeX编写的公式,主要特点包括:
(1)编程时具有语法高亮、缩进、tab补全的功能。
(2)可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
(3)以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG 等。
(4)对代码编写说明文档或语句时,支持Markdown语法。
(5)支持使用LaTeX编写数学性说明。
其架构示意图1所示,JupyterNotebook用户用浏览器以网页的形式打开相应资源,并在本地修改和编辑文件、运行代码,代码的运行结果也能够直接输出显示。
图1 JupterNotebook架构示意图
用Jupyter Notebook进行教学的主要优势如下:
(1)各功能集于一体,适合仿真、实验数据分析,富媒体形式直展示。
(2)可以实现交互式展现。页面结构是以Cell(单元)形式组织的,其中每个独立单元,都可实现各种元素单独或者混排格式。在集成第三方插件的支持下,能够呈现一些互动可视化内容,如信号处理变化的动态过程等。
教学交互层次塔理论如图2所示将远程学习交互模型按照“操作交互—信息交互—概念交互”从下到上表示教学交互由低级到高级、由具体到抽象的一个过程,交互式教学方法框架。
图2 教学交互层次塔
操作交互是学习者与媒体界面的交互,体现的是学习者使用学习媒体的熟练程度。在课程中,充分利用JupyterNotebook来实现网页操作为主的交互式学习。
信息交互是学生与教学要素的交互,体现的是教学设计和教学实施水平,其包括学生与学习资源之间的交互、师生之间交互,以及学生与学生之间关于信息的交互。
概念交互是学习者的概念与新概念的交互。概念交互是所有其它教学交互的根本目的,信息交互是实现概念交互的策略与过程。
总体来说,通过结合Jupyter Notebook完成整个交互式教学过程如图3所示。
图3 Jupyter平台交互教学过程
首先由授课老师创建教学过程中所有交互过程、编写说明文档、数学公式图片以及其他形式的输入和输出,也可以是html或PDF的格式的教学材料、课程项目案例文档、部分代码等课程资源,当用到项目代码时,学生在线完成代码编辑和编译后,即可形成相应知识点的学习笔记,供后面复习与检索知识点的时候使用。
第二步从本地计算机推送并存储到服务端或者云端。充分利用Jupter云端分布式版本控制系统,让学生可以实时在云端获取所需的学习资料,而其完成的作业代码也可以提交到系统中,在需要的时候教师和其他学生均可查看。具体操作为创建一个主分支与若干个学生分支。主分支的内容包括教师使用的材料如课件与笔记、课堂练习所需的文档、代码、发布给学生的练习题。教师可根据需要控制主分支的版本,比如在所有学生均提交作业后才发布对应的答案。其次,学生可以从服务端或云端随时克隆和拉取最新版本的学习资料,在课外自主学习。学生完成的代码可以推送到其在服务端或云端对应的分支,而通过分布式版本控制系统,这些学生分支不会与主分支产生冲突。
最后,教师在课堂讲授过程中共享自己的屏幕,在讲解理论知识的同时,实时编写并运行代码,加深与巩固学生的理解,提高学习效率。同时学生应同步进行代码编写,理解和实践遇到问题的时候,教师可随时切换到学生屏幕检查其完成情况,达到知行合一的效果。
对比网络和现实课堂的差异,结合实际具体情况,四种最常用场景如图4,基于JupterNotebook平台实现学生与服务端或者云端数据中心数据交互、信息交互、自愿交互、价值交互和身份交互。
图4 网络课堂vs现实课堂
第一是在线教室,老师和学生可以在家里或者任何Web网络环境下上课。第二是电子教室,可以在电子教室里面使用数字黑板,所有的文档、信息和在线教室是通用的。第三是课后的各种项目和活动,包括作业、评测、打卡。第四是自主学习,包括阅读、写作、笔记。
利用jupter平台搭建及其他工具使用,辅助完成课堂场景、讨论场景、练习场景、考核场景、自学场景、自我管理6种主要交互式教学场景教学任务。
对于线上教学过程,采用超星学习通为主要线上日常教学管理系统,结合Jupyter Notebook的交互功能实现对该课程的教学交互设计,通过直播软件实现教师与学生之间的屏幕共享和课堂互动。对于信号与系统课程的建设,总体能够覆盖课前引入,理论探讨,实操演练,总结评价的4个主要方面,具体与学生互动过程包括在线领取任务书,课程资源线上发布,理论学习过程,线上考核,互动讨论,实验操作及评价,基本职业素养、能力过程评价,以及课后拓展任务完成。
以下以课程中信号与系统中LTI系统的冲激响应和阶跃响应这一知识点的教学过程为例,阐述该教学方法的实施情况。以LTI系统的阶跃响应为例,
学生自主完成主要代码输入和编辑,运行后通过绘图工具可以实时验证结果。
首先,将关于LTI系统的阶跃响应所涉及到的理论知识对应的学习材料,以及将使用超星学习通将基本课程内容上传到平台端,学生可以在课前预习并熟悉这部分内容。然后在课程中,教师实时使用Jupyter Notebook在不同的Cell中输入格式化的文本、图像、公式和视频、Python代码(如图5),学生在各自计算机上同步操作,完成Cell配置和修改后即可运行相应代码,显示结果如图6所示。这能让学生快速获得一种将所学知识运用到实际中的成就感,激发学习兴趣,并通过软件调试等过程,培养学生培养批判性思维和独立解决问题的能力。
图5 LTI系统阶跃响应参考代码
图6 阶跃响应
针对教学过程中的重点和难点,结合学生情况充分了解学生情况,在课中充分发挥平台“交互式”的特点,以学生为中心,引导学生边学习理论知识,边动手实践,学会观察实验结果,发现和解决问题能力提升为主要目标,实施过程中针对对学生练习过程存在的问题,通过不断修改和优化Cell中的内容引导学生完成操作实验,并在此基础上进行一定的知识拓展。课程最后学生可以通过提交代码、运行结果进行在线考核,有效的提高课堂上全程和步步评测的效率。
利用Jupter平台通过新型交互式教学模式可以有效帮助信号与系统课程教学活动,实现了在线学习的更高效率和更好效果,极大的满足学生个性化学习、泛在学习的学习要求;同时提升了学生自主学习能力,计算机应用及软件编程能力;培养学生在实际工程背景项目中发现问题、提出问题以及解决问题的能力,有效促进学生的全面发展,也是对跨学科利用该平台实现交互式教学的十分有意义的尝试。