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:

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

CS 10 Attendance Form


CS10 Calendar

Jump to Current Week

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
</tr> </tbody> </table>
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>
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