Skip to content

Table of Contents

CS 61A: The Structure and Interpretation of Computer Programs

This note is a table of contents, for easy navigation to notes in CS 61A. Get back to main toc EECS

CS 61A Notes:

0. Introduction to CS 61A

1. Python Interpreter

2. Expressions, Variables, and Functions

3. Control

4. Higher Order Functions I

[[5. Environment Diagrams]]

  • [[5.1 Variables and Functions]]

  • [[5.2 Higher-Order Functions]]

  • [[5.3 Potpourri of Examples]]

[[6. Higher-Order Functions II]]

  • [[6.1 Currying]]

  • [[6.2 Chaining]]

  • [[6.3 Self-Reference]]

[[6. Recursion and Tree Recursion]]

  • [[6.1 The Concept and Motivation of Recursion]]

  • [[6.2 Introductory Recusion Examples]]

  • [[6.3 Problem-Solving with Recursion]]

  • [[6.4 Tree Recursion]]

  • [[6.5 Inivolved Recursion Practice]]

[[7. Sequences]]

  • [[7.1 Lists, For-Loops, Ranges]]

  • [[7.2 Tuples and Dictionaries]]

  • [[7.3 Recursion Involving Sequences]]

[[8. Mutability]]

  • [[8.1 The Concept of Mutability]]

  • [[8.2 List Mutation]]

  • [[8.3 Box-and-Pointer Diagrams]]

[[9. Object-Oriented Programming]]

  • [[9.1 The Concept of Objects]]

  • [[9.2 Classes, init, methods]]

  • [[9.3 str and repr]]

  • [[9.4 Pointer Diagrams with Objects]]

[[10. Iterators and Generators]]

  • [[10.1 Creating Iterators]]

  • [[10.2 Creating Generators]]

[[11. Trees and Linked Lists]]

  • [[11.1 Linked List Class]]

  • [[11.2 Constructing List Methods with Link Lists]]

  • [[11.3 Destructive and Non-Destructive Functions]]

  • [[11.4 The Tree Class]]

  • [[11.5 Common Tree Problems]]

  • [[11.6 More Involved Practice with Trees and Linked Lists]]

[[12. Efficiency]]

  • [[12.1 Time Complexity]]

  • [[12.2 Space Complexity]]

[[13. Scheme]]

  • [[13.1. Basic Scheme Syntax]]

  • [[13.2 Scheme Lists]]

  • [[13.3 Quotes and Quasiquotes]]

  • [[13.4 Scheme Data Abstraction]]

  • [[13.5 Tail Recursion]]

[[14. Interpreters]]

  • [[14.1 REPL]]

[[15. Regex and BNF]]

  • [[15.1 Declarative Programming]]

  • [[15.2 Regex Groups, Sets]]

  • [[15.3 Regex Quantifiers]]

  • [[15.4 Regex Practice]]

  • [[15.5 Creating Grammar with BNF]]

  • [[15.6 BNF Quantifiers]]

  • [[15.7 BNF Parse Trees]]

[[16. SQL]]

  • [[16.1 Data Tables]]

  • [[16. SQL Basic Queries: SELECT, FROM, WHERE, ORDER BY, LIMIT]]

  • [[16.3 SQL Agreggates and Aliasing: HAVING, GROUP BY]]

  • [[16.4 SQL Queries]]

[[A. Problem-Solving Strategy]] [[B. Exam Preparation]]