CS10: The Beauty and Joy of Computing

Week Lecture 1 Lecture 2 Lab 1
Lab 2 Discussion Project Notes
1: 8/23 - 8/29 N/A 1. Welcome and Abstraction N/A 1. Welcome to Snap! 1. Welcome to CS 10! Project 0 due Sunday 8/30
2: 8/30 - 9/5 2. Functions
3. Abstraction + Number Systems 2. Build Your Own Blocks!
3. Conditionals and Reporters 2. Number Representation and Conditionals
Project 1 due Sunday 9/6
3: 9/6 - 9/12 Labor Day! 4. Lists and Scoping 4. Abstraction
5. Lists 3. Scoping, Mutability, and Quest Review Quest Sunday 9/13!
4: 9/13 - 9/19 5. Social Implications I 6. Algorithms
Project 2 Work Session 6. Algorithms 4. Algorithms Project 2 due Sunday 9/20
5: 9/20 - 9/26 7. Algorithmic Complexity 8. Testing + 2048! 7. Algorithmic Complexity 8. Testing + Project 3! 5. Algorithmic Complexity Project 3 due Friday 10/9
6: 9/27 - 10/3 9. Recursion I 10. Social Implications II 9. Boards Project 3 Work Session
6. Recursion I
Midterm 10/17
7: 10/4 - 10/10 11. Recursion II 12. Recursion III 10. Trees and Fractals 11. Recursive Reporters 7. Recursion II
8: 10/11 - 10/17 13. Procedures as Data 14. Programming Paradigms 12. Functions as Data (Optional)

Project 4 Work Session
General Catch-Up Lab 8. Midterm Review
Project 4 due Wednesday 10/21

Project 4.5 due Friday 10/23
9: 10/18 - 10/24
15. Intro to Python! 16. Data Structures in Python 13. Welcome to Python! 14. Data Structures in Python 9. Intro to Python
Project 5 due Friday 11/13
10: 10/25 - 10/31 17. OOP in Python 18. HOFs in Python 15. OOP in Python Project 4 Work Session
10. Data Structures in Python
11: 11/1 - 11/7 19. Election 2020! 20. Social Implications III GO VOTE!!! 16. Text Processing in Python 11. Social Implications (Election)
12: 11/8 - 11/14 21. Tree Recursion and
Game Theory in Python!
Veteran's Day! 17. Intro to Data Science in
Python
18. Snap! and Python Libraries 12. OOP in Python Final Project Proposal
due Friday 11/15
13: 11/15 - 11/21 22. Concurrency 23. Guest Lecture: Human-Computer Interaction 19. Concurrency Final Project Work Session 13. Concept Overview Final Project due Friday 12/4
14: 11/22 - 11/28 24. Guest Lecture: Artificial Intelligence
Thanksgiving!
Final Project Work Session Thanksgiving! Thanksgiving!
15: 11/29 - 12/5 25. Alumni Panel
26. Conclusion and Farewell Final Project Work Session Final Project Work Sessions 14. Final Review + Farewell FINAL EXAM ON
WEEKEND of 12/12