我如何使用开源工具教授物理学

开源工具综述,非常适合教授物理学(和其他科目)。
141 位读者喜欢这篇文章。
Person reading a book and digital copy

作为一名物理学家和研究人员,最棒的一点是我们社区的开放性。我们之间有很多协作和想法分享(尤其是在咖啡休息时间)。我们也倾向于分享我们编写的软件。由于我们对算法非常挑剔,我们希望修改别人的代码来修复我们发现的明显错误。当我不得不使用专有工具时,我会感到沮丧,因为我无法理解它们的内部工作原理。在这种环境中专业成长,开源一直是我所有软件的首选解决方案。

当我在我的大学医学院成为物理学和生物物理学课程的常任教师后,我决定只使用开源软件来准备我的讲座。以下是我迄今为止的经验以及我找到的解决方案。

学习材料

教学并非易事。您应该首先理解该学科,然后弄清楚如何与对该学科一无所知的人交流;因此,深入研究该学科并提前做好讲座准备至关重要。关于物理学的书籍不计其数,但也有些有趣的免费资源。其中大多数不能算作开源,因为它们无法修改,但无论如何都很有用。

  • HyperPhysics可能看起来过时了,但它是 Carl R. Nave(佐治亚州立大学物理与天文系)提供的有趣概念和见解的宝库。
  • Open Source Physics拥有大量的 applet 和支持材料。我在各种会议上遇到了一些维护人员,他们都是非常出色的人。
  • OpenStax是位于莱斯大学的非营利教育机构,出版免费在线教科书。他们有一个不错的图书馆,并且在他们的科学部分中有几部关于物理学的著作。
  • Open Textbook Library提供免费教科书目录,其中也包括物理学部分。有些标题附有用户的评论。
  • Motion Mountain是 C. Schiller 撰写的一系列关于普通物理学的书籍,也被翻译成多种语言。
  • Light and Matter是另一系列关于物理学不同方面的著作,全部由加利福尼亚州富勒顿学院的 B. Crowell 撰写。
  • Wikipedia,我还能说什么呢?

讲课风格

在准备支持材料之前,我必须决定在讲课期间我更喜欢使用黑板还是幻灯片。我选择两者都用,想法是在幻灯片中展示难以绘制的图形,并在黑板上写下方程式。最终,幻灯片变得更加流行。我将它们用作讲座草稿,帮助我跟踪我想说的内容。我还添加了我想展示的数学证明,以便在讲课期间有一个正确的参考。

我最终没有使用黑板,而是使用图形平板电脑来记录我在讲课期间写下的所有笔记。我使用平板电脑主要有三个目的:绘制额外的图画以更好地解释自己,写下方程式和证明,以及写下我想让学生记住的关键信息。即使我写的东西已经出现在幻灯片上,但在讲课期间实际手写下来,可以让学生有时间在笔记中写下来。讲课结束后,我在我的网站上分享幻灯片和我的笔记。

Figure: Example of notes taken during class with the graphics tablet and Krita

图:课堂上使用图形平板电脑和 Krita 做的笔记示例

材料准备

幻灯片

由于数学是物理学的语言,我需要一种实用的方法在我的幻灯片中写下方程式。可能,最好的工具是LaTeX,但它是为排版书籍而不是幻灯片而设计的。幸运的是,有Beamer class,它允许您使用 LaTeX 排版幻灯片。生成的文件是一个非常便携的 PDF。布局简洁美观,迫使我不要在每张幻灯片上塞满太多内容。从相同的源代码,我可以准备两个版本的文件。讲座版本遵循大学的企业形象指南(,带有粗红色边框),而讲义版本具有更简洁的布局(例如,没有粗边框),因此可以打印而不会浪费打印机墨粉。我还看到学生直接在平板电脑和电脑上的讲义 PDF 上做笔记。

使用 LaTeX 和 Beamer 的唯一缺点是无法在生成的演示文稿中嵌入视频。因此,我必须将我在课堂上偶尔播放的视频作为单独的文件保存。

Figure: Examples of slides created with LaTeX and Beamer

图:使用 LaTeX 和 Beamer 创建的幻灯片示例

Figure: Examples of slides created with LaTeX and Beamer

图:使用 LaTeX 和 Beamer 创建的幻灯片示例

图像和图表

我非常注意我使用的图形的许可。因此,我从不使用不允许我重新分发我的修改的图形。我绘制了幻灯片中的大部分图像。如果我使用别人的作品,我总是在幻灯片中引用它。

我尽可能喜欢使用矢量图形,因为它们可以轻松地进行修改和调整。我使用出色的Inkscape来制作矢量图形。另一方面,对于我的栅格图形,我使用GIMP。当我需要 3D 外观的图表时,我使用Blender绘制场景;然后我用 Inkscape 跟踪渲染图像,将其转换为矢量。我最近发现了FreeCAD,它的一个显著特点是它可以直接将 3D 场景导出为某些矢量格式。然后我可以使用 Inkscape 调整图像,而无需跟踪栅格图像。

在我的所有图表中,我都在努力保持一致的外观,因此我将自己限制在 10-色调色板中,它们都来自d3matplotlib。我还使用相同的调色板在我的幻灯片中突出显示与插图相关的量。为了生成绘图图形,我编写 Python 脚本并使用 matplotlib 图形库。

Figure: Diagram example created with Inkscape by tracing a Blender 3D diagram

图:通过跟踪 Blender 3D 图表使用 Inkscape 创建的图表示例

多媒体支持

我准备了一些页面,其中包含演示我在讲座中描述的一些现象的 applet(例如,用骰子模拟放射性衰变)。我选择在我的机构网页上提供这些 applet,以便轻松接触到所有学生,而不是要求他们安装软件来运行它们。必要的选择是使用JavaScript和一些支持库,例如jQuery(用于浏览器之间的兼容性)、MathJax(用于在网页中排版数学公式)或d3(用于图形显示)。由于我的机构不提供编写动态网页的功能,我正在使用Jekyll,它是一个静态站点生成器。Jekyll 允许我在所有页面上保持一致的外观和感觉,而无需编写 HTML 代码。

Figure: Dice modeling radioactive decay, image of the interactive simulation

图:骰子模拟放射性衰变,交互式模拟的图像

讲课软件

由于我的幻灯片是 PDF 文件,为了在讲课期间展示它们,我使用了我的GNOME 3桌面环境的默认文档查看器。还有使用Okular的替代方案,它允许注释 PDF,但我更喜欢不使用它,因为注释不会被带到讲义中。结合图形平板电脑,我使用了出色的绘画程序Krita。我将图像图层用作笔记的新页面。这种方法在讲课期间比创建一系列新文件更实用。我还可以复制图层并编辑它们,或者加载矢量图像并在其上绘制。Krita 可以编写自定义Python 插件,因此我准备了一个脚本,该脚本导出一个 PDF 文件,其中每层都有一个新页面。

Figure: Screenshot of Krita used in class to write notes

图:课堂上用于书写笔记的 Krita 屏幕截图

当我们在课堂上进行练习时,我使用计算器Qalculate来获得数值结果。它的特殊功能是它可以执行与数字关联的单位计算。我可以更专注于练习的解决,而不是单位的转换。然而,这是一把双刃剑,因为学生将无法学习如何自己进行转换。因此,我通常在课程过半时开始使用 Qalculate。wxMaxima也可以支持练习的解决,象征性地解决一些困难的方程。

Figure: Screenshot of Qalculate

图:Qalculate 的屏幕截图

视频讲座

有时我在 YouTube 上提供流媒体讲座,或者我上传包含额外迷你讲座的视频。学生们有时希望对某些主题进行更深入的解释。以视频形式提供这些内容可以让学生们花时间聆听和理解这些主题。对于这些视频,我使用OBS studio,它可以录制视频或直接将视频流式传输到 YouTube。OBS 可以将屏幕图像和一些额外的视频源(例如网络摄像头)添加到视频场景中。为了编辑视频,我一直在使用OpenShot

Figure: Screenshot of OBS studio recording the screen

图:OBS studio 录制屏幕的屏幕截图

结论

这是我一直用来准备和支持我的讲座的一组开源工具。多年来,每当我发现一些更合适的工具或者我改变了我的讲课风格时,我都会更改其中一些工具。坦率地说,由于懒惰,所有工具的要求之一是它们必须易于安装。我在我的笔记本电脑上使用Fedora,它的存储库包含所有这些软件的软件包。在我的台式电脑的CentOS安装中,我的运气更差。例如,Krita 和 OBS 只能通过Flatpak获得。

撰写这篇文章让我意识到我正在积极使用多少工具来开展讲座。也许有一些一体化解决方案,例如LibreOffice Impress,但我对我获得的结果非常满意。此外,所有这些软件还有其他有用的应用。

如果您有任何问题,请留言。

接下来阅读什么
标签
User profile image.
Cristiano L. Fontana 曾是帕多瓦大学(意大利)“伽利略·伽利雷”物理与天文系的 исследователем,现在有了其他新的体验。

12 条评论

如果它适用于我们的操作系统而不是 Windows,那就太好了。

一个非常好的 libre/开源应用程序,可以帮助物理教学的是 Step https://edu.kde.org/step/

“Step 是一个交互式物理模拟器。它的工作原理如下:您在场景中放置一些物体,添加一些力,例如重力或弹簧,然后单击“模拟”,Step 将向您展示您的场景将如何根据物理定律演变。您可以更改实验中物体/力的每个属性(即使在模拟期间),并查看这将如何改变实验的结果。通过 Step,您不仅可以学习,还可以感受物理学的工作原理!”

Doug Brown 的 Tracker 也非常适合分析科学视频和光谱等单张图像。 https://physlets.org/tracker/
它是用 Java 编写的,可在 Windows、Linux 和 MacOS 上运行。

确实我忘了提它了!

我们实际上围绕 Tracker 构建了一个教学项目:http://www2.pd.infn.it/~fontana/rustle/
首先向学生提供模拟,以便与他们一起开发模型。
要求他们进行实验,重现模拟。
Tracker 用于分析实验的录制视频。
最后分析 Tracker 保存文件以验证模型。

回复 作者 Joal Heagney (未验证)

一些提示
Blender (2.7x) 有一个名为“Freestyle SVG Export”的插件,因此无需使用 inkscape 进行跟踪 - 您可以直接使用 blender 以矢量形式获得它。
另一个很棒的工具(我在 moodle 中使用它,但您也可以在其他工具上使用它或通过 LTI 集成它)用于创作,您可以在 https://h5p.org/ 上找到 - 非常棒 - 具有大量可能性,例如交互式视频、课程演示文稿、测验等(请参阅 https://h5p.org/content-types-and-applications)。

来自德国的问候
Stefan

谢谢!我不知道这些工具,我会看看它们

回复 作者 Stefan Weber (未验证)

很棒的文章。我已将此文章分享给 K-12 #edtech 科学和物理教师。

Beamer 幻灯片的提示:我过去经常大量使用 beamer 进行演示。近年来,我使用 reveal.js:一种支持视频的 html 演示工具。虽然它本身不支持 LaTeX 代码,但您可以使用插件包含 LaTeX 数学公式(虽然我自己没有使用过...)有趣的是:pandoc 可以转换为 reveal.js(但您必须手动将 css、scripts、... 文件夹复制到您的项目文件夹)
更多信息请访问:https://github.com/hakimel/reveal.js

我没有使用 Jekyll,而是使用 mkdocs 来构建网站:对于初学者(像我一样)来说,它对于静态网站来说更“简单”。我也喜欢它在一个文档中组合 markdown 和 html。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。

查找完美的开源工具

项目管理、商业智能、报告等。查看这些热门项目。

© . All rights reserved.