超越SICP——Scheme的概念机器设计与实现
编程语言
2024-12-03 v1
摘要
计算机科学教育始终是Scheme的核心。该语言于1970年代同时被设计,用于MIT课程6.001和教科书《结构与计算机程序解释》(SICP)。为解释在高阶过程存在下的变量运行时范围,SICP引入一种称为环境模型的心理模型,以及环境和数据结构的图示表示。最近,概念机器的概念在计算机科学教育中浮现:一套预测抽象,定义计算设备的结构和行为。概念机器的倡导者认为,学习者在复杂的动态概念(如Scheme的计算结构)伴随简洁概念机器时受益。本文我们从Scheme的一个子语言开始,该子语言足以支撑SICP中所有程序,我们将其称为SICP Scheme。我们将环境模型扩展为SICP Scheme的完整概念机器,足以作为CS1课程中心心理模型,并通过计算机生成的可视化进行演示。移动到SICP Scheme之外,我们展示概念机器如何进一步扩展以解释Scheme的call/cc,从而通过连贯的心理模型使这一强大概念对初学者可及。所提出的概念机器是本校开发的基于网页的Scheme实现的核心。
引用
@article{arxiv.2412.01545,
title = {Beyond SICP -- Design and Implementation of a Notional Machine for Scheme},
author = {Kyriel Abad and Martin Henz},
journal= {arXiv preprint arXiv:2412.01545},
year = {2024}
}