CS 10: The Beauty and Joy of Computing
UC Berkeley, Spring 2022
A gentle but thorough introduction to computer science.
Instructor: Michael Ball
RRR Week Announcements
You’ve completed CS10!! CONGRATULATIONS!!
Lecture 11AM Monday’s, Wednesday’s in Hearst Field Annex A1
Wrap Up and Conclusion
All Self-Check Links
Complete these by the final exam, if you haven’t.
- Lecture 2 Self-Check
- Lecture 3 Self-Check: Numbers
- Lecture 4 & 5 Self-Check: Lists
- Lecture 6 Self-Check: Quest Review
- Lecture 7 Self-Check: Algorithmic Complexity
- Lecture 8 Self-Check: Testing
- Lecture 9 Self-Check: Recursion 1
- Lecture 16 & 17: Python 2 Self-Check (Lists)
- Lecture 18 Self-Check: Python OOP
- Lecture 19: Python Part 4: HOFs and Loose Ends
- Lecture 20 Self-Check: Social Implications – Privacy
- Lecture 21 Self-Check: Concurrency
- Lecture 22 Self-Check: Limits of Computing
CS10 Calendar
Week | Date | Lecture | Readings | Lab | Discussion | Assignment |
---|---|---|---|---|---|---|
1 | Mon 1/17 | No Class | No Class | No Class | No Class | No Class |
Tue 1/18 | release HW 0: Setup (due Sat 1/22) | |||||
Wed 1/19 | 1. Welcome to CS10 & Abstraction (Slides) | (Recording) | |||||
Thur 1/20 | 1. Welcome to Snap! (No checkoff) | |||||
Fri 1/21 | Snap! Scavenger Hunt (solution) | HW 0 due Sat 1/22 | ||||
2 | Mon 1/24 | 2. Functions (Slides) | (Recording) | (Self-Check) | 1. Learning to Code | release HW 1: Wordmatch | ||
Tue 1/25 | 2. Build Your Own Blocks (due 2/3) | |||||
Wed 1/26 | 3. Numbers and Abstraction (Slides) | (Recording) | |||||
Thur 1/27 | RQ 1 (in lab) | 3. Conditionals and Reporters & Abstraction (due 2/3) | ||||
Fri 1/28 | 2. Number Rep, Booleans, Conditionals (solution) | |||||
3 | Mon 1/31 | 4. Lists and Scoping (Slides) | (Recording) | (Self-Check) | 2. Intro to Abstraction | 4. Lists & HOFs (due 2/10) | HW 1 Party | |
Tue 2/1 | 4. Lists & HOFs (due 2/10) | HW 1 due | ||||
Wed 2/2 | 5. Lists & HOFs (Slides) | (Recording) | (Self-Check) | RQ 2 (MW Labs) | 5. Algorithms (due 2/10) | release HW 2: Mastermind (due 2/16) | ||
Thur 2/3 | RQ 2 (TTh Labs) | 5. Algorithms (due 2/10) | ||||
Fri 2/4 | 3. Domain and Range, HOFs & Scoping (solution) | |||||
4 | Mon 2/7 | 6.Q&A / Review for Quest (Slides) (Recording) | ||||
Tue 2/8 | QUEST | |||||
Wed 2/9 | 7. Algorithms (recording) | (slides) | 6: Algorithmic Complexity (due 2/16) | ||||
Thur 2/10 | 6: Algorithmic Complexity (due 2/17) | |||||
Fri 2/11 | 4. Algorithms(solution) | |||||
5 | Mon 2/14 | 8. Testing + 2048 (recording) | (slides) | 3a. What is an Algorithm? 3b. How Algorithms Shape Our World 3c. Algorithms are Great and All, But They Can Also Ruin Lives | 7: Testing + Project 1 (due 2/23) | ||
Tue 2/15 | 7: Testing + Project 1 (due 2/24) | HW 2 Party | ||||
Wed 2/16 | 9. Testing & 2048(recording) | RQ 3 (MW Labs) | 8: Boards (Optional)(due 2/23) | HW2 due | ||
Thur 2/17 | RQ 3 (TTh Labs) | 8: Boards (Optional)(due 2/24) | release Proj 1: 2048 (due 3/02) | |||
Fri 2/18 | 5. Algorithmic Complexity (solution) | |||||
6 | Mon 2/21 | Holiday | 4a. Blown to Bits: Chapter 1 4b. Big O Notation — Simply explained | NO LAB | ||
Tue 2/22 | NO LAB | |||||
Wed 2/23 | 10. Recursion I (Fractals) (Slides) | (Recording) | (Self-Check) | RQ 4 (MW Labs) | 9: Trees and Fractals(due 3/02) | |||
Thur 2/24 | RQ 4 (TTh Labs) | 9: Trees and Fractals(due 3/03) | PROJ 1 Party | |||
Fri 2/25 | 6. Recursion I(solution) | |||||
7 | Mon 2/28 | 11. Social Implications of Computing II - Global Impact of Computing (Notes) | (Slides) | (Recording) | 5. Connected, but Alone? (video) | 10: Recursive Reporters (due 3/07) | PROJ 1 Party | |
Tue 3/01 | 10: Recursive Reporters (due 3/08) | |||||
Wed 3/02 | 12. Recursion II (Count Change) (slides) | (Recording) | RQ 5 (MW Labs) | Proj 1 Work Session | PROJ 1 due | ||
Thur 3/03 | RQ 5 (TTh Labs) | Proj 1 Work Session | ||||
Fri 3/04 | 7. Recursion II (solution) | release Proj 2: Explore Post (due 3/16) | ||||
8 | Mon 3/07 | 13. Procedures as Data - Higher Order Procedures(Recording) | (Slides) | 6. How app developers are keeping us addicted to our phones | 11: Functions as Data, HOFs (due 3/16) | ||
Tue 3/08 | 11: Functions as Data, HOFs (due 3/17) | |||||
Wed 3/09 | 14. Programming Paradigms(recording) | (slides) | RQ 6 (MW Labs) | Midterm Work Session | |||
Thur 3/10 | RQ 6 (TTh Labs) | Midterm Work Session | ||||
Fri 3/11 | Midterm Review(solutions) | Midterm Review Session | ||||
9 | Mon 3/14 | MIDTERM (Review Lecture) (recording) | (slides) | 7. Humans Need Not Apply (Optional) | |||
Tue 3/15 | ||||||
Wed 3/16 | 15. Python I - Intro to Python (recording) | (slides) | 12: Welcome to Python (due 3/30) | Proj 2 due | |||
Thur 3/17 | 12: Welcome to Python (due 3/31) | |||||
Fri 3/18 | 9. Intro to Python (solutions) | PROJ 2 comments due; | ||||
10 | Mon 3/21 | Holiday | ||||
Tue 3/22 | Holiday | |||||
Wed 3/23 | Holiday | |||||
Thur 3/24 | Holiday | |||||
Fri 3/25 | Holiday | |||||
11 | Mon 3/28 | 16. Python II - Built-in Types, Data Structures(recording) | (slides) | 8. Why Python | 13: Data Structures in Python (due 4/04) | release Final Proj Proposal (due 4/02) | |
Tue 3/29 | 13: Data Structures in Python (due 4/05) | release Homework 3 (due 4/14) | ||||
Wed 3/30 | 17. Python III - OOP in Python(recording) | (slides) | RQ 8 (MW Labs) | Lab 14: OOP in Python (due 4/06) | |||
Thur 3/31 | RQ 8 (TTh Labs) | Lab 14: OOP in Python (due 4/07) | ||||
Fri 4/01 | 10. List Comprehensions & Dictionaries(solutions) | Final Proj Proposal due 4/02 | ||||
12 | Mon 4/04 | 18. Python IV - OOP part II(recording) | (slides) | 15: Text Processing in Python (due 4/11) | Final Project Proposals Review | ||
Tue 4/05 | 9. StarCraft II-playing AI AlphaStar takes out pros undefeated | 15: Text Processing in Python (due 4/12) | Final Project Proposals Review | |||
Wed 4/06 | 19. Python IV: HOFs(recording) | RQ 9 (MW Labs) | HW 3 Work Session | Final Project Proposals Review; Proj 3 Party | ||
Thur 4/07 | RQ 9 (TTh Labs) | HW 3 Work Session | Final Project Proposals Review | |||
Fri 4/08 | 11. OOP (solutions) | |||||
13 | Mon 4/11 | LECTURE CANCELLED | 10a. What is Data Science 10b. How to Start Thinking Like a Data Scientist 10c. Spurious Correlations | 16: Intro to Data Science (due 4/18) | release Final Technical Spec (due 4/27) | |
Tue 4/12 | 16: Intro to Data Science (due 4/19) | |||||
Wed 4/13 | 20. Social Implications: Privacy (recording) | (slides) | RQ 10 (MW Labs) | Final Project Work Session | |||
Thur 4/14 | RQ 10 (TTh Labs) | Final Project Work Session | Homework 3 due | |||
Fri 4/15 | 12. Python HOFs, Lambdas, Tree Recursion (solutions) | |||||
14 | Mon 4/18 | 21. Concurrency(recording) | (slides) | 11. The Secret History of Women in Coding | 17: Concurrency (due 4/25) | ||
Tue 4/19 | 17: Concurrency (due 4/26) | |||||
Wed 4/20 | 22. Limits of Computing(recording) | (slides) | RQ 11 (MW Labs) | Final Project Work Session | |||
Thur 4/21 | RQ 11 (TTh Labs) | Final Project Work Session | Final Proj Party | |||
Fri 4/22 | OFFICE HOURS | |||||
15 | Mon 4/25 | 24. Alumni Panel(recording) | (slides) | ||||
Tue 4/26 | Final Project Work Session | |||||
Wed 4/27 | 25. Conclusion and Farewell(recording) | In-Lab Final Exam | Final Proj due | |||
Thur 4/28 | In-Lab Final Exam | |||||
Fri 4/29 | 13. Final Review + Farewell(solution)</td> | </tr> | ||||
16 | Mon 5/02 | No Class | ||||
Tue 5/03 | No Class | |||||
Wed 5/04 | No Class | |||||
Thur 5/05 | No Class | |||||
Fri 5/06 | No Class | |||||
17 | Mon 5/09 | No Class | ||||
Tue 5/10 | Final Exam | FINAL 7-10 PM | ||||
Wed 5/11 | No Class | |||||
Thur 5/12 | No Class | |||||
Fri 5/13 | No Class | </tbody> </table> |