Computer science is a tremendously broad academic discipline. The areas of globally distributed systems, artificial intelligence, robotics, graphics, security, scientific computing, computer architecture, and dozens of emerging sub-fields all expand with new techniques and discoveries every year. The rapid progress of computer science has left few aspects of human life unaffected. Commerce, communication, science, art, leisure, and politics have all been reinvented as computational domains.

    计算机科学是一门极其广泛的学术学科。全球分布式系统、人工智能、机器人、图形学、安全、科学计算、计算机体 系结构以及数十个新兴子领域每年都会有新的技术和发现。计算机科学的快速发展使人类生活的几个方面没有受到影响。商业、通信、科学、艺术、休闲和政治都被重新塑造为计算领域。

    The high productivity of computer science is only possible because the discipline is built upon an elegant and powerful set of fundamental ideas. All computing begins with representing information, specifying logic to process it, and designing abstractions that manage the complexity of that logic. Mastering these fundamentals will require us to understand precisely how computers interpret computer programs and carry out computational processes.

    计算机科学的高生产力之所以可能,是因为该学科建立在一套优雅而强大的基本理念之上。所有的计算都始于代表信息,指定处理信息的逻辑,以及设计管理该逻辑的复杂性的抽象概念。掌握这些基本原理将要求我们准确地理解计算机如何解释计算机程序并执行计算过程。

    These fundamental ideas have long been taught using the classic textbook Structure and Interpretation of Computer Programs (SICP) by Harold Abelson and Gerald Jay Sussman with Julie Sussman. This text borrows heavily from that textbook, which the original authors have kindly licensed for adaptation and reuse under a Creative Commons license. These notes are published under the Creative Commons attribution non-commericial share-alike license version 3.

    长期以来,我们一直在使用Harold Abelson和Gerald Jay Sussman与Julie Sussman编写的经典教科书《计算机程序的结构与解释》(SICP)教授这些基本思想。这篇课文在很大程度上借用了这本教科书,原作者已经友好地授权在知识共享协议下进行改编和再使用。这些笔记是在知识共享署名的非商业性共享许可3版下出版的。