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

开源工具汇总,非常适合物理学(和其他科目)教学。
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 类,它允许您使用 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,那就太好了。

一个非常棒的自由/开源应用程序,可以帮助物理教学,它是 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

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

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

找到完美的开源工具

项目管理、商业智能、报告等。查看这些流行的项目。

© . All rights reserved.