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 0 due Sunday 8/30

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 Project 1 due Sunday 9/6 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 2 due Sunday 9/20

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
Project 3 due Friday 10/9 Midterm 10/17
7: 10/4 - 10/10 11. Recursion II 12. Recursion III 10. Trees and Fractals 11. Recursive Reporters 7. Recursion II
Project 3 due Friday 10/9
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 4.5 due Friday 10/23

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 Project 5 due Friday 11/13
11: 11/1 - 11/7 19. Election 2020! 20. Social Implications III GO VOTE!!! 16. Text Processing in Python 11. Social Implications (Election) Project 5 due Friday 11/13
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. More Python Proficiency Final Project Proposal
due Friday 11/15
13: 11/15 - 11/21 22. Concurrency 23. Guest Lecture 1 19. Concurrency Final Project Work Session 13. Concept Overview Final Project due Friday 12/4
14: 11/22 - 11/28 24. Guest Lecture II
Thanksgiving!
Final Project Work Session Thanksgiving! Thanksgiving! Final Project due Friday 12/4
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 Project due Friday 12/4 FINAL EXAM ON
WEEKEND of 12/12