我连续第二年在当地图书馆使用 Raspberry Pi 400 计算机教授 Python。今年的一些学生在学校的数学方面没有取得成功。一位学生问我,她是否需要代数才能参加我们的课程。我告诉她,我曾在学校代数、几何和三角学考试中不及格。她松了一口气。另一位学生有点迟到了,因为她在暑期学校补习几何,之前在学年期间这门课没有及格。我分享了自己习得性无助的故事,以及想到数学考试时的痛苦。我糟糕的经历影响了我的高中和大学早期。
我喜欢 Python,特别是 turtle
模块,这要归功于 1990 年代初期在研究生院的一次经历。这个练习使用 Apple 的徽标来教学生几何,这让我顿悟,彻底改变了我对数学的态度。本周的班级有四名八年级学生。两名有数学基础,两名有数学恐惧症。在奥林公共图书馆上课的第一天,我们首先简要介绍了 Raspberry Pi 400,以及如何将每台计算机连接到来自旧仓库的 VGA 显示器。我向学生们简要概述和介绍了端口、外围鼠标和我们将要使用的 microHDMI 电缆。我们逐步组装了 Raspberry Pi 400 单元的部件,并将它们连接到显示器。我们启动了设备,并帮助学生正确地将他们的计算机配置为美国和东部时区。我们连接到图书馆的无线网络,准备开始上课。
我向学生们简要概述了他们计算机上的所有软件。然后我向他们介绍了计算机上预装的 Mu-Editor。我们回顾了 读取-求值-打印循环 (REPL)。我解释说,虽然我们可以在 REPL 中执行代码,但他们会发现更容易在 Mu-Editor 中编写代码,然后将他们的代码保存为 .py
扩展名,以确保系统可以正确执行它。我解释了我们的代码需要注释,以及如何正确添加和保存它们。
# first program
print("Hello World")
然后我向他们介绍了 turtle
模块。我们讨论了一个正方形的要素;正方形由四条相等的边组成,并且包含 90 度角。我们一起编写了以下代码,保存了我们的工作并执行了它。
# First Turtle Square
import turtle
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
我解释了如何更改代码并添加诸如不同的笔颜色和不同的背景颜色之类的功能。
# First Turtle Square
import turtle
turtle.pencolor("blue")
turtle.bgcolor("yellow")
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
我向他们介绍了 turtle.shape
,以将形状从默认形状更改为更像乌龟的形状。我鼓励他们每次都保存并迭代。他们很高兴分享他们的成果。
在我们的第二次课程中,我演示了如何使用 for 循环绘制正方形,以及如何通过将“turtle”分配给特定字母来清理代码。然后我运行了代码。
#For Loop
import turtle as t
for x in range(4):
t.forward(200)
t.right(91)
一位过去在数学方面遇到过问题的学生说:“这个正方形看起来是歪的。”
我说:“你是对的。它有什么问题?”
她告诉我,我的 t.right
应该是 90
而不是 91
。我纠正了错误并重新运行了代码。它看起来很完美,她很自豪自己在数学方面取得了一些成功。
我们更改了我们的代码,我向他们介绍了 turtle 模块中的新可能性,包括速度、笔颜色和背景颜色。当我演示如何使用以下代码轻松创建正方形螺旋时,他们非常喜欢
# square spiral
import turtle as t
t.speed(0)
t.bgcolor("blue")
t.pencolor("yellow")
for x in range(200):
t.forward(x)
t.right(91)
我们再次更改了代码以制作圆形螺旋。学生们全神贯注地学习,我们九十分钟的课程结束了。其中一名学生正在上暑期学校重修几何,她在学年期间这门课没有及格,她每天跑一个半街区来上我们的课,在那里她擅长构建几何形状。她对细节有敏锐的眼光,并经常帮助其他学生识别他们代码中的错误。她敏锐的目光启发我与小组讨论开源软件的价值以及众人拾柴火焰高的力量。

(Don Watkins,CC BY-SA 4.0)
# circle spiral
import turtle as t
t.speed(0)
t.bgcolor("blue")
t.pencolor("yellow")
for x in range(100):
t.circle(x*2)
t.right(91)
t.setpos(60,75)
for x in range(100):
t.circle(x)
t.right(91)

(Don Watkins,CC BY-SA 4.0)
使用 Python 与开源硬件和软件来促进数学教学让我感到惊讶。只要有一点创意,就有可能重新构想数学教育。参加我们课程的每位学生都将收到他们使用过的 Raspberry Pi 400,以便带回家使用。他们必须找到一个显示器来连接,但是对于每个单元略高于一百美元的价格,我们正在投资他们的未来。如果您愿意捐出您的时间,您可以在您的社区中获得同样的效果。公共图书馆是课外活动的好场所,我用作课程基础的一些资源来自图书馆的书籍。其中一本书是 教你的孩子学编程。另一本是 Python 儿童编程,而 Al Sweigart 的 简易 Turtle 教程 在线提供。我们使用了带有 VGA 显示器和 microHDMI 转 VGA 适配器的 Raspberry PI 400 套件。您可以轻松地使用翻新的 Linux 笔记本电脑、Windows 和/或 macOS 笔记本电脑来调整此教学。
5 条评论