Welcome to Composing Programs, a free online introduction to programming and computer science.
欢迎来到《编写程序》,这是一个免费的编程和计算机科学在线入门课程。
In the tradition of SICP, this text focuses on methods for abstraction, programming paradigms, and techniques for managing the complexity of large programs. These concepts are illustrated primarily using the Python 3 programming language.
在 SICP 的传统中,本书重点介绍抽象方法、编程范式以及管理大型程序复杂性的技术。这些概念主要通过 Python 3 编程语言进行说明。
In addition to reading the chapters below, you can apply your knowledge to the programming projects that accompany the text and visualize program execution using the Online Python Tutor.
除了阅读下面的章节,您还可以将您的知识应用于与文本相关的编程项目,并使用在线 Python 教师可视化程序执行。
Instructors: If you are interested in adapting any of these materials for your courses, please fill out this short survey so that we can support your efforts.
教师:如果您有兴趣将这些材料适应到您的课程中,请填写这份简短的调查,以便我们可以支持您的工作。
Chapter 1: Building Abstractions with Functions
第 1 章:用函数构建抽象
1.1 Getting Started 1.1 开始使用
1.2 Elements of Programming
1.2 编程元素
1.3 Defining New Functions
1.3 定义新函数
1.4 Designing Functions 1.4 设计函数
1.5 Control 1.5 控制
1.6 Higher-Order Functions
1.6 高阶函数
1.7 Recursive Functions 1.7 递归函数
Chapter 2: Building Abstractions with Data
第二章:用数据构建抽象
2.1 Introduction 2.1 引言
2.2 Data Abstraction 2.2 数据抽象
2.3 Sequences 2.3 序列
2.4 Mutable Data 2.4 可变数据
2.5 Object-Oriented Programming
2.5 面向对象编程
2.6 Implementing Classes and Objects
2.6 实现类和对象
2.7 Object Abstraction 2.7 对象抽象
2.8 Efficiency 2.8 效率
2.9 Recursive Objects 2.9 递归对象
Chapter 3: Interpreting Computer Programs
第三章:解读计算机程序
3.1 Introduction 3.1 引言
3.2 Functional Programming
3.2 函数式编程
3.3 Exceptions 3.3 例外情况
3.4 Interpreters for Languages with Combination
3.4 组合语言的解释器
3.5 Interpreters for Languages with Abstraction
3.5 抽象语言的解释器
Chapter 4: Data Processing
第 4 章:数据处理
4.1 Introduction 4.1 引言
4.2 Implicit Sequences 4.2 隐式序列
4.3 Declarative Programming
4.3 声明式编程
4.4 Logic Programming 4.4 逻辑编程
4.5 Unification 4.5 统一
4.6 Distributed Computing
4.6 分布式计算
4.7 Distributed Data Processing
4.7 分布式数据处理
4.8 Parallel Computing 4.8 并行计算