CS 10: The Beauty and Joy of Computing
UC Berkeley, Summer 2024
A gentle but thorough introduction to computer science.
Instructors: Victoria Phelps & Andrew Rothman
Victoria’s OH: Monday from 6-8PM, Wednesday from 6-7PM
Andrew’s OH: Tuesday, Thursday from 4-5PM in Soda-777
Lectures: Monday through Thursday from 10-11AM in Physics North Building, Room 3
OH Queue: oh.cs10.org
Midterm Cheatsheet: Midterm Cheatsheet
CS10 Calendar
Week | Date | Lecture | Lab | Discussion | Assignment |
---|---|---|---|---|---|
Week 1 | Mon 6/17 | Lec 1. Logistics + Abstraction (Recording) (Slides) (Lecture Quiz) | Lab 1. Welcome to Lab! | 1. Welcome to Snap! | Presemester Survey Released Due (06/20) |
Tue 6/18 | Lec 2. Functions + Conditional Logic (Recording) (Slides) (Lecture Quiz) | Lab 2. Build Your Own Blocks | Project 1: Wordle™-lite Released Due (6/24) | ||
Wed 6/19 | No Class! | No Class! | 2. Boolean Operators and Truth Tables | ||
Thur 6/20 | Lec 3. Scope + Iteration (Recording) (Slides) (Lecture Quiz) | Lab 3. Conditionals, Reporters, Testing | Pre-semester Survey Due | ||
Fri 6/21 | No Lecture | No Lab | No Discussion | Project 1 Party! | |
Week 2 | Mon 6/24 | Lec 4. Lists + Loops (Recording) (Slides) (Lecture Quiz) | Lab 4. Lists + Loops | Discussion 3. Domain / Range, Iteration, Scope, Lists | Project 1: Wordle™-lite Due |
Tue 6/25 | Lec 5. HOFs + Mutability vs Immutability + List Scoping (Recording) (Slides) (Lecture Quiz) | Lab 5. Lists + HOFs | Project 2: Spelling Bee Released Due (7/1) | ||
Wed 6/26 | Lec 6. Functions as Data + Lambdas (Recording) (Slides) (Lecture Quiz) | Lab 6. HOFs as Data | Disc 4: Scoping, Lists, HOFs, & Number Representations | ||
Thur 6/27 | Lec 7. Nested lists + Number Representation (Recording) (Slides) (Lecture Quiz) | Lab 7. Boards | |||
Fri 6/28 | No Lecture | No Lab | No Discussion | Project 2 Party! | |
Week 3 | Mon 7/1 | Lec 8. Linear Recursion (Recording) (Slides) (Lecture Quiz) | Lab 8. Recursive Reporters | Disc 5: Recursion | Project 2: Spelling Bee Due |
Tue 7/2 | Lec 9. Trees + Fractals (Recording) (slides) (Lecture Quiz) | Lab 9. Trees + Fractals | Project 3: 2048 Released Due (7/10) | ||
Wed 7/3 | Lec 10. Algorithms + Algorithmic Complexity (Recording) (Slides) (Lecture Quiz) | Lab 10. Algorithms (Binary Search) | No Discussion | ||
Thur 7/4 | No Lecture (Recording) (Slides) | No Lab | |||
Fri 7/5 | No Lecture | No Lab | No Discussion | ||
Week 4 | Mon 7/8 | Lec 11. Data Science (Recording) (Slides) (Lecture Quiz) | Lab 11: Data Science | Disc 6: Midterm Review 1 | |
Tue 7/9 | Lec 12. AI + ML + LLM (Recording) (Slides) (Lecture Quiz) | Lab 12. Generative AI (optional) | |||
Wed 7/10 | Lec 13. Social Implications (cancelled) | Project Party | Disc 7: Midterm Review 2 | Project 3: 2048 Due | |
Thur 7/11 | Lec 14. Midterm Review (Recording) (Slides) | Practice Midterm (no Snap!) (with Snap!) | |||
Fri 7/12 | No Lecture | No Lab | No Discussion | Midterm (1 to 4PM) | |
Week 5 | Mon 7/15 | Lec 15. Intro to Python + Data Types (Recording) (Slides) (Lecture Quiz) | Lab 13: Intro To Python | Disc 8: Welcome to Python! | |
Tue 7/16 | Lec 16. Lists + Mutability + List Comprehension (Recording) (Slides) (Lecture Quiz) | Lab 14. Lists + Mutability | |||
Wed 7/17 | Lec 17. Data Structures (Dictionaries + Tuples) (Recording) (Slides) (Lecture Quiz) | Lab 15: Data structures | Disc 9: Python Data-Structures & OOP | ||
Thur 7/18 | Lec 18. OOP (Recording) (Slides) | Lab 16. OOP | Project 4: Pyturis Released | ||
Fri 7/19 | No Lecture | No Lab | No Discussion | Midterm Retake (1 to 4PM) & Final Project Released | |
Week 6 | Mon 7/22 | Lec 19. OOP Continued (Recording) (Slides) (Lecture Quiz) | Lab 16, Part 2 | Disc 10: Object-Oriented Programming and Recursion in Python | |
Tue 7/23 | Lec 20. Recursion in Python (Recording) (Slides) (Lecture Quiz) | Lab 17: Recursion | |||
Wed 7/24 | Lec 21. Tree Recursion (Recording) (Slides) (Lecture Quiz) | Lab 18: Tree Recursion | Discussion 11: Tree Recursion in Python | ||
Thur 7/25 | Lec 22. Concurrency + Parallelism (Recording) (Slides) (Lecture Quiz) | Lab 19: Concurrency | |||
Fri 7/26 | No Lecture | No Lab | No Discussion | ||
Week 7 | Mon 7/29 | Lec 23. Social Implications with Dr. Dan Garcia (Recording) (Slides) | Project Party | Disc 12: Final Review I | Project 4 Due |
Tue 7/30 | Lec 24. Social Implications, delivered by Stacey Yoo (Recording) (Slides) | Lab 20: Websites | Final Project Proposals Due | ||
Wed 7/31 | Lec 25. Websites (Recording) (Slides) | Final Project Proposal Meetings | Disc 13: Final Review II | ||
Thur 8/01 | Lec 26. Review for Final (Recording) (Slides) (Lecture Quiz) | Practice Final | |||
Fri 8/02 | No Lecture | No Lab | No Discussion | ||
Week 8 | Mon 8/05 | NO LEC | NO LAB | ||
Tue 8/06 | NO LEC | NO LAB | NO DISC | Final Project Due | |
Wed 8/7 | NO LEC | NO LAB | |||
Thur 8/8 | No Lecture | No Lab | No Discussion | FINAL (2 to 6PM) | |
Fri 8/9 | FINAL Retake SATURDAY 8/10 (2 to 6PM) |