Alonzo, the CS10 mascot

CS 10: The Beauty and Joy of Computing

UC Berkeley, Fall 2026

A gentle but thorough introduction to computer science.

Announcements: Wednesday, August 26

  • Welcome to CS10! πŸŽ‰

Instructor: Teaching Professor Dan Garcia
Instructor’s OH: TBD
Lectures: Monday, Wednesday, Friday @ 1–2 PM in Physics 4
Discussion 801: Friday @ 3–4 PM in AAPB 160
Discussion 802: Friday @ 4–5 PM in AAPB 160
Lab 801L: Monday, Wednesday @ 4–6 PM in SOCS 110
Lab 802L: Tuesday, Thursday @ 5–7 PM in Wheeler 212
OH Queue: oh.cs10.org


CS10 Calendar

βœ… This page has been verified against the Fa26 schedule as of 8/21.

Jump to Current Week

Week Date Lecture Lab Discussion Assignment / Exam
Week 1 Mon 8/24 No class
Tue 8/25 No class
Wed 8/26 Lec 1. Welcome + Abstraction
(Video) (Slides)
Lab 1. Welcome to Snap!
Thu 8/27
Fri 8/28 Talk 1. Fun "Ask me anything", abstraction, using Snap!
(Video)
Disc 1. Welcome to CS 10!


Week Date Lecture Lab Discussion Assignment / Exam
Week 2 Mon 8/31 Lec 2. Functions
(Video) (Slides)
Lab 2. Build Your Own Blocks
Tue 9/1
Wed 9/2 Lec 3. Abstraction II
(Video) (Slides)
Lab 3. Conditionals, Reporters, & Testing
Thu 9/3
Fri 9/4 Talk 2. Making functions
(Video)
Disc 2. Number Rep & Control Structures Proj 1: Wordleβ„’ Lite Released


Week Date Lecture Lab Discussion Assignment / Exam
Week 3 Mon 9/7 No class (holiday)
Tue 9/8 No Lab
Wed 9/9 Lec 4. Computing in Education
(Video) (Slides)
Project 1 Party
Thu 9/10
Fri 9/11 Talk 3. All Quest practice except for Iteration, Boolean, HOF
(Video)
Disc 3. Domain/Range, Scoping, Iteration, Lists


Week Date Lecture Lab Discussion Assignment / Exam
Week 4 Mon 9/14 Lec 5. Iteration
(Video) (Slides)
Lab 4. Iteration
Tue 9/15
Wed 9/16 Lec 6. Lists, Scoping, & HOFs
(Video) (Slides)
Lab 5. Lists & HOFs
Proj 1 Due
Thu 9/17
Fri 9/18 Talk 4. (Practice Quest) Booleans + Iteration
(Video)
Disc. 4: HOFs + Iteration


Week Date Lecture Lab Discussion Assignment / Exam
Week 5 Mon 9/21 Lec 7. Higher-Order Functions
(Video) (Slides)
Lab 6. Functions as Data, HOFs
Proj 2: Spelling Bee Released
Tue 9/22
Wed 9/23 Lec 8. Social Implications of Computing: Privacy
(Video) (Slides)
Catch-up (optional)
Thu 9/24
Fri 9/25 Talk 5. Quest 1 Preview
(Video)
Disc. 5 HOFs + Quest Review QUEST 1


Week Date Lecture Lab Discussion Assignment / Exam
Week 6 Mon 9/28 Lec 9. Algorithms
(Video) (Slides)
Lab 7. Algorithms
Tue 9/29
Wed 9/30 Lec 10. Testing + 2048
(Video) (Slides)
Lab 8. Testing + 2048
Thu 10/1
Fri 10/2 Talk 6. Quest 1 Review
(Video)
Disc 6. HOFs, Lambdas, Debugging Proj 2 Due
QUEST 2


Week Date Lecture Lab Discussion Assignment / Exam
Week 7 Mon 10/5 Lec 11. Recursion I (Functional)
(Video) (Slides)
Lab 9. Boards
Proj 3: 2048 Released
Tue 10/6
Wed 10/7 Lec 12. Recursion II (Fractals)
(Video) (Slides)
Lab 10. Trees & Fractals
Thu 10/8
Fri 10/9 Talk 7. Quest 2 Review
(Video)
Disc 7. Recursion I QUEST 3


Week Date Lecture Lab Discussion Assignment / Exam
Week 8 Mon 10/12 Lec 13. Recursion III (Count Change)
(Video) (Slides)
Lab 11. Recursive Reporters
Tue 10/13
Wed 10/14 Lec 14. Algorithmic Complexity
(Video) (Slides)
Lab 12. Algorithmic Complexity
Thu 10/15
Fri 10/16 Talk 8. Recursion III
(Video)
Disc 8. Algorithmic Complexity + Tree Recursion


Week Date Lecture Lab Discussion Assignment / Exam
Week 9 Mon 10/19 Lec 15. Kathy Yelick "Saving the World with Computing"
(Video) (Slides)
Practice Midterm (no code)
Proj 3: Due
Tue 10/20
Wed 10/21 Lec 16. HCI (Tim Aveni)
(Video) (Slides)
Practice Midterm (fractal)
Proj 4: Explore Released
Thu 10/22
Fri 10/23 Talk 9. Midterm 1 Preview
(Video)
Disc 9. Midterm Preview MIDTERM 1


Week Date Lecture Lab Discussion Assignment / Exam
Week 10 Mon 10/26 Lec 17. Concurrency
(Video) (Slides)
Lab 13. Concurrency
Tue 10/27
Wed 10/28 Lec 18. OOP in Snap!
(Video) (Slides)
Lab 14. OOP in Snap!
Proj 4 Due
Thu 10/29
Fri 10/30 Talk 10. Midterm 2 Review
(Video)
Disc 10. Proj 4 Presentations Final Projects Released
MIDTERM 2


Week Date Lecture Lab Discussion Assignment / Exam
Week 11 Mon 11/2 Lec 19. Python I - Intro
(Video) (Slides)
Lab 15. Welcome to Python
Tue 11/3
Wed 11/4 Lec 20. Python II - Data Types & Structures
(Video) (Slides)
Lab 16. Lists and Mutability
Thu 11/5
Fri 11/6 Talk 11. Midterm 3 Review
(Video)
Disc 11: Welcome to Python Proj 4 Comments Due
Proj 4 Makeup Presentations Due
Final Project Proposals Due
MIDTERM 3


Week Date Lecture Lab Discussion Assignment / Exam
Week 12 Mon 11/9 Lec 21. Programming Paradigms
(Video) (Slides)
Lab 17. Data Structures in Python
Final Project Meetings
Tue 11/10 Final Project Meetings
Wed 11/11 No class (holiday)
Thu 11/12 Lab 18. Text Processing in Python
Final Project Meetings
Fri 11/13 Talk 12. Python live coding
(Video)
Disc 12: Data Structures in Python + Concurrency Final Project Meetings
Project 4 Resubmissions Due


Week Date Lecture Lab Discussion Assignment / Exam
Week 13 Mon 11/16 Lec 22. Gen AI
(Video) (Slides)
Lab 19. Data Science
Tue 11/17
Wed 11/18 Lec 23. Ethics in AI
(Video) (Slides)
Practice Postterm
Thu 11/19
Fri 11/20 Talk 13. POSTTERM 1 PREVIEW
(Video)
Disc 13: Postterm Practice POSTTERM 1


Week Date Lecture Lab Discussion Assignment / Exam
Week 14 Mon 11/23 Lec 24. Python III - Game Theory
(Video) (Slides)
Lab 20. Linear Recursion in Python
Tue 11/24
Wed 11/25 No class (holiday)
Thu 11/26 No class (holiday)
Fri 11/27 No class (holiday)


Week Date Lecture Lab Discussion Assignment / Exam
Week 15 Mon 11/30 Lec 25. Alumni Panel
(Video) (Slides)
Lab 21 OPTIONAL. Snap + Python Libraries
Tue 12/1
Wed 12/2 Lec 26. Conclusion and Farewell
(Video) (Slides)
Project Work Session
Thu 12/3
Fri 12/4 Talk 14. POSTTERM 1 REVIEW
(Video)
Disc 15: Postterm Review POSTTERM 2


Week Date Lecture Lab Discussion Assignment / Exam
Week 16
(RRR Week)
Mon 12/7 POSTTERM 2 REVIEW
(Video)
Final Project Due
Tue 12/8
Wed 12/9
Thu 12/10
Fri 12/11 POSTTERM 3


Week Date Lecture Lab Discussion Assignment / Exam
Week 17
(Finals Week)
Mon 12/14 Release Grades
Final Project Regrades
Tue 12/15
Wed 12/16
Thu 12/17
Fri 12/18