CS 10: The Beauty and Joy of Computing

UC Berkeley, Summer 2026

A gentle but thorough introduction to computer science.

Announcements, Monday 6/22

Instructor: Della Dastur
Office Hours: Mon Wed @ 5:00–6:00 PM in Cory 540AB
Lectures: Mon Tue Wed Thu @ 4:00–5:00 PM in Cory 540AB
Labs: Mon Tue Wed Thu @ 6:00–8:00 PM in Cory 540AB
Discussion: Tue Thu @ 8:00–9:00 PM in Cory 540AB
OH Queue: oh.cs10.org
Attendance: CS10 General Attendance Form

CS10 Calendar

Jump to Current Week

Week Date Lecture Lab Discussion Assignment / Exam
Week 1 Mon 6/22 Lec 1. Logistics + Abstraction
(Video)
No Lab
Tue 6/23 Lec 2. Functions + Conditional Logic
(Video)
Lab 0. Welcome to Snap! Discussion 1 Project 1 Released
Wed 6/24 Lec 3. Abstraction II: Number Representation
(Video)
Lab 1. Build Your Own Blocks
Thu 6/25 Lec 4. Boolean Expressions, Variables, Iteration
(Video)
Lab 2. Conditionals, Reporters, & Abstraction Discussion 2
Fri 6/26 Project Party
Week Date Lecture Lab Discussion Assignment / Exam
Week 2 Mon 6/29 Lec 5. Iteration Practice + Lists
(Video)
Lab 3. Lists and Loops (Iteration) Project Party + Project 1 Due
Tue 6/30 Lec 6. HOFs
(Video)
Lab 4. Lists & HOFs Discussion 3 Project 2 Released
Wed 7/1 Lec 7. Functions as Data + Lambdas
(Video)
Quiz 1 Review
Thu 7/2 Quiz 1 (4–7 pm)
Fri 7/3
Week Date Lecture Lab Discussion Assignment / Exam
Week 3 Mon 7/6 Lec 8. Nested Lists + Functional Recursion
(Video)
Lab 5. HOFs and Functions as Data Project Party
Tue 7/7 Lec 9. Linear Recursion
(Video)
Lab 6. Boards Discussion 5
Wed 7/8 Lec 10. Fractal/Tree Recursion
(Video)
Lab 7. Recursive Reports (Linear Recursion) Project 2 Due
Thu 7/9 Lec 11. Algorithms/Algorithmic Complexity
(Video 1) / (Video 2)
Lab 8. Trees & Fractals Discussion 6 Project 3 Released
Fri 7/10 Project Party 3
Quiz 1 Retake (3–6 pm)
Week Date Lecture Lab Discussion Assignment / Exam
Week 4 Mon 7/13 Lec 12. Data Science
(No Video)
Lab 9. Algorithms (Binary) / Algorithmic Complexity Project Party
Tue 7/14 Lec 13. AI + ML + LLMs
(Video)
Lab 10. Data Science Discussion 7
Wed 7/15 Lec 14. Social Implications
(Video)
Quiz 2 Review: Pre Quiz 1, HOFs, Nested Lists
Thu 7/16 Quiz 2 Review Quiz 2 Review: Recursion, Algorithmic Complexity Discussion 8
Fri 7/17 Quiz 2 (2–6 pm)
Week Date Lecture Lab Discussion Assignment / Exam
Week 5 Mon 7/20 Lec 15. Intro to Python + Data Types
(Video)
Lab 11. Python Setup + Intro Python Project Party + Project 3 Due
Tue 7/21 Lec 16. Splicing + Mutability + Lists + List Comprehension
(Video)
Lab 12. Welcome to Python! Discussion 9 Project 4 Released
Wed 7/22 Lec 17. Data Structures (Dictionaries + Tuples)
(Video)
Lab 13. Lists and Mutability
Thu 7/23 Lec 18. OOP I
(Video)
Lab 14. Data Structures Discussion 10
Fri 7/24 Final Project Proposal Released
Quiz 2 Retake (2–6 pm)
Week Date Lecture Lab Discussion Assignment / Exam
Week 6 Mon 7/27 Lec 19. OOP II
(Video)
Lab 15. Text Processing
Tue 7/28 Lec 20. Recursion in Python
(No Video)
Lab 16. Object Oriented Programming Discussion 11 Final Project Released
Wed 7/29 Lec 21. Tree Recursion
(Video)
Lab 17. Python Linear Recursion
Thu 7/30 Quiz 3 Questions Quiz 3 Discussion 12
Fri 7/31
Week Date Lecture Lab Discussion Assignment / Exam
Week 7 Mon 8/3 Lec 22. Concurrency + Parallelism
(Video)
Lab 18. Tree Recursion Project 4 Due
Final Project Proposals Due
Tue 8/4 Final Exam Review Lab 19. Concurrency Discussion 13: Project 4 Presentations
Wed 8/5 Lec 23. Finale + Farewell
(Video)
Final Project Proposal Meetings
Thu 8/6 No Lecture Final Project Proposal Meetings No Discussion
Fri 8/7 Project 4 Comments Due
Quiz 3 (2–6 pm)
Week Date Lecture Lab Discussion Assignment / Exam
Week 8 Mon 8/10 No Lecture Project Party
Tue 8/11 No Lecture Project Party No Discussion
Wed 8/12 No Lecture Project Party Quiz 3 Retake (2–6 pm)
Thu 8/13 No Lecture No Lab No Discussion Final Project Due
Fri 8/14 No Lecture No Lab