SELF-STUDY · Spring 2026 · TypeScript
自学期支架
一套干净室重建的 MIT 6.102 问题集练习环境,包含 5 个 TypeScript 问题集的规格说明、源码骨架、测试框架与课程地图。所有实现均从 TODO 开始——这是故意的。
关于此支架
本项目不是 MIT 私有 github.mit.edu 起始仓库的副本,也不包含学生解答。它从公开讲义和 TypeDoc 重建了公开的 API 接口、练习序列、可运行的 TypeScript 设置,以及少量原创的冒烟测试基础设施。
Node 22+TypeScriptMocha干净室
问题集
PS0 · Turtle Graphics
海龟绘图
熟悉工具链与 TypeScript 标准库,用 drawSquare、drawApproximateCircle 等函数创作个人艺术作品。
PS1 · Specific Graphics特定图形
测试先行开发,用 lerp 与弱/强规格说明绘制复杂静态图形,引入 Bézier 曲线与动画工具箱。
PS2 · Multi-Startup Set多起点集合
IntervalSet 的两种 rep 实现、泛型 MultiIntervalSet、similarity 函数,深入抽象数据类型。
PS3 · MemelyMemely
递归 ADT 与 ParserLib:immutable AST、结构等价性、表达式解析、Canvas 渲染。
PS4 · Memory Scramble记忆扰乱
Board ADT、HTTP 并发交互、异步等待与 watch 回调——并发与网络的实战。
课程地图
推荐学习顺序
| 阶段 | 阅读重点 | 问题集 |
|---|---|---|
| 0 | 静态检查、测试、代码审查、TypeScript 基础、Git 1 | PS0 |
| 1 | 规格说明、设计规格说明、Git 2 | PS1 |
| 2 | ADT、AF/RI、接口与子类型、等价性 | PS2 |
| 3 | 函数式编程、递归类型、文法与分析、调试 | PS3 |
| 4 | 并发、Promise、互斥、回调/GUI、网络 | PS4 |
完成清单
PS0
- drawSquare
- chordLength
- drawApproximateCircle
- distance
- findPath
- 个人艺术 + magic-number 审查
PS1
- 弱 lerp 规格/测试/实现
- lerpColor
- fillGradient
- makePalette
- 强 lerp 规格/测试/实现
- interpolate
- 强化的 Bézier 规格 + 测试 + 实现
- 动画工具箱 + 示例
PS2
- IntervalSet 分区/测试
- map 表示 + AF/RI/checkRep
- 泛型标签测试
- array 表示 + AF/RI/checkRep
- makeIntervalSet
- MultiIntervalSet
- similarity 测试
- helper ADT
- similarity
PS3
- 文法笔记
- immutable 递归 AST
- 结构等价性
- parser
- toString 往返
- size 操作
- 渲染
PS4
- board-file parser
- 同步 Board + 游戏逻辑
- look / flip
- 异步 Board
- 无忙等等待
- 并发玩家测试
- map
- watch
来源与版权
本项目从公开讲义和 TypeDoc 重建,不包含 MIT 私有起始仓库代码或学生解答。公开来源:web.mit.edu/6.102/www/sp26/。题目规格、考试与作业原始材料见 MIT 6.102 官方站点。