MIT · Spring 2026 · Software Construction

写代码,
写得对。

一门关于如何构建安全免于缺陷、易于理解、随时可变的软件的课程。使用 TypeScript,从静态检查到并发网络,逐讲精读官方材料。

CourseStack 学习层与官方题面分开

本页的中文精读与自学支架由 CourseStack 独立编写,用于建立软件构建的 mental model;题号、接口、测试、课程政策与交付要求始终以 MIT 6.102 Spring 2026 官方站点为准。本站不再托管原站离线镜像。

19
讲阅读课
5
Problem Set
1
团队项目
2
考试

三大目标

课程的每一个概念、每一项技能,都围绕这三个坐标校准。

🛡

安全免于缺陷

正确今天,也正确于未知的未来。用静态检查、全面测试和不变量,在 bug 出现之前捕获它。

Safe from Bugs
📖

易于理解

与未来的程序员——包括未来的你——清晰沟通。用精确的规格说明和抽象,让代码自己解释自己。

Easy to Understand
🔄

随时可变

设计时就不打算重写。用表示独立性和模块化,让变化只发生在一个地方。

Ready for Change

课程讲次

19 讲阅读课,点击跳转官方阅读材料。

Problem Sets

5 个个人作业,每个含 alpha 提交、代码审查、beta 迭代。

PS0 · Turtle Graphics

海龟绘图

熟悉工具链与 TypeScript 标准库,用 drawSquare、drawApproximateCircle 等函数创作个人艺术作品。

Alpha 02-09 · Beta 02-17
PS1 · Specific Graphics

特定图形

测试先行开发,用 lerp 与弱/强规格说明绘制复杂静态图形,引入 Bézier 曲线与动画。

Alpha 02-23 · Beta 03-02
PS2 · Multi-Startup Set

多起点集合

IntervalSet 的两种 rep 实现、泛型 MultiIntervalSet、similarity 函数,深入抽象数据类型。

Alpha 03-09 · Beta 03-16
PS3 · Memely

Memely

递归 ADT 与 ParserLib:toString、equalValue、Canvas 尺寸计算与图片生成。

Alpha 04-06 · Beta 04-13
PS4 · Memory Scramble

记忆扰乱

Board ADT、HTTP 协议交互、并发等待、map/watch 回调——并发与网络的实战。

Alpha 04-21 · Beta 04-29

团队项目

学期末的三人团队软件工程实践。

Project · ⭐ Star Battle

Star Battle

实现 Star Battle 谜题的网络客户端/服务器系统。包含 GUI、ParserLib 解析、自定义 ADT、迭代开发与代码审查。

迭代 0 04-28 · 截止 05-08

考试

闭卷,可带一张手写笔记。完整试题与解答请前往 MIT 官方考试归档核对。

Exam 1 · Midterm

期中考试

覆盖课程 1–10:静态检查、规格说明、抽象数据类型、接口与函数式编程。80 分钟。

80 min 闭卷 + 笔记 占 20%
Exam 2 · Final

期末考试

覆盖课程 11–19:递归类型、文法分析、并发、网络、小型语言。综合考察。120 分钟。

120 min 闭卷 + 笔记 占 30%