启动Wolfram|Alpha开放代码

Wolfram|Alpha和Wolfram语言标志

代码为每个人

计算思维需要成为现代教育不可分割的一部分——今天我很高兴能够为这个目标发起另一个贡献:Wolfram|Alpha Open Code。

每天,世界各地有数百万学生使用Wolfram | Alpha计算的答案。有了Wolfram|Alpha Open Code,他们现在不仅能够得到答案,而且还能够得到让他们进一步探索和立即应用计算思维的代码。

这需要很多复杂的技术才能实现。但对用户来说,这很简单。用Wolfram|Alpha进行计算。现在,几乎在输出的每个部分,你都会看到一个“Open Code”链接。点击它和Wolfram|Alpha将为您生成代码,然后在一个完全可运行和可编辑的笔记本中打开它,您可以立即在Wolfram开放云

x^2 sin x在Wolfram|Alpha中

笔记本的各部分与Wolfram|Alpha输出的各部分平行。但现在每个部分都包含的不是结果,而是核心Wolfram语言代码需要得到这些结果。你可以通过点击[>]按钮(或按Shift+Enter)来运行任何一段代码:

在云中运行代码

但真正重要的是,在网上你可以修改和扩展代码,然后立即再次运行:

x^2Sin[x]/(1+Tan[x]), {x, -6.3, 6.3}

代码的力量

如果所有人都想要一个单一的,快速的结果,那么经典的Wolfram|Alpha应该是所有他们需要的。但是一旦他们想要更进一步——这就是Wolfram|Alpha Open Code的切入点。

假设你刚从Wolfram|Alpha得到一个数学结果:

X2cos (x)罪(y)

但你会想:“对于整个指数范围会发生什么?”嗯,用自然语言告诉Wolfram|Alpha你想要什么会变得相当复杂。但是,通过提供一点点Wolfram语言代码(是的,你可以交互地旋转这些3D表面),就可以很容易地说要做什么:

表(Plot3D (x2因为罪[n x] [y], {x, -3.1, 3.1}, {y, -6.6, 6.6}), {n 0 4}]

你也可以通过代码交互式地改变参数:

ManipulateTable [Plot3D [x2因为罪[n x] [y], {x, -3.1, 3.1}, {y, -6.6, 6.6}), {n, 0, 10}]

从Wolfram|Alpha开始,然后使用Wolfram语言进行扩展,是非常强大的。下面是一些真实世界的数据。从Wolfram|Alpha开始,然后得到底层的Wolfram语言代码(它可以变得更短,但然后它有点不清楚发生了什么):

意大利的国内生产总值

计算代码以获得时间序列。然后情节。然后除以美国的相应结果:

DateListPlot[%] DateListPlot[Entity[ All, "CurrencyUnit" -> "CurrentUSDollar"}]]/Entity["Country", " usa "][EntityProperty["Country", "GDP", {"Date" -> All, "CurrencyUnit" -> "CurrentUSDollar"}]],Filling->Axis]" title="DateListPlot[%] DateListPlot[Entity["Country", "Italy"][EntityProperty["Country", "GDP", {"Date" -> All, "CurrencyUnit" -> "CurrentUSDollar"}]]/Entity["Country", "UnitedStates"][EntityProperty["Country", "GDP", {"Date" -> All, "CurrencyUnit" -> "CurrentUSDollar"}]],Filling->Axis]" width="615" height="532" class="alignnone size-full wp-image-34082">

笔记本的一个重要特征是它们是满的、可计算的文档——你可以添加任何你想添加的内容。你可以做一系列的计算。你可以输入文本来注释你正在做的事情。你可以添加段落标题。你可以把不需要的部分删掉。等等。当然,你可以在云里做所有这些,使用任何现代的网络浏览器。

不可告人的动机

Wolfram|Alpha Open Code将会对很多人非常有用,不仅仅是学生。但当我发明它的时候,我的直接目标是非常具有教育意义的:我希望能够让每天使用Wolfram|Alpha的数百万学生体验到代码的力量,以及如果一个人学习代码和计算思维,可以实现什么。

计算思维是未来非常重要的技能。经过30年的发展,我们正处于激动人心的时刻,Wolfram语言能够直接向广泛的学生教授严肃的计算思维。我看到Wolfram|Alpha开放代码为所有使用Wolfram|Alpha的学生打开了一个窗口,进入计算思维的世界。

没有学习曲线攀登与Wolfram|Alpha:你只是输入你的问题,直接在自然语言。但是现在使用Wolfram|Alpha Open Code,您可以明确地看到您的问题是如何被计算解释的。只要你想要更进一步,你就得马上进行计算思考,写代码。你不是在做抽象的编码练习,也不是在玩具环境中创建代码。您可以立即使用代码来形成计算思想,并得到您所从事的工作的结果。

当然,使这成为可能的是Wolfram语言的特性——以及它独特的基于高级知识的特性。因为这使得你想要做的实际计算可以用少量的代码来表达,这些代码很容易被理解、修改或扩展。

是的,Wolfram语言有明确的结构和语法,基于明确的原则。但是有很多东西使它易于理解和编写。在笔记本上,你总是会得到关于输入什么的建议——如果你的浏览器语言设置为英语以外的语言,你也经常会得到该语言的注释。您从使用Wolfram|Alpha Open code获得的代码将不断说明Wolfram语言的核心原则。

进入计算思维的路径

在过去的一年里,我们引入了两种重要的计算思维方式,这两种方式都由Wolfram编程实验室,可以在Wolfram开放云中免费获得。

第一条路是从探索:使用代码创建的小项目,学生可以立即投入,然后修改和交互。第二种方法是系统地学习Wolfram语言,例如使用我的书Wolfram语言的基本介绍

现在Wolfram|Alpha Open Code提供了第三条路径:从学生提出的问题开始,然后自动生成定制代码,为进一步的工作和思考提供了起点。

这是对其他两条道路的一个很好的补充——也许它经常会鼓励你去追求其中一条或另一条。但这本身就是一条完美的道路——学生们可以沿着它走很长一段路。

当然,在引擎盖下,使用了大量复杂的技术。有Wolfram|Alpha的整个自然语言理解系统来理解最初的问题。还有Wolfram|Alpha计算知识系统,它制定了要生成哪些代码片段。然后还有Wolfram Open Cloud,它提供了一个可以在网络上运行代码的交互式笔记本环境。而这一切的中心是Wolfram语言,它具有完整的集成设计和大量的内置功能和知识。

我们花了30年的时间才走到这一步。但现在,我们已经能够把所有东西放在一起,为学生们进入计算思维创造一个非常强大的途径。

我不得不说,对我来说,想到孩子们只是为了做家庭作业而使用Wolfram|Alpha,然后按下“开放代码”按钮,突然间就被带入了代码和计算思维的世界,也许开始了一生的旅程,这让我很兴奋。

我很高兴能够提供工具,使这成为可能。试一下。告诉我们你的想法。分享你所做的,并向他人展示什么是可能的。


如欲发表评论,请访问Wolfram博客»

Baidu