灯下 登录
学科

计算机科学

从 SICP 开始,把计算史、程序求值、数据抽象和经典书架接成一条可读的主线。

Programs must be written for people to read, and only incidentally for machines to execute.

程序首先是给人读的,给机器执行只是顺带。

1 门课程 478 个单元 代码求值
Computing history map

计算史地图

向右滑动浏览
计算史地图 从 Babbage 和 Ada 到 SICP、开源授权与当代编程文化的计算史时间轴,每个节点可进入对应课程或占位位置。 1830 1854 1879 1910 1928 1936 1948 1965 1972 1985 1996 2022 2025 1830-1840 · 分析机、程序注记与可编程机器想象 · 计划 1830 Babbage… 1830-1840 · 分析机、程序注记与可编程机器想象 机器设想 计划 Boole 1854 · 逻辑代数把推理写成可计算形式 · 计划 1854 Boole Boole 1854 · 逻辑代数把推理写成可计算形式 逻辑代数 计划 Frege 1879 · 概念文字与现代逻辑记法 · 计划 1879 Frege Frege 1879 · 概念文字与现代逻辑记法 逻辑 计划 1910-1913 · Russell / Whitehead 与逻辑主义工程 · 计划 1910 Princip… 1910-1913 · Russell / White… math ref 计划 Hilbert 第二问题 · 一致性、完备性和形式系统边界 · 计划 1928 Hilbert… Hilbert 第二问题 · 一致性、完备性和形式系统… math ref 计划 Gödel 1931 · 不完备性定理改变形式系统预期 · 计划 1931 Gödel Gödel 1931 · 不完备性定理改变形式系统预期 math ref 计划 1936 · 可计算性、lambda 演算和图灵机 · 计划 1936 Turing … 1936 · 可计算性、lambda 演算和图灵机 可计算性 计划 Shannon 1948 · 信息论把通信、熵和编码接入计算 · 计划 1948 Shannon Shannon 1948 · 信息论把通信、熵和编码接… 信息论 计划 Dijkstra 1965 · 程序结构、最短路和工程严谨性 · 计划 1965 Dijkstra Dijkstra 1965 · 程序结构、最短路和工程… 工程 计划 1968 · 结构化程序设计的公共争论 · 计划 1968 Go To C… 1968 · 结构化程序设计的公共争论 结构化 计划 UNIX / C 1972 · 可移植系统和语言共演 · 计划 1972 UNIX / C UNIX / C 1972 · 可移植系统和语言共演 系统 计划 Backus 1977 · Can Programming Be Liberated from the von Neumann Style? · 计划 1977 Backus Backus 1977 · Can Programmi… 函数式 计划 SICP 1985 · 把程序设计讲成抽象和解释的学科 · 在线 1985 SICP 19… SICP 1985 · 把程序设计讲成抽象和解释的学科 SICP 在线 SICP 1996 · 第二版和 Scheme 教学传统 · 在线 1996 SICP 2nd SICP 1996 · 第二版和 Scheme 教学传统 SICP 在线 SICP 2022 · sarabander 版本按 CC BY-SA 4.0 发布 · 在线 2022 SICP CC… SICP 2022 · sarabander 版本按 … CC BY-SA 在线 2024 · LLM 进入日常编程语境,读代码和改代码的边界改变 · 在线 2024 vibe co… 2024 · LLM 进入日常编程语境,读代码和改代码… 当代 在线
Classic shelf

经典书架

1 门

19 世纪基础

placeholder · Boole、Frege、Babbage/Ada 与早期逻辑机器想象。

计划 这一段先在计算史地图中占位,后续按经典文本补入。

20 世纪奠基

placeholder · Hilbert、Gödel、Turing、Church 与 Shannon。

计划 这一段先在计算史地图中占位,后续按经典文本补入。

工程觉醒期

placeholder · Dijkstra、UNIX、C 和结构化程序设计。

计划 这一段先在计算史地图中占位,后续按经典文本补入。

现代经典

SICP online · 程序、过程、抽象和解释器的共同语言。

在线 第 1-5 章 · 全书编译性自译

SICP

Structure and Interpretation of Computer Programs

从 sarabander/sicp 固定 commit 派生的 SICP 全 5 章中英对照学习版:正文、代码、356 道习题、vibe 实践和派生统计全部入 unit。

第 1 章概览 · 11.1 The Elements of Programming · 171.2 Procedures and the Processes They Generate · 271.3 Formulating Abstractions with Higher-Order Procedures · 23第 2 章概览 · 12.1 Introduction to Data Abstraction · 212.2 Hierarchical Data and the Closure Property · 412.3 Symbolic Data · 252.4 Multiple Representations for Abstract Data · 82.5 Systems with Generic Operations · 25第 3 章概览 · 13.1 Assignment and Local State · 123.2 The Environment Model of Evaluation · 83.3 Modeling with Mutable Data · 323.4 Concurrency: Time Is of the Essence · 153.5 Streams · 39第 4 章概览 · 14.1 The Metacircular Evaluator · 324.2 Variations on a Scheme — Lazy Evaluation · 144.3 Variations on a Scheme — Nondeterministic Computing · 244.4 Logic Programming · 30第 5 章概览 · 15.1 Designing Register Machines · 125.2 A Register-Machine Simulator · 185.3 Storage Allocation and Garbage Collection · 65.4 The Explicit-Control Evaluator · 135.5 Compilation · 30派生统计 · 1

当代演化

placeholder · 开源、Notebook、LLM 与 vibe coding 的新读法。

计划 这一段先在计算史地图中占位,后续按经典文本补入。
CS · 闲灯 CS 题谱占位 · 后续接入算法 / 语言 / 系统练习