UC Berkeley 经典课程 —— CS 61A: Structure and Interpretation of Computer Programs (计算机程序的结构和解释)是计算机科学的入门课程。该课程主要教授关于编程的知识,而不是如何使用某种特定的编程语言。同时,考虑到一系列控制程序复杂性的技术,例如函数式编程,数据抽象和面向对象编程。掌握特定的编程语言是研究这些通用技术的非常有用的副作用。但是,一旦学生了解了编程的本质,会发现掌握一门新的编程语言只是几天的工作。
课程大纲覆盖范围包括:LISP 概览,计算过程,高阶过程,复合数据,Henderson-Escher的例子,符号化求导系统:引用,模式匹配:基于规则的代换,通用运算符,赋值,状态和副作用,计算对象,流 I,流 II,元循环求值器 I,元循环求值器 II,逻辑式程序设计 I ……
该课程一直保持高效的更新,最近甚至采用 Python 3 版本,作为课程实验的主要演示语言工具。同时利用 Python 程序执行可视化解释器辅助教学。最新的 CS 61A 2018 年春季课程正在线上同步更新。由于该课程一直是计算机科学专业的必修课程,国内也有中文版的课程翻译资源。