开发者生态
morning
教导孩子们前进
2026-07-27
1 阅读
约5分钟阅读
rbanffy
字号:
教孩子们 Forth 2026-04-14 · 11 分钟 · #computing Forth 不常用于教孩子们编程。 Python 等脚本语言和 Scratch 等可视化环境是更受欢迎的选择。但当我有机会向中学生和高中生介绍编程时,我选择了 1970 年的面向堆栈的连接语言。我对这个机会感到欣喜若狂。我热衷于让人们对他们每天携带的设备中蕴藏的潜力有更多的控制权。当人们更多地了解计算机,特别是如何制作自己的软件时,整个世界就会变得开放。这让我有机会为那些可能永远不会发现这个世界的人撬开通往这个世界的大门。虽然我之前曾教过个人编程,但这是我第一次在课堂环境中进行教学。我从对教学几乎一无所知到设计自己的课程,包括课程计划、课程和数字学习环境。为什么是福斯?我可以选择教授任何编程语言。我本可以选择 Python 或 Scratch,但我想探索一条不太常见的路径,也许会发现一些被忽视的宝石。由于我教学的时间有限,而且我想教授更多基本概念,因此我想避免教授语法。虽然 Python 作为伪代码对于理解代码是什么的人来说是有意义的,但对于新学习者来说它仍然几乎难以理解,这是我在前几年一对一教授编程时发现的。我决定要么教 Forth,要么教 Haskell。 Forth 很有吸引力,因为它是一种连接语言。您编写指令,它就会按顺序执行所有操作。只要你了解什么是栈,你就可以编写 Forth 程序。 Haskell 很有吸引力,因为它与学生已经接受的如何思考数学变量和函数的方式很好地结合在一起。我见过太多新程序员感到困惑,在编程中,变量是可以包含任何值的框,而不是他们在数学课上学到的代数定义。我最终选择 Forth 有两个原因。首先,更容易融入我为学生准备的定制学习环境。其次,我认为在课堂最终演示中,过程式编程比函数式编程更容易概念化。另一个好处是,使用像 Forth 这样的半晦涩语言可以确保即使是以前学过编程的学生也能从经验中学到一些东西,而不会疏远新学习者。设计课程 在设计课程时,我知道我的时间会很紧迫。我参加了 12 次课程,每周一次,每次一小时。我还知道,如果我布置作业,考虑到他们在我的班级之外生活,他们不太可能完成太多作业。切实的学习成果是让学生在第四环境中创造自己的艺术。这可以是任何东西,从简单的绘图到动画再到游戏。我希望他们在课程结束后能看到并随身携带一些东西。学习某个主题的大量技术细节并且感觉自己没什么可展示的,这可能会令人沮丧。重要的是学生可以在自己的计算机上运行编写的代码。更加重要的是,他们无需下载或安装任何东西即可运行,因为学生可能使用各种操作系统,其中一些操作系统可能无法安装第三方软件。我对学习环境的第一选择是用 Rust 从头开始编写自己的 Forth,并使用 WASM 将其嵌入到我们的课程网站中。不幸的是,解决我的实现中的错误花费的时间比我预期的要长。所以我改变了方向,选择使用 Nick Morgan 的 Easy Forth 作为我们的课程和 Forth 翻译。对于每节课,我都创建了幻灯片和课程计划,并将其上传到学生可以访问的在线门户。其中包括一份 Easy Forth。介绍计算 现在是时候开始与学生一起温习实际课程了。我将笔记本电脑插入大电视以显示幻灯片并开始介绍性讲座。我们首先回顾了计算的历史以及计算机是什么。我最喜欢的部分之一是向他们展示各种设备并询问他们是否是计算机。当我向他们展示算盘并告诉他们这是一台计算机时,他们最初感到困惑。我们的工作定义是“任何计算数字的东西”。他们很快意识到几乎任何东西都可以是计算机,包括他们自己!这是一台电脑!在打破了他们对计算机的看法并设定了他们的期望之后,我开始专门教他们有关 Forth 的知识。我解释了它的使用场所及其嵌入式应用程序。一旦乐趣
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱