CS 10: The Beauty and Joy of Computing

UC Berkeley, Summer 2026

A gentle but thorough introduction to computer science.

Announcements, Tuesday 7/14

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) (Slides)
No Lab
Tue 6/23 Lec 2. Functions + Conditional Logic
(Video) (Slides)
Lab 0. Welcome to Snap! Discussion 1 Project 1 Released
Wed 6/24 Lec 3. Abstraction II: Number Representation
(Video) (Slides)
Lab 1. Build Your Own Blocks
Thu 6/25 Lec 4. Boolean Expressions, Variables, Iteration
(Video) (Slides)
Lab 2. Conditionals, Reporters, & Abstraction Discussion 2
Fri 6/26
Week Date Lecture Lab Discussion Assignment / Exam
Week 2 Mon 6/29 Lec 5. Iteration Practice + Lists
(Video) (Slides)
Lab 3. Lists and Loops (Iteration) Project 1 Party (8–10 PM, Cory 540AB) + Project 1 Due
Tue 6/30 Lec 6. Algorithms I
(Video) (Slides)
Lab 4. HOF mini lecture + Lists & HOFs Discussion 3 Project 2 Released
Wed 7/1 Lec 7. Algorithms II
(Video) (Slides)
Quiz 1 Practice
Thu 7/2 Quiz 1 (3–6 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) (Slides)
Lab 6. Boards Discussion 4
Wed 7/8 Lec 10. Fractal/Tree Recursion
(Video) (Slides)
Lab 7. Recursive Reports (Linear Recursion) Project 2 Due
Thu 7/9 Lec 11. Algorithms/Algorithmic Complexity
(Video 1) / (Video 2) (Slides)
Lab 8. Trees & Fractals Discussion 5 Project 3 Released
Fri 7/10 Quiz 1 Retake (3–6 pm)
Week Date Lecture Lab Discussion Assignment / Exam
Week 4 Mon 7/13 Lec 12. Practice Quiz 2
(Questions) (Answers)
Lab 9. Algorithms (Binary) Project Party
Tue 7/14 Lec 13. Computing in Education
(Video) (Slides)
Lab 10. FUN Data Science Discussion 6
Wed 7/15 Lec 14. Higher-Order Functions
(Video) (Slides)
Quiz 2 Practice: Pre-Quiz 1 Content, HOFs, Nested Lists
Thu 7/16 Lecture 15: Programming Paradigms
(Video) (Slides)
(Attendance Optional) Quiz 2 Practice: Recursion
Algorthmic Complexity (Conceptual)
Discussion 7
Fri 7/17
Week Date Lecture Lab Discussion Assignment / Exam
Week 5 Mon 7/20 Lec 16. Python I - Intro
(Video) (Slides)
Lab 11. Python Setup + Intro Python Project Party + Project 3 Due
Tue 7/21 Lec 17. Python II - Data Types & Structures
(Video)
Lab 12. Welcome to Python! Discussion 8 Project 4 Released
Wed 7/22 Lec 18. Concurrency
(Video) (Slides)
Lab 13. Lists and Mutability
Thu 7/23 Lec 19. Gen AI
(Video) (Slides)
Lab 14. Data Structures Discussion 9
Fri 7/24 Final Project Proposal Released
Quiz 2 (3–6 pm)
Week Date Lecture Lab Discussion Assignment / Exam
Week 6 Mon 7/27 Lec 20. Ethics in AI
(Video) (Slides)
Lab 15. Text Processing
Tue 7/28 Lec 21. Python III - Game Theory
(Video) (Slides)
Lab 16. Object Oriented Programming Discussion 10 Final Project Released
Wed 7/29 Lec 22. Python IV – OOP
(No Video) (No Slides)
Lab 17. Python Linear Recursion
Thu 7/30 Quiz 3 Questions Quiz 3 Practice Discussion 11
Fri 7/31 Quiz 2 Retake (3–6 pm)
Week Date Lecture Lab Discussion Assignment / Exam
Week 7 Mon 8/3 Guest Speaker
(No Video) (No Slides)
Lab 18. Tree Recursion Project 4 Due
Final Project Proposals Due
Tue 8/4 Lec 23. Finale + Farewell
(Video) (Slides)
Lab 19. Concurrency Discussion 12: Project 4 Presentations
Wed 8/5 No Lecture Final Project Proposal Meetings
Thu 8/6 No Lecture Final Project Proposal Meetings No Discussion
Fri 8/7 Project 4 Comments Due
Quiz 3 (3–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 (3–6 pm)
Thu 8/13 No Lecture No Lab No Discussion Final Project Due
Fri 8/14 No Lecture No Lab