西点军校如何使用Wolfram 技术使得混合远程教育变得游刃有余

本文作者——Timothy Newlin 是美国西点军校数学科学系的教授

在过去一年的学习中,教师和学生都迎来了各种新的体验,美国西点军校也不例外。除了在课堂上戴上口罩、减少班级人数以拉开社交距离、严格的测试和追踪工作、防范性的远程视频课程之外,我们还需要调整教学方式的各个方面。虽然这种调整是自愿的,但为了加强讨论,我选择在室外的白色大帐篷下,甚至在体育场的看台上讲授了几堂课,以便安全地与学员进行更大规模的对话。有时,这意味着要把一块带着三脚架的大白板搬到体育场去。在其他时候,这意味着将测验式的问题放在网站上,这样学生就可以通过表格提交答案,这样更容易评分,同时让每个人都能在安全距离内使用个人设备工作。

尽管障碍重重,但每一次培养领导者的机会仍然是一种特权,也是我自我提升之旅的一部分。我很幸运地拥有一个充满积极进取的课堂,他们自愿接受西点军校教育的挑战,每天都会出现在课堂上,随时准备表演。我的一些经验(包括构建 PDF 图的幻灯片和其他这里没有提到的表单)在我去年10月在 Wolfram 技术会议演讲中有共享。在这篇博文中,我分享了我们使用Wolfram 语言和 Mathematica 中的各种工具来实现目标的一些原因和方法。

问题解决过程概述

在西点军校,我们针对能解决问题的有品格的领导者做了优化(在学校的网站上可以了解更多)。正是在这种情况下,每个学员都会接受跨学科教育,而数学只是其中的一个重要部分。作为必修数学课程的一部分,在过去的几年里,我教授的课程主要是结合数学建模、微积分和微分方程来解决问题。我们讲授解决问题的过程,主要是三个步骤。首先,我们将现实世界的情况转化为一个数学模型,然后,我们使用各种传统公式和现代技术来解决这个数学模型。最后,我们必须以一种能够让我们的领导者做出有效决策的方式来解释这个数学解决方案。(事实上,这个过程与其他解决问题的过程非常相似,包括 Wolfram 的计算思维方法)。

图形来源于西点军校

当我们利用像 Wolfram语言这样的技术作为工具来更有效地解决问题时,我们就会腾出更多的时间来专注于转化问题,并为决策者解释可能的解决方案。

许多学生在可视化描述一个新概念时面临着巨大的挑战,尤其是在远程学习环境中。所有西点军校的学员都必须学习一门使用数学模型将解决问题的技能应用于实际情况的课程。在教师的有效设计下,Wolfram 表单(https://reference.wolfram.com/language/guide/CreatingFormsAndApps.html.zh)通过限制研究类似问题所需的代码,使学生能够专注于数学概念。

我自己通过Mathematica使用Wolfram语言,传统上仅限于建立和绘制函数,以便更好地将问题及其解决方案可视化。然而,COVID-19的环境在春假后完全在线上课,我突然发现自己正在寻求加强我用来解释数学概念的可视化工具。经过深思熟虑的严格规划,我们很幸运能够在今年秋天举办大部分的面授课程。我努力将自己的技能扩展到包括Wolfram Cloud在内,首先是希望通过使用更多的绘图选项来改进一些绘图。随着我开始探索更多Wolfram提供的强大的内置文档(例如:要获得有关 Plot 函数图选项的例子和想法,打开笔记本单元格并运行 ?Plot),我更加意识到 Wolfram 用户可以使用的大量函数。

比较函数行为

我之前曾使用Manipulate命令来显示不同函数行为的差异。您可以快速地从下拉菜单中选择不同的函数,并查看随着输入变量值的变化,绘图是如何变化的。

您也可以使用Manipulate来演示一个概念,比如通过绘制割线来演示两点之间的平均变化率:

如果您想坚持使用静态图,您可以使用TabView来组合多个您希望学生比较的图:

部署到Wolfram云上的FormPage和FormFunction示例

我相信CloudDeploy函数是在远程和混合学习环境中增强学习的强大工具。接下来,我将提供几个例子,说明在过去两个学期的部分时间里,我是如何运用它们来增强我的课堂。Manipulate,以及FormFunction和FormPage函数,提供了额外的方法,让学生自己发现某些数学关系。进一步的浏览让我找到了Stephen Wolfram的《Wolfram语言入门》第36章,以及通过 Wolfram U 的老师提供的免费和付费互动课程。

使用 Manipulate、FormFunction 和 FormPage 创建的可视化,只需使用 CloudDeploy(针对对象)和 CloudPublish(针对整个笔记本),再加上免费提供的 Wolfram Cloud 帐户,就可以通过网络浏览器轻松地共享和显示。单元的输出是一个 URL,然后您可以与任何有网络浏览器的人分享。如果您愿意,您甚至可以在下次去公园时通过平板电脑或智能手机使用 Wolfram Cloud 应用来构建其中的一些对象。CloudDeploy需要您适当地设置权限选项,以便与对方分享。

如果为操控对象或任何其他对象指定名称(例如ratechangeplot),则可以通过调用CloudDeploy快速部署该对象,以便在任何Web浏览器中访问。

FormPage 提供了在同一网页上看到表单的输出,然后重新调整输入的灵活性。将整个问题保持在同一个观察屏幕上,使学生能够更直接地联想到改变输入值和看到输出的相应效果之间的关系。通过多次调整和重复将类似的问题可视化,希望学生能够发现那些仅使用静态数字可能更难理解的关系。(要知道,根据您想达到的目的,一些使用FormFunction和FormPage存储在云端的部署可能会花费Wolfram Cloud Credits。如果这与您的愿望不一致,您可以考虑只共享整个笔记本,或者让学生在他们的机器上下载并在本地运行表单。)

一学期来,我建立了以下表格实例来解释离散动力系统的概念,涉及递归方程、流态图、变换矩阵和散点图。

线性离散动力系统(基于微分方程)

您可以创建您的单线性离散动力系统(DDS),由一个递归方程p(n)和初始条件p(0)组成,以模拟增长、衰减、振荡或平衡:

然后您可以将结果发送到网页上,同样使用 CloudDeploy:

使用图形边缘列表实现网络流的可视化

在另一个例子中,您可以创建一个图形,在这个图形中您可以改变边缘列表和权重或选择颜色和形状。

下面是部署在网页上的示例:

矩阵向量变换的可视化

第三个例子涉及到可视化二维向量的转换。在表格中输入您的2×2矩阵和2×1向量,看看矩阵如何将向量转换到一个新的位置。

这是网页:(https://www.wolframcloud.com/obj/0c36c3a4-51a9-4b49-9ad6-57cd86c5e2a2)

使用FormFunction使散点图可视化

从文档中的例子来看,很明显,函数FormFunction与FormPage非常相似,函数参数先取用户提供的输入,后面是逗号,然后说明必须对这些输入进行什么计算。输出的格式化后面是一个&符号。在表单命令的计算部分,输入在为该输入提供的名称前面得到一个#符号。

一个更适合FormFunction的例子是,我想让学生上传一个CSV文件,其中有两列对应一个数据集的输入和输出:

我还安排Wolfram Cloud使用FormFunction提供数据点的可视化散点图,在输出中包含ListPlot 和 Table 命令:

为了实现这一目标,我们创建了一个表单,该表单接收两列数据的CSV文件,其中它将第一列解释为输入,第二列解释为输出。显示输出一个值表和一个散点图。

与其他表达式一样,您可以在部署期间为任何云对象分配一个本地名称:

您可以随时通过使用先前部署的云对象上的SetOptions 功能将权限选项调整为 "Public "或 "Private"。

西点军校拥有 Mathematica校园版,所以学员会收到一个站点许可证,但只要您将权限设置为 "Public",任何有电子邮件地址的人都可以免费使用 Wolfram Cloud 账户,这使得世界各地的学生都可以看到您创建的代码。他们也可以在 Wolfram Cloud 网页下载您的代码,然后根据自己的需要进行调整。

扫描二维码,嵌入其他网站,并将您的笔记本作为网页发布

您也可以复制并粘贴生成的网站地址作为任何学习管理系统(LMS)的链接。如果您使用 "文件 "菜单下的 "发布到云端 "选项,您甚至不必键入CloudDeploy命令。弹出窗口还提供了一个等效的二维码,任何用户都可以将智能手机摄像头指向该二维码,并收到通知将其重定向到您的Wolfram Cloud 页面。只要具备最低限度的 HTML或 CSS技能,您还可以通过使用 EmbedCode命令将您的笔记本或对象作为交互式框架显示在另一个网页内:

我一般只是把课堂上所做的笔记的网址分享给大家,但是我有一个学生,不知道什么原因,他迟迟没有访问我分享的任何一个笔记网站。因此,当他向我求助于我前一天通过在我们的LMS中发布Wolfram Cloud网站链接与二维码分享的概念相关的东西时,我首先让他把摄像头对准二维码。他惊奇地发现,我之前上课的讲义就能轻松看到。下面是前面线性离散动力系统的二维码创建的例子:

也许您有学生在上课的时候会问能不能把教室里的板报拍下来。对于任何笔记本代码来说,另一种选择就是将其发布到云端即可。您可能还希望建立和共享一个中央资源库,将所有的笔记本和对象与学生共享。一个简单的方法是建立一个空白的笔记本,其中包含所有图片和指向您要分享的云对象的所有地址的超链接。然后在页面的最后运行CloudPublish,并向学生提供该单一链接。然后,您可以在整个课程中通过将更新的笔记本重新发布到该网址来添加和删除页面中的其他对象。我在这个学期所做的其他项目的网站示例发布在这里。(https://www.wolframcloud.com/obj/timothy.newlin/Published/Hyperlinks_MA103InstructorExample.nb)

另一种方法是将设备上的摄像头对准以下二维码:

最后的想法

我希望您能发现这许多建议和相关的例子对您有帮助。随着学生们可能继续在远程、面对面或基于不断变化的条件而介于两者之间的环境中学习,我们继续在启发和使他们能够解决困难问题的挑战中航行。无论在何种学习环境下,作为教师、导师或教练,您们都曾经历过当您看到学生意识到以前未知的概念或关系时,所产生的喜悦火花。无论您是选择简单地将整个Wolfram Notebook发布到云端与您的班级分享,还是决定深入研究FormFunction和FormPage 函数的选项,创建一些新的工具来增强您的课堂,我祝您好运,并祝您上课愉快!