SICP Course for Beginners
The SICP course is designed for anyone with no programming background who is interested in Scheme and the essence of programming.
We expect readers to:
- Have high school level mathematics and English foundation
- Have basic knowledge of operating systems (Windows/macOS/Linux), able to open a terminal and use cd command to change directories
If you already know programming, the SICP course is still worth your time to watch and learn. You can use the exercises to determine if you can skip some of the lessons.
Course Materials and Software
Click Help->Mogan Planet
in Mogan to find lecture notes, slides, exercises, and errata for the SICP course.
Materials provided in this course:
- Interactive SICP: https://gitee.com/XmacsLabs/interactive-sicp
- The lecture notes used in this course are derived from the SICP web version, manually organized into TeXmacs documents by Mogan Lab
- Each lesson's notes and exercises exist as separate TeXmacs documents in this repository
- Mogan STEM Suite: https://mogan.app
- S7 Scheme interpreter package: https://gitee.com/XmacsLabs/s7-scheme-binary
- S7 Scheme official website: https://ccrma.stanford.edu/software/s7/
Related materials:
- Nanjing University's SICP Course Page
- Peking University's SICP Course Page
- National University of Singapore's SICP Course Page
- Berkeley's CS 61A: Structure and Interpretation of Computer Programs
- MIT's SICP Course
- SICP Chinese translation: Structure and Interpretation of Computer Programs
- SICP textbook official website: https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/index.html
- R7RS Small: https://small.r7rs.org
SICP Course 1 (For Those with Background)
- Basic Principles of Programming
- Expression Evaluation
- Naming and Functions
- Substitution Model
- Conditional Expressions and Predicates
- Newton's Method for Square Root
- Abstraction with Functions