使用 Python 破解数学教育

教师、程序员和作家 Peter Farrell 解释了为什么使用 Python 教授数学比传统方法更有效。
165 位读者喜欢这篇文章。
Raspberry Pi and Python

Raspberry Pi Foundation。 CC BY-SA 4.0。

数学教学的名声不好,特别是对于那些(像我一样)在传统方法上遇到困难的人来说,传统方法强调死记硬背和似乎与学生现实世界相去甚远的理论。

在教导一位被数学课难倒的学生时,Peter Farrell,一位 Python 开发者和数学老师,决定尝试使用 Python 来教授这个男孩在学习上遇到困难的数学概念。

Peter 的灵感来自 Seymour Papert 的工作,他是 Logo 编程语言之父,该语言在 Python 的 Turtle 模块中得以延续。Turtle 的隐喻让 Peter 迷上了 Python 以及使用它来教数学,就像 我被 Python 吸引一样。

Peter 在他的新书《Math Adventures with Python: An Illustrated Guide to Exploring Math with Code》中分享了他的方法。最近,我采访了他,以了解更多信息。

Don Watkins: 您的背景是什么?

Peter Farrell: 我当了八年数学老师,之后又辅导了十年数学。当我还是老师的时候,我读了 Papert 的 Mindstorms,并受到启发,将 Logo 和 Turtles 引入我所有的数学课。

DW: 您为什么开始使用 Python?

PF: 我当时正在辅导一个在家上学的男孩,他的数学课程非常枯燥,以教科书为主导,当时这对我来说似乎是一种诅咒。但我找到了一些方法偷偷地引入 Logo Turtles,他是一个编程爱好者,所以他喜欢这个。一旦我们开始学习函数和真正的编程,他问我们是否可以继续使用 Python。我当时不懂 Python,但它看起来和 Logo 没什么不同,所以我同意了。我从此就再也没有回头!

我还一直在寻找一个 3D 图形软件包,我可以用来模拟太阳系,并引导学生根据牛顿公式制作行星运动并受到物体之间引力的拉动。许多图形软件包需要用 C 或其他难学的语言编程,但我找到了一个名为 Visual Python 的优秀软件包,它非常易于使用。在那之后,我使用了 VPython 多年。

所以,我是在与学生一起学习数学的背景下接触到 Python 的。在那之后的一段时间里,他成了我的编程导师,而我成了他的数学导师!

DW: 是什么让您对数学感兴趣?

PF: 我用老式的方法学习数学:用手在纸上和黑板上计算。我擅长操作符号,所以代数从来都不是问题,我喜欢绘画和绘图,所以几何和三角也可以很有趣。我在大学里学过一些 BASIC 和 Fortran 编程,但它从来没有激励过我。后来,编程极大地激励了我!我仍然对编程让数学课上那些费力的工作变得轻松感到兴奋,让你腾出手来做更有趣的探索、绘图、调整和发现。

DW: 是什么启发您考虑使用 Python 方法来教授数学?

PF: 当我教那个在家上学的学生时,我惊讶于我们可以通过编写一个简单的函数,然后在一个循环中使用不同的值多次调用它来完成什么。这需要手工花费半个小时,但计算机却能立即吐出来!然后我们可以寻找模式(这才是数学学生应该做的),将模式表达为一个函数,并进一步扩展它。

DW: 您的教学方法如何帮助学生——尤其是那些在数学方面有困难的学生?它如何使数学更相关?

PF: 学生,尤其是高中生,质疑在 21 世纪是否有必要手工进行所有这些计算、绘图和求解,我并不反对他们。例如,学习使用 Excel 来处理数字应该被视为在办公室工作的基本必需品。学习编码,用任何语言,对公司来说都变得非常宝贵的技能。所以,对我来说,这有真正的现实世界的吸引力。

但是,用代码创作艺术的想法可以彻底改变数学课。仅仅在屏幕上放置一个形状就需要数学——位置(x-y 坐标)、尺寸,甚至颜色都是数字。如果你想让某些东西移动或改变,你需要使用变量,而不是“猜猜 x 等于多少”的那种变量。你将使用变量或更有效地使用向量来改变位置。[这使得] 向量和矩阵等数学主题被视为你可以使用的有益工具,而不是你永远不会使用的必修信息。

在数学方面有困难的学生可能只是对“学校数学”感到厌烦,这种数学侧重于死记硬背和遵循规则,而轻视创造力和实际应用。他们可能会发现他们实际上擅长数学,只是不是学校教的那种方式。我曾有家长看到他们的孩子用代码创建的酷炫图形,并说:“我从来不知道正弦和余弦是用来做什么的!”

DW: 您如何看待您教授数学和编程的方法鼓励学校的 STEM 教育?

PF: 我喜欢将以前分离的主题组合成 STEM 或 STEAM 这样的想法!不幸的是,对于我们这些数学爱好者来说,“M”经常被忽视。我看到许多有趣的 STEM 实验室项目正在进行,甚至是非常年幼的孩子也在做,他们显然正在接受技术、工程和科学方面的教育。但我看到这些项目中几乎没有数学材料。STEM/机电一体化 老师 Ken Hawthorn 和我正在创建项目来尝试弥补这一点。

希望我的书能帮助鼓励学生,无论男孩还是女孩,在真实和虚拟的技术中发挥创造力。书中有很多精美的图形,我希望这将激励人们经历编码冒险并制作它们。我使用的所有软件 (Python Processing) 都是免费提供的,并且可以轻松安装,或者已经安装在 Raspberry Pi 上。进入 STEM 世界不应该让学校或个人付出高昂的代价。

DW: 您想与其他数学老师分享什么?

PF: 如果数学界真的认真对待教授学生他们已经同意的标准,如数字推理、逻辑、分析、建模、几何、解释数据等等,他们就必须承认编码可以帮助实现所有这些目标。正如我之前所说,我的方法诞生于试图丰富枯燥的传统方法,我认为任何老师都可以做到这一点。他们只需要有人可以向他们展示如何使用代码来自动化他们已经做的一切费力的事情。

我的以图形为主的方法之所以成为可能,是因为免费图形软件的可用性。人们可能需要被告知在哪里可以找到这些软件包以及如何入门。但是数学老师很快就可以引导学生使用 21 世纪的技术解决问题,可视化进度或结果,并找到更多模式来追求。

标签
User profile image.
教育家、企业家、开源倡导者、终身学习者、Python 教师。教育心理学硕士,教育领导学理学硕士,Linux 系统管理员。

5 条评论

有没有办法分享你目前所做的工作?我很想看到你的作品在 GNU 类型许可下发布,这样你就可以教导全世界,其他人也可以帮助添加和改进!

这就是我正在寻找的 <3 衷心感谢!Don Watkins

太棒了!很高兴你喜欢它。Peter 在这本书以及 Python 作为改进数学教育的门户的概念方面做得非常出色。

回复 作者 IHackPy

非常感谢您与我们分享数学 + Python + Linux 的这种组合。
我有一些空闲时间可以陪我的大孩子,感谢您,我们将使用它来学习《Math Adventures with Python》。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© 2025 open-source.net.cn. All rights reserved.