CS 10: The Beauty and Joy of Computing
UC Berkeley, Spring 2024
A gentle but thorough introduction to computer science.
Instructor: Teaching Professor Dan Garcia
Instructor’s OH: Wednesday 2-3PM Soda-777
Lectures: Monday, Wednesday 1-2PM in Soda-306
OH Queue: oh.cs10.org
CS10 Calendar
Week | Date | Lecture | Readings | Lab | Discussion | Assignment |
---|---|---|---|---|---|---|
1 | Mon 1/17 | No Class | No Class | No Class | ||
Tue 1/16 | No Class | No Class | No Class | Section Signups Due | ||
Wed 1/17 | 1. Welcome to CS10 & Abstraction (slides) (recording) | 1. Welcome to Snap! (No Submission) | ||||
Thur 1/18 | 1. Welcome to CS 10! | |||||
Fri 1/19 | ||||||
2 | Mon 1/22 | 2. Functions (slides) (recording) | Week 2 Readings | 2. Build Your Own Blocks (due 1/24) | Proj 1: Wordleâ„¢ Lite (due 1/29) release Reading Quiz 1 (Due 1/26) | |
Tue 1/23 | ||||||
Wed 1/24 | 3. Numbers and Abstraction (slides) (recording) | 3. Conditionals, Reporters, & Abstraction (due 1/29) | ||||
Thur 1/25 | 2. Number Rep & Control Structures | |||||
Fri 1/26 | Reading Quiz 1 Due | |||||
3 | Mon 1/29 | 4. Lists, Scoping, & HOFs (slides) (code) (recording) | Week 3 Readings | 4. Lists & HOFs (due 1/31) | release Reading Quiz 2 (Due 2/2) PROJ 1 Due Proj 2: Spelling Bee (due 2/15) | |
Tue 1/30 | ||||||
Wed 1/31 | 5. Algorithms (slides) (recording) | 5. Algorithms (due 2/5) | ||||
Thur 2/1 | 3. Domain/Range, Scoping, Lists & HOFs | |||||
Fri 2/2 | Reading Quiz 2 Due | |||||
4 | Mon 2/5 | 6. Algorithmic Complexity (slides) (recording) | Week 4 Readings | 6. Algorithmic Complexity (due 2/7) | ||
Tue 2/6 | ||||||
Wed 2/7 | 7. Testing + 2048 (slides) (recording) | 7. Testing + Proj 3 (due 2/12) | ||||
Thur 2/8 | 4. Quest-Review & HOFs | |||||
Fri 2/9 | QUEST 1 Released SAT 2/10 (due 2/11) | |||||
5 | Mon 2/12 | 8. Social Implications of Computing: Computers in Education (slides) (recording) | Week 5 Readings | 8. Boards (due 2/21) | Reading Quiz 5 released (due 2/16) | |
Tue 2/13 | ||||||
Wed 2/14 | 9. Recursion I (Functional) (slides) (code) (recording) | Project-2 Work Session (No assignment) NO Lab Assignment | ||||
Thur 2/15 | 5. Algorithmic Complexity | PROJ 2 Due | ||||
Fri 2/16 | Reading Quiz 5 Due PROJ 3: 2048 Released (Checkpoint-1 due 2/21 | Checkpoint-2 due 2/29) QUEST 2 Released SAT 2/17 (due 2/18) | |||||
6 | Mon 2/19 | NO CLASS | Week 6 Readings | NO CLASS | NO CLASS | release Reading Quiz 6 (due 2/23) |
Tue 2/20 | ||||||
Wed 2/21 | 10. Recursion II (Fractals) (slides) (code) (recording) | 9. Trees & Fractals (due 2/26) | PROJ-3 Checkpoint-1 Due | |||
Thur 2/22 | 6. Recursion I | |||||
Fri 2/23 | Reading Quiz 6 Due QUEST 3 Released SAT 2/24 (due 2/25) | |||||
7 | Mon 2/26 | 11. Recursion III (Count Change) (slides) (code) (movies) (recording) | Week 7 Readings | 10. Recursive Reporters (due 3/4) | release Reading Quiz 7 (Due 3/1) | |
Tue 2/27 | ||||||
Wed 2/28 | 12. Guest Lecture: Saving the World with Computing (slides) (Professor Katherine (Kathy) Yelick) (recording) | PROJ 3 Work Session (No assignment) NO new lab | ||||
Thur 2/29 | 7. Recursion II | PROJ 3 Checkpoit-2 Due | ||||
Fri 3/1 | PROJ 4: Explore Post (due 3/15) Reading Quiz 5 Due QUEST 4 Released SAT 3/2 (due 3/3) | |||||
8 | Mon 3/4 | 13. Procedures as Data (slides) (code) (recording) | NO Readings. | 11. Functions as Data, HOFs (due 3/11) | ||
Tue 3/5 | ||||||
Wed 3/6 | 14. Programming Paradigms (slides) (code) (recording) | Midterm Work Session (No assignment) | ||||
Thur 3/7 | 8. Midterm Review + Tree-Recursion | |||||
Fri 3/8 | Midterm-1 Released SAT 3/9 (due 3/10) Quest-5 Released SAT 3/9 (due 3/10) | |||||
9 | Mon 3/11 | 15. Python I - Intro (slides) (recording) | Week 9 Readings | 12. Welcome to Python (due 3/13) | release Reading Quiz 6 (Due 3/15) | |
Tue 3/12 | ||||||
Wed 3/13 | 16. Python II - Data Types & Structures (slides) (recording) | 13. Data Structures in Python (due 3/18) | ||||
Thur 3/14 | 9. Intro to Python | |||||
Fri 3/15 | Reading Quiz 6 Due MIDTERM 2 Released SAT 3/16 (due 3/17) PROJ 4 (POST) Due | |||||
10 | Mon 3/18 | 17. Python III - OOP (slides) (code) (mind-map) (recording) (IMP: __str__, __add__ methods) | Week 10 Readings | 14. OOP in Python (due 4/1) | PROJ 5: Pyturis released(due 4/5) | |
Tue 3/19 | ||||||
Wed 3/20 | 18. Guest Lecture: Artificial Intelligence (slides) (Marwa Abdulhai) (recording) | PROJ 5 Work Session (No assignment) | (FINAL PROJ Proposal)(due 4/2) | |||
Thur 3/21 | 10. List Comprehension & Dictionaries | |||||
Fri 3/22 | Week-10 Reading Quiz Due (FINAL PROJ released) (due 4/24) MIDTERM 3 Released SAT 3/23 (due 3/24) | |||||
11 | Mon 3/25 | NO CLASS | NO CLASS | NO CLASS | NO RQ; enjoy break :) | |
Tue 3/26 | NO CLASS | NO CLASS | NO CLASS | |||
Wed 3/27 | NO CLASS | NO CLASS | NO CLASS | |||
Thur 3/28 | NO CLASS | NO CLASS | NO CLASS | |||
Fri 3/29 | NO CLASS | NO CLASS | NO CLASS | |||
12 | Mon 4/1 | 19. Python IV - HOFs (slides) (code) (recording) | NO RQ in Week-12. | 15. Text Processing in Python (due 4/10) | PROJ 4 COMMENTS Due | |
Tue 4/2 | (FINAL PROJ Proposal)(due 4/2) | |||||
Wed 4/3 | 20. Python V - Tree Recursion & Game Theory (slides) (code) (recording) | Final Project Proposal Reviews (No assignment) | ||||
Thur 4/4 | 11. OOP | </tr> | ||||
Fri 4/5 | PROJ 5 Due MIDTERM 4 Released SAT 4/6 (due 4/7) | |||||
13 | Mon 4/8 | 21. Concurrency (slides) (recording) | Week 13 Readings | Final Project Proposal Reviews (No assignment) | release Reading Quiz 9 (due 4/12) | |
Tue 4/9 | ||||||
Wed 4/10 | 22. Guest Lecture: Human-Computer Interaction (HCI) (slides) (Professor Eric Paulos) (recording) | 17. Concurrency (due 4/15) | ||||
Thur 4/11 | 12. Python HOFs, Lambda Expressions, Tree-Recursion | |||||
Fri 4/12 | Reading Quiz Week-13 Due MIDTERM 5 Released SAT 4/13 (due SUN 4/14) | |||||
14 | Mon 4/15 | 23. AI Ethics (Slides) (recording) | Week-14 Readings (due 4/19) | 16. Intro to Data Science (Optional) | ||
Tue 4/16 | ||||||
Wed 4/17 | 24. Generative AI (slides) (recording) (Eve Fleisig) | 18. Snap! and Python Libraries (due 4/22) | ||||
Thur 4/18 | 13. Social Implications | |||||
Fri 4/19 | Reading Quiz Week-14 Due | |||||
15 | Mon 4/22 | 25. Alumni Panel (slides) (recording) | Week-15 readings (due 11/17) | Final Project Work-Session NO new lab. | ||
Tue 4/23 | ||||||
Wed 4/24 | 26. Conclusion and Farewell (slides) | Final Project Work-Session NO new lab. | FINAL PROJ due | |||
Thur 4/25 | 14. Postterm Preparation Session & Farewell | |||||
Fri 4/26 | PT-1 RELEASED SAT 4/27, DUE SUN 4/28 2359hrs. Reading Quiz Week-15 Due | |||||
16 | Mon 4/29 | NO CLASS (RRR Week) | NO CLASS (RRR Week) | PT-1 REVIEWED 0900hrs @ Woz | ||
Tue 4/30 | PT-2 RELEASED, DUE WED 5/1 at 2359 hrs. | |||||
Wed 5/1 | NO CLASS (RRR Week) | NO CLASS (RRR Week) | PT-2 DUE at 2359hrs. | |||
Thur 5/2 | PT-2 REVIEWED 1100hrs @ Woz | |||||
Fri 5/3 | PT-3 RELEASED, DUE SUN 5/5 at 2359hrs. | |||||
17 | Mon 5/6 | NO CLASS (Finals Week) | NO CLASS (Finals Week) | PT-3 REVIEWED 1500hrs @ Soda-306 | ||
Tue 5/7 | PT-4 RELEASED, DUE TR 5/9 at 2359hrs. | |||||
Wed 5/8 | NO CLASS (Finals Week) | NO CLASS (Finals Week) | ||||
Thur 5/9 | NO CLASS (Finals Week) | PT-4 DUE | ||||
Fri 5/10 | PT-4 REVIEWED 1300hrs @ SODA-306. | PT-5 RELEASED at 1700hrs, DUE WED 5/15 at 2359hrs. |