CS 10: The Beauty and Joy of Computing
UC Berkeley, Summer 2025
A gentle but thorough introduction to computer science.
Instructor: Jedi Tsang
Office Hours: Tuesday, Wednesday, Thursday 5:00-6:00 PM in Warren 101B
Lecture:
- Days: Monday–Thursday
- Time: 4:00–5:00 PM
- Location: Genetics & Plant Biology, Room 100
Lab Sections:
- Days: Monday–Thursday
- Times: 10:00 AM–12:00 PM or 12:00–2:00 PM
- Location: Soda Hall, Room 330
Discussion Sections:
- Days: Tuesday & Thursday
- Times: 6:00–7:00 PM or 7:00–8:00 PM
- Location: Soda Hall, Room 320
CS10 Calendar
Week | Date | Lecture | Lab | Discussion | Assignment / Exam |
---|---|---|---|---|---|
Week 1 | Mon 6/23 |
Lec 1: Logistics + Abstraction (Recording 1) (Slides 1) |
Presemester Survey Released Due (FRI 6/27) |
||
Tue 6/24 |
Lec 2: Functions + Conditional Logic (Recording 2) (Slides 2) |
Lab 0: Welcome to Snap! | Disc 1 |
Project 1: Wordle-lite Released Due (MON 6/30) |
|
Wed 6/25 |
Lec 3: Abstraction II: Number Representation (Recording 3) (Slides 3) |
Lab 1: Build Your Own Blocks | |||
Thu 6/26 |
Lec 4: Boolean Expressions, Variables, Iteration (Recording 4) (Slides 4) |
Lab 2: Conditionals, Reporters, and Testing | Disc 2 | ||
Fri 6/27 |
Week | Date | Lecture | Lab | Discussion | Assignment / Exam |
---|---|---|---|---|---|
Week 2 | Mon 6/30 |
Lec 5: Iterations + Lists (Recording 5) (Slides 5) |
Lab 3: Lists and Loops (Iteration) | Project 1: Wordle-lite Due | |
Tue 7/1 |
Lec 6: Higher Order Functions (HoFs) (Recording 6) (Slides 6) |
Lab 4: Lists + HOFs | Disc 3 |
Project 2: Spelling Bee Released Due (WED 7/9) |
|
Wed 7/2 |
Lec 7: User Defined HOFs + Lambdas (Recording 7) (Slides 7) |
Quest Preview | |||
Thu 7/3 | In Person: Quiz 1 | No Lab | No Discussion | Quiz 1 | |
Fri 7/4 | NO CLASS (Holiday) |
Week | Date | Lecture | Lab | Discussion | Assignment / Exam |
---|---|---|---|---|---|
Week 3 | Mon 7/7 |
Lec 8: Nested Lists (Recording 8) (Slides 8) |
Lab 5: Boards | ||
Tue 7/8 |
Lec 9: Recursion (Recording 9) (Slides 9) |
Lab 6: Recursive Reporters | Disc 5 | ||
Wed 7/9 | Lec 10: Fractal / Tree Recursion (Recording 10) (Slides 10) |
Lab 7: Fractals | Project 2: Spelling Bee Due | ||
Thu 7/10 | Lec 11: Algorithms & Algorithmic Complexity (Recording 11) (Slides 11) |
Lab 8: Algorithms | Disc 6 |
Project 3: 2048 Released Due (Mon 7/21) |
|
Fri 7/11 |
Quiz 1 Retake Location: GPBB 100 Time: 4–5 PM |
Week | Date | Lecture | Lab | Discussion | Assignment / Exam |
---|---|---|---|---|---|
Week 4 | Mon 7/14 |
Lec 12: Data Science (Recording 12) (Slides 12) |
Lab 9: Algorithmic Complexity | ||
Tue 7/15 |
Lec 13: AI, ML, and LLMs (Recording 13) (Slides 13) |
Lab 10: Data Science | Disc 7 | ||
Wed 7/16 |
Lec 14: Social Implications – AI Usage in the Classroom (Guest: Stacey Yoo) (Recording 14) (Slides 14) |
Lab: Quiz 2 Preview | |||
Thu 7/17 |
Quiz 2 Review (Optional) (Worksheet) |
Lab: Quiz 2 Practice | Disc 8 | ||
Fri 7/18 |
Quiz 2 Location: GPBB 100 Time: 4–6 PM |
Week | Date | Lecture | Lab | Discussion | Assignment / Exam |
---|---|---|---|---|---|
Week 5 | Mon 7/21 |
Lec 15: Intro to Python (Recording 15) (Slides 15) |
Lab 11: Python Set-Up | ||
Tue 7/22 |
Lec 16: Lists (Recording 16) (Slides 16) |
Lab 12: Intro to Python | Disc 7 | ||
Wed 7/23 |
Lec 17: Data Structures (Recording 17) (Slides 17) |
Lab 13: Lists + Mutability | |||
Thu 7/24 |
Lec 18: OOP 1 (Recording 18) (Slides 18) |
Lab 14: Data Structures | Disc 8 | ||
Fri 7/25 |
Quiz 2 Retake Location: GPBB 100 Time: 4–6 PM |
Week | Date | Lecture | Lab | Discussion | Assignment / Exam |
---|---|---|---|---|---|
Week 6 | Mon 7/28 |
Lec 19: OOP 2 (Recording 19) (Slides 19) |
Lab 15: Text Processing Lab | ||
Tue 7/29 |
Lec 20: Recursion in Python (Recording 20) (Slides 20) |
Lab 16: Advanced OOP | Disc 11 | ||
Wed 7/30 |
Lec 21: Tree Recursion (Recording 21) (Slides 21) |
Lab 17: Recursion | |||
Thu 7/31 |
Quiz 3 Review (Optional) (Recording 22) (Slides 22) |
Lab: Quiz 3 Practice | Disc 12 | ||
Fri 8/1 |
Quiz 3 Location: GPBB 100 Time: 4–7 PM |
Week | Date | Lecture | Lab | Discussion | Assignment / Exam |
---|---|---|---|---|---|
Week 7 | Mon 8/4 |
Lec 22: Concurrency + Parallelism (Recording 23) (Slides 23) |
Lab 17: Tree Recursion | ||
Tue 8/5 |
Lec 23: Final Review (Recording 24) (Slides 24) |
Lab 18: Concurrency | Project 4 Presentations</td> | </tr> | |
Wed 8/6 |
Lec 24: Finale + Farewell (Recording 25) (Slides 25) |
Final Project Proposal Meetings | |||
Thu 8/7 | No Lecture | Final Project Proposal Meetings | No Discussion | ||
Fri 8/8 |
Quiz 3 Second Chance Location: GPBB 100 Time: 4–7 PM |
Week | Date | Lecture | Lab | Discussion | Assignment / Exam |
---|---|---|---|---|---|
Week 8 | Mon 8/11 | No Lecture | Project Party | ||
Tue 8/12 | No Lecture | Project Party | No Discussion | ||
Wed 8/13 | No Lecture | Project Party | |||
Thu 8/14 | No Lecture | No Lab | No Discussion | Final Projects Due | |
Fri 8/15 |