Link Search Menu Expand Document

CS 10: The Beauty and Joy of Computing

UC Berkeley, Summer 2024

A gentle but thorough introduction to computer science.

Instructors: Victoria Phelps & Andrew Rothman
Victoria’s OH: Monday from 6-8PM, Wednesday from 6-7PM in Soda-777
Andrew’s OH: Tuesday, Thursday from 4-5PM in Soda-777
Lectures: Monday through Thursday from 10-11AM in Physics North Building, Room 3
OH Queue: oh.cs10.org
Midterm Cheatsheet: Midterm Cheatsheet


CS10 Calendar

WeekDateLectureLabDiscussionAssignment
Week 1Mon 6/17Lec 1. Logistics + Abstraction
(Recording)
(Slides)
(Lecture Quiz)
Lab 1. Welcome to Lab! 1. Welcome to Snap!Presemester Survey Released
Due (06/20)
Tue 6/18Lec 2. Functions + Conditional Logic
(Recording)
(Slides)
(Lecture Quiz)
Lab 2. Build Your Own Blocks Project 1: Wordle™-lite Released
Due (6/24)
Wed 6/19No Class!No Class! 2. Boolean Operators and Truth Tables
Thur 6/20Lec 3. Scope + Iteration
(Recording)
(Slides)
(Lecture Quiz)
Lab 3. Conditionals, Reporters, TestingPre-semester Survey Due
Fri 6/21No LectureNo LabNo DiscussionProject 1 Party!
Week 2Mon 6/24Lec 4. Lists + Loops
(Recording)
(Slides)
(Lecture Quiz)
Lab 4. Lists + LoopsDiscussion 3. Domain / Range, Iteration, Scope, ListsProject 1: Wordle™-lite Due
Tue 6/25Lec 5. HOFs + Mutability vs Immutability + List Scoping
(Recording)
(Slides)
(Lecture Quiz)
Lab 5. Lists + HOFs Project 2: Spelling Bee Released
Due (7/1)
Wed 6/26Lec 6. Functions as Data + Lambdas
(Recording)
(Slides)
(Lecture Quiz)
Lab 6. HOFs as DataDisc 4: Scoping, Lists, HOFs, & Number Representations
Thur 6/27Lec 7. Nested lists + Number Representation
(Recording)
(Slides)
(Lecture Quiz)
Lab 7. Boards
Fri 6/28No LectureNo LabNo DiscussionProject 2 Party!
Week 3Mon 7/1Lec 8. Linear Recursion
(Recording)
(Slides)
(Lecture Quiz)
Lab 8. Recursive ReportersDisc 5: RecursionProject 2: Spelling Bee Due
Tue 7/2Lec 9. Trees + Fractals
(Recording)
(slides)
(Lecture Quiz)
Lab 9. Trees + Fractals Project 3: 2048 Released
Due (7/10)
Wed 7/3Lec 10. Algorithms + Algorithmic Complexity
(Recording)
(Slides)
(Lecture Quiz)
Lab 10. Algorithms (Binary Search)No Discussion
Thur 7/4No Lecture
(Recording)
(Slides)
No Lab
Fri 7/5No LectureNo LabNo Discussion
Week 4Mon 7/8Lec 11. Data Science
(Recording)
(Slides)
(Lecture Quiz)
Lab 11: Data ScienceDisc 6: Midterm Review 1
Tue 7/9Lec 12. AI + ML + LLM
(Recording)
(Slides)
(Lecture Quiz)
Lab 12. Generative AI (optional)
Wed 7/10Lec 13. Social Implications (cancelled)Project PartyDisc 7: Midterm Review 2
Project 3: 2048 Due
Thur 7/11Lec 14. Midterm Review
(Recording)
(Slides)
Practice Midterm
(no Snap!)
(with Snap!)
Fri 7/12No LectureNo LabNo DiscussionMidterm (1 to 4PM)
Week 5Mon 7/15Lec 15. Intro to Python + Data Types
(Recording)
(Slides)
(Lecture Quiz)
Lab 13: Intro To PythonDisc 8: Welcome to Python!
Tue 7/16Lec 16. Lists + Mutability + List Comprehension
(Recording)
(Slides)
(Lecture Quiz)
Lab 14. Lists + Mutability
Wed 7/17Lec 17. Data Structures (Dictionaries + Tuples)
(Recording)
(Slides)
(Lecture Quiz)
Lab 15: Data structuresDisc 9: Python Data-Structures & OOP
Thur 7/18Lec 18. OOP
(Recording)
(Slides)
Lab 16. OOPProject 4: Pyturis Released
Fri 7/19No LectureNo LabNo DiscussionMidterm Retake (1 to 4PM) & Final Project Released
Week 6Mon 7/22Lec 19. OOP Continued
(Recording)
(Slides)
(Code)
Lab 16 Continued...Disc 10:

Tue 7/23Lec 20. Recursion in Python
(Recording)
(Slides)
Lab 17: Recursion
Wed 7/24Lec 21. Tree Recursion
(Recording)
(slides)
Lab 18: Tree RecursionDisc 12
Thur 7/25Lec 22. Lambdas
(Recording)
(Slides)
Lab 19: Concurrency
Fri 7/26No LectureNo LabNo DiscussionFinal Project Proposals Due
Week 7Mon 7/29Lec 23. Dan's Lecture
(Recording)
(Slides)
Project Party Disc 13
Project 4 Due
Tue 7/30Lec 24. Websites
(Recording)
(Slides)
Lab 20: NEWFinal Project Proposals Due
Wed 7/31Lec 25. Social Implications
(Recording)
(Slides)
Final Project Proposal MeetingsDisc 14
Thur 8/01Lec 26. Robotics + Hardware
(Recording)
(Slides)
Lab 21: Robotics
Fri 8/02No LectureNo LabNo Discussion
Week 8Mon 8/05Lec 27. Social ImplicationsFinal Project Work SessionFinal Project Due
Tue 8/06Lec 28. Final ReviewLab 21: Practice FinalDisc 15: Final Review
Wed 8/7Final Review + FarwellFinal Review
Thur 8/8No LectureNo LabNo DiscussionFINAL (1 to 7PM)
Fri 8/9FINAL Retake
SATURDAY 8/10
(1 to 7PM)