APP下载

利用Jupyter-lab交互式平台进行大学物理在线教学的探索与思考

2021-10-25王世芳

湖北第二师范学院学报 2021年8期
关键词:大学物理可视化动画

吴 涛,王世芳

(1.武汉工程大学 光电信息与能源工程学院,武汉 430205;2. 湖北第二师范学院 物理与机电工程学院,武汉 430205)

大学物理作为高等理工科学校重要的通识性课程,在大学生科学素质的培养中具有重要地位。作为具有显著工科背景的高等学校,在推进“新工科”和“双一流”建设的背景下,把科学计算语言深度融入大学物理理论与实践课程的教学,在培养学生工程技能和计算思维方面可以起到重要启蒙和推动作用。互联网与信息技术的发展已经极大的改变了传统的教学模式,产生了例如对分课堂[1]、翻转课堂[2]和混合式课堂[3]等多种教学模式,移动网络终端学习和在线教学成为当今大学生获取知识的常态。大学物理作为一门公共基础课程在这场新时代的教学模式变革中一直走在前列,积累了大量的在线教学资源,打造了一批从慕课到金课的在线示范课程。[4]-[7]现代物理学呈现出理论物理、实验物理、计算物理三足鼎立的格局,而计算机的普及和发展也大力促进了大学物理图形化、可视化教学手段的应用。在互联网时代计算机语言的重要性已经毋庸置疑,是每一个本科生的必备技能。如何利用好现有资源和现代教育技术,在层出不穷的现代科学计算语言中选择一门切合学生实际情况的语言与大学课程教学进行深度融合,在国家“新工科”教育形势下培养学生计算技能、工程思维和科学素养具有重要的实际意义。

1 基于Jupyter-lab和Python语言大学物理交互式在线教学的优势分析

在大学物理的学习中,学生普遍反映最大的障碍就是觉得物理概念抽象、难懂,理论推导和公式繁多,物理图像不清晰,不能学以致用。为了解决这些突出问题并响应国家“新工科”和“双一流”专业建设的号召,笔者提出了以Python语言为基础,充分利用自由、开源、免费的基于该语言的第三方库vpython为主要工具对大学物理进行三维动态可视化的教学改革措施。这可以从根本解决学生对大学物理学习的畏惧心理,提高其学习兴趣,进而为培养新时代创新人才打下一定的基础。利用科学计算语言与软件以图形化、可视化的手段展现数学公式蕴含的物理图像,使其变得直观、形象,使学生获得生动感性的认识,缩小理论与实际的差距,让学生更加深刻的理解物理思想,形成物理图像,可以极大的提高学生学习积极性和能动性。通过让学生参与到利用物理原理和数学计算工具解决具体实际问题,该教学模式对学生形成计算思维、培养工程技能,使学生能够学以致用、理论联系实际起到重要作用,能够激发学生学习兴趣,切实提高教学效果。

Python语言是目前最流行的语言之一,简单易学,而基于Python语言的大量自由、免费、开源软件、科学计算扩展库最近几年得到了飞速发展。Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序,基于Jupyter-Lab/Notebook交互式教学平台,可以无缝导入大量的、丰富的第三方库来实现大学物理的三维可视化教学,尤其是利用vpython库可以快速创建三维场景和动画,该库有大量内置的函数和类可用来实现大学物理教学中各种实体对象的创建,例如带电的小球,通以电流的导线等,利用较少的代码便可以快速编程实现物理过程与图像三维可视化展示。最近,中国农业大学的研究者刘玉颖等在大学物理教学中引入vpython对刚体的三维运动,[8]天体的轨道运动[9]以及点电荷体系的静电场与电荷在电场中的运动[10]进行了三维模拟,获得了很好的教学展示效果。在大学物理交互式、可视化在线教学中,Matlab、Mathematica和origin等商业软件完全可以由Python语言及其丰富的且更新速度很快、不断发展进步的第三方库所替代。

Jupyter-lab平台能够将说明文档、公式、多媒体音视频、Python程序代码、图表和图形动画都整合在一个文档中,这一特点非常适合在公式和图形繁多的大学物理在线教学中使用。运用这一平台,教师可以方便的编写大学物理课程教案、演示图表和动画,甚至进行公式推导演算,将理论与计算机实践操作相结合,指导学生实现人机互动式、图形化教学。该教学平台在大学物理在线教学中具有以下优势:(1)Jupyter-lab和Python语言具有强大的计算生态支持,通过网络只需要使用pip install命令加上库名就可以安装大量丰富的第三方库,非常方便快捷。例如通过安装第三方库vpython后便可以快速的创建大学物理中各种三维的物理模型动画和教学场景,为形象化教学创造了条件。(2)平台采用Python语言交互式编程,可以随时修改参数,重新运行程序,所见即所得的观察方式方便学生自己动手从程序运行和调试中获取知识,让学生成为学习的主体并实现人机互动式的教学模式成为可能,可以充分调动学生的学习积极性。(3)在Jupyter-lab平台Python程序运行的可视化结果可以在代码下方实时显示出来,文字、公式、图表、动画和视频都在一个界面中显示,且能自由修改颜色、字体大小、图表尺寸和动画演示速度等,且支持折叠功能,这一点非常有利于教师清晰的展示理论知识点和重难点。(4)该平台可以安装在个人电脑上,支持window、mac和linux等操作系统,同时也支持搭建远程服务器,允许多用户同时远程登陆并进行学生权限管理,在任何时候都可以通过网络连接服务器实现教学,提供了多样选择性。(5)最好的学习是在做中学,在教学中引导学生利用Python语言进行编程实践实现大学物理图形化,在学习物理理论知识的过程中,同时也为学生训练计算思维、工程技能提供了载体和实际应用场景,为培养学生理论联系实际,解决实际问题的能力提供良好的环境与平台。

2 基于Jupyter-lab交互式教学平台在线教学的实践

Jupyter-lab作为基于web的集成开发环境,利用它可以方便地编写教案和制作授课课件。笔者基于Jupyter-lab平台开展了大学物理交互式在线教学的实践与探索,下面仅举两例来说明该教学模式的构建过程。第一个例子是在简谐振动的教学中,可以利用vpython库并编程进行完整的教学展示,首先构建了简谐振动的三维场景,给出了简谐振动方程的理论推导、数值求解及其扩展应用、振动曲线的动态绘制,基于vpython对简谐振动的旋转矢量法描述进行了编程动画展示,并进一步基于旋转矢量法动态分析了振动的合成与分解,得出了拍的形成和李萨如图的动态展示,最后给出了复杂振动的傅里叶分析合成图。在本文物理图像场景和振动曲线的展示中,利用第三方库vpython丰富的内置三维形体对象,包括弹簧振子、长方体、小球和箭头就可以构建出水平弹簧振子的三维运动场景,并通过python程序代码设置弹簧倔强系数和小球受到的线性回复力,就可以自由方便的控制简谐振动小球的三维动态运动展示,并动态同步的在画布上画出振动曲线,让学生直观、生动的获取简谐振动的运动图景。具体编程实践中,动画展示部分可以采用for循环,也可以采用while语句,通过修改三维实物对象的pos属性参数从而实现实物运动模拟仿真的实景动画效果。

图1给出了基于Jupyter-lab平台的简谐振动教学内容与动画展示截图,利用Jupyter-lab的内容折叠隐藏功能,图1(a)展示了简谐振动的全部教学内容截图。图1(b)给出了第一个部分内容的隐藏内容截图,可以看出包含有Markdown编辑文字和LaTeX公式区,Python代码区和三维动画场景及画布区。图1(c)给出了基于vpython绘制的简谐振动描述的动态动画截图。集成在Jupyter-lab平台上的Markdown工具能够支持广泛使用的LaTex公式编辑语法,对复杂的物理公式与公式推导具有优秀的展示效果。Python代码区支持语法高亮和代码补全等功能,可以方便学生阅读和修改代码,具有很好的互动效果。三维动画场景及画布区能够通过程序进行自由控制展示效果,特别是基于vpython的动画场景输出能够利用鼠标实现旋转、移动、放大和缩小等各种功能,方便学生从不同的角度进行观察,同时也增强了学习过程的互动性和趣味性。

图1 基于Jupyter-lab平台的简谐振动教学内容与动画展示截图

第二个教学实例是在大学物理分子热运动的教学中,理想气体与分子热运动的物理图景发生在三维空间,而且微观粒子不断的发生频繁碰撞,其运动状态随时间发生变化,运动情况非常复杂,但是在热平衡的时候分子运动速率表现出统计规律性。这些抽象的物理概念是大学物理课程学习的关键,但是这些过程的可视化、图像化不易从实验中获得,为了让学生掌握这些概念,就可以借助vpython模拟物理过程还原物理图景,加速学生的理解和掌握。图2给出了基于vpython分子热运动三维动态模拟结果与分析,其中图2(a)给出了分子热运动的vpython三维动态模拟动画截图,图2(a)中还给出了代表性红色小球表示的特定气体分子的无规则热运动轨迹,图2(b)以柱状图的形式给出了分子速率分布模拟的统计结果和麦克斯韦速率分布律的理论曲线。值得指出的是,图2(b)中的柱状图是通过模拟硬球碰撞的过程统计得出在不同时刻对应的不同速率区间的分子个数,随着时间的推移,通过图中的柱状图的形式可以动态的显示分子的运动速率分布会越来越接近麦克斯韦速率分布律,可以通过图形动态的展示两者逐渐趋于一致,最后仿真模拟的分子热运动速率分布统计结果和红色的麦克斯韦速率分布律理论曲线吻合的很好,让学生从微观的角度有更加直观的认识和理解。对该教学的程序代码,可以引导学生进一步进行修改,例如可以编程统计计算出微观粒子的平均自由程和平均碰撞频率,这也是大学物理教材中接下来的章节内容,这些可以作为课外作业留给学生思考和完成。在教学实践中,学生普遍反映基于Jupyter-lab平台的教学模式形象、生动,在学习掌握理论知识的同时提高了计算机应用水平,显示出良好的教学效果。实践表明,该教学模式提供了促进学生物理概念理解与物理图像建立的新手段,对提高学生学习兴趣,培养学生计算思维,为“新工科”教学模式改革提供了新的途径。

图2 基于vpython分子热运动三维动态模拟结果与分析

3 思考与总结

Jupyter-lab平台作为一种新兴的交互式教学平台,通过导入vpython库开展三维可视化编程模拟各种物理过程,除了特别适合大学物理教学外,还可以满足不同学科领域的教学需求,在国外高校的互动式教学中有较广泛的应用。从教学试点和实践来看,学生通过vpython的编程模拟能力的训练后,可以应用他们获得的技能应用到其它物理或学科问题上,作出了很多令人耳目一新的物理现象的模拟结果。学生在学习的过程中,虽然需要投入较多的精力完成课后编程作业,但是对做出来的成果非常有成就感,也能帮助他们更深刻的理解物理图景和物理公式背后的物理意义。但是,我国在Jupyter-lab平台应用于互动式教学方面与国外相比,起步时间略晚,内容上限于编程语言的互动教育,特别是在大学物理互动式教学应用上还很少见,在具体实际操作中还不够成熟,拟解决的主要问题体现在如下几点:(1)精选符合学生实际能力水平和各模块内容难易适当的能够融入vpython数值仿真的大学物理教学课堂演示内容,并编写程序。(2)在教学中引导并培养学生自觉使用科学计算语言解决物理教材中遇到问题的意识和能力,形成计算思维,培养工程意识和工程能力。(3)在教学实践中,整理出一套适合理工科高校大学物理各模块与Jupyter-lab平台相融合的教学内容,并形成比较规范的教学流程和教学体系。(4)探索和完善基于Python语言与vpython三维动态模拟的大学物理模块化“新工科”教学模式,建立评价学生学习效果与培养质量的指标与考核体系。

猜你喜欢

大学物理可视化动画
Clifford hits the big screen
基于CiteSpace的足三里穴研究可视化分析
应用型高校大学物理实验教学改革研究
思维可视化
做个动画给你看
动画发展史
我的动画梦
“融评”:党媒评论的可视化创新
大学物理实验中热电偶冷端补偿电路的应用
MATLAB在大学物理课程中的应用实践教学研究