|
| 1 | +# SICP Course for Beginners |
| 2 | +The SICP course is designed for anyone with no programming background who is interested in Scheme and the essence of programming. |
| 3 | + |
| 4 | +We expect readers to: |
| 5 | ++ Have high school level mathematics and English foundation |
| 6 | ++ Have basic knowledge of operating systems (Windows/macOS/Linux), able to open a terminal and use cd command to change directories |
| 7 | + |
| 8 | +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. |
| 9 | + |
| 10 | +## Course Materials and Software |
| 11 | +Click `Help->Mogan Planet` in Mogan to find lecture notes, slides, exercises, and errata for the SICP course. |
| 12 | + |
| 13 | +Materials provided in this course: |
| 14 | ++ Interactive SICP: https://gitee.com/XmacsLabs/interactive-sicp |
| 15 | + - The lecture notes used in this course are derived from the SICP web version, manually organized into TeXmacs documents by Mogan Lab |
| 16 | + - Each lesson's notes and exercises exist as separate TeXmacs documents in this repository |
| 17 | ++ Mogan STEM Suite: https://mogan.app |
| 18 | ++ S7 Scheme interpreter package: https://gitee.com/XmacsLabs/s7-scheme-binary |
| 19 | ++ S7 Scheme official website: https://ccrma.stanford.edu/software/s7/ |
| 20 | + |
| 21 | +Related materials: |
| 22 | ++ Nanjing University's [SICP Course Page](https://cs.nju.edu.cn/xyfeng/teaching/SICP/index.htm) |
| 23 | ++ Peking University's [SICP Course Page](https://www.math.pku.edu.cn/teachers/qiuzy/progtech/) |
| 24 | ++ National University of Singapore's [SICP Course Page](https://www.comp.nus.edu.sg/~cs1101s/) |
| 25 | ++ Berkeley's [CS 61A: Structure and Interpretation of Computer Programs](https://cs61a.org) |
| 26 | ++ MIT's [SICP Course](https://ocw.mit.edu/courses/6-001-structure-and-interpretation-of-computer-programs-spring-2005/pages/syllabus/) |
| 27 | ++ SICP Chinese translation: [Structure and Interpretation of Computer Programs](https://book.douban.com/subject/1148282/) |
| 28 | ++ SICP textbook official website: https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/index.html |
| 29 | ++ R7RS Small: https://small.r7rs.org |
| 30 | + |
| 31 | +## SICP Course 1 (For Those with Background) |
| 32 | +1. [Basic Principles of Programming](https://www.bilibili.com/video/BV1CobweCESn) |
| 33 | +2. [Expression Evaluation](https://www.bilibili.com/video/BV1rwbAegE1S) |
| 34 | +3. [Naming and Functions](https://www.bilibili.com/video/BV1EFtme4Esu) |
| 35 | +4. [Substitution Model](https://www.bilibili.com/video/BV1jRsye3ErU) |
| 36 | +5. [Conditional Expressions and Predicates](https://www.bilibili.com/video/BV1XqsXeRE39) |
| 37 | +6. [Newton's Method for Square Root](https://www.bilibili.com/video/BV1SqsqezEwn) |
| 38 | +7. [Abstraction with Functions](https://www.bilibili.com/video/BV1wJxLeiEQ1) |
| 39 | + |
| 40 | +## SICP Course 2 (For Those with Background) |
| 41 | +1. [Iterative Summation](https://www.bilibili.com/video/BV1Z4xPeFEdz) |
| 42 | +2. [Linear Recursive Summation](https://www.bilibili.com/video/BV19HxTewEfz) |
| 43 | +3. [Tail Recursion](https://www.bilibili.com/video/BV14Vx6e2EXY) |
| 44 | +4. [Fibonacci Sequence](https://www.bilibili.com/video/BV1DqxpeTE1z) |
| 45 | +5. [Tree Recursion and Hash Tables](https://www.bilibili.com/video/BV1KWxYeoEzk) |
| 46 | +6. [Side Effects](https://www.bilibili.com/video/BV1R84MezEa7) |
| 47 | +7. [Function Libraries](https://www.bilibili.com/video/BV1x32sYvENV) |
| 48 | +8. [Algorithm Complexity](https://www.bilibili.com/video/BV1SX26YQEA4) |
| 49 | +9. [Computing b^n](https://www.bilibili.com/video/BV1Kc2rY7Eux) |
| 50 | +10. [Matrix Fast Power](https://www.bilibili.com/video/BV1qJmLYwEXw) |
| 51 | +11. [Euclidean Algorithm](https://www.bilibili.com/video/BV1c72oYQEzM) |
0 commit comments