Link Search Menu Expand Document

CS 10: The Beauty and Joy of Computing

UC Berkeley, Summer 2023

A gentle but thorough introduction to computer science.

Instructor: Vedansh Malhotra
Instructor Office Hours: Tu,Th 5-6PM in Soda-511
Project Party/OH Queue: oh.cs10.org


CS10 Calendar

WeekDateLectureLabDiscussionAssignment
1Mon 6/19No Class (Administrative Holiday)No Class (Administrative Holiday)No Class (Administrative Holiday)Presemester Survey Released and Due (06/22)
Tue 6/201: Welcome + Administrivia + Number Rep
(Recording)
(Slides)
(Syllabus Handout)
1. Welcome to Snap!
Wed 6/212. Number Rep Contd. + Functions, Blocks + Intro to Lists
(Recording)
(Slides)
2. Build Your Own Blocks1. Number Rep, Control, Scoping, Domain & RangeProject 1: Wordle™-lite Released and Due (6/26)
Thur 6/223. Lists, HOFs, Scoping + Mutability
(Recording)
(Slides)
3. Conditionals, Reporters, Testing Presemester Survey Due
Fri 6/23No LectureNo LabNo Discussion
2Mon 6/264. Mutability + Algorithmic Complexity
(Recording)
(Slides)
4. Lists + HOFs 2. Lists & HOFs, Iteration, Scoping

Project 1: Wordle™-lite Due
Tue 6/275. Algorithmic Complexity Contd.
(Recording)
(Slides)
5. Algorithmic Complexity Project 2: Spelling Bee Released and Due (07/03)
Wed 6/286. Recursion I (Linear)
(Recording)
(Slides)
(Mandelbrot Set Video)
6. Boards 3. Algorithms & Algorithmic Complexity
Thur 6/297. Recursion II (Linear + Tree)
(Recording)
(slides)
7. Recursive Reporters
Fri 6/30No LectureNo LabNo Discussion
3Mon 7/38. Recursion III (Fractals)
(Recording)
(slides)
8. Testing + 20484. Recursion I Project 3: 2048 Released and Due (07/17)
Tue 7/4No LectureNo Lab
Wed 7/59. Good Coding Practices + 2048
(Recording)
(Slides)
9. HOFs + Functions as Data 5. Recursion II
Thur 7/610. Midterm Review
(Recording)
(Slides)
10. Trees and Fractals
Fri 7/7No LectureNo LabNo DiscussionMidterm Exam 5pm-8pm
Pinmental 1
4Mon 7/1011. Midterm Walkthrough
(Recording)
(Slides)
In-Lab MidtermNo DiscussionIn-Lab Midterm Exam
9-11am PST
11am-1pm PST
3-5pm PST
SDH 200
Tue 7/1112. Python I: Welcome to Python!
(Recording)
(Slides)
No Lab
Wed 7/1213. Python II: Built-in Types, Data Structures
(Recording)
(Slides)
11. Welcome to Python 6. Intro to Python
Thur 7/1314. Python III: Data Structures Contd. + List Mutation
(Recording)
(Slides)
12. Data Structures in Python
Fri 7/14No LectureNo LabNo Discussion
5Mon 7/1715. Python IV: List Mutation Contd. + OOP
(Recording)
(Slides)
No Lab7. Python Data Structures
Project 3: 2048 Due
Tue 7/1816. Python V - OOP Contd.
(Recording)
(Slides)
(Code)
No LabProject 4: Pyturis Released and Due (07/24)
Final Project Proposal Released and Due (07/22)
Wed 7/1917. Guest Lecture: CyberSecurity: "Personal Self-Defense"
(Recording)
(Dr. Nicholas Weaver)
13. OOP in Python8. Python OOP
Thur 7/2018. Python VI: Functions as Data
(Recording)
(Slides)
14. Text Processing in Python
Fri 7/21No LectureNo LabNo DiscussionFinal Project Propasal due Saturday 11:59pm
6Mon 7/2419. Python VII: Modelling with OOP
(Recording)
(Slides)
(Code)
Project Proposal Reviews + Project Worksession9. Lambdas and HOFs
Project 4: Pyturis Due
Final Project Released and Due (08/07)
Tue 7/2520. Python VIII: Recursion
(Recording)
(Slides)
Project Proposal Review + worksession
15. Data Science (Optional)
Wed 7/2621: Concurrency
(Recording)
(slides)
No Lab10. Tree Recursion + Concurrency
Thur 7/2722. AI Guest Lecture: Generative AI
(Recording)
(Slides)
(Prof. Hany Farid)
16. Concurrency
Fri 7/28No LectureNo LabNo Discussion
7Mon 7/3123. Alumni Panel
(Recording)
(Slides)
No Lab 11. Final Review
Tue 8/0124. Social Implications: Computing and War
(Recording)
(Slides)
No Lab
Wed 8/0225. Final Review
(Recording)
(Slides)
12. Conclusion and Farewell
Thur 8/0326. Conclusion and Farewell
(Recording)
(Slides)
In-Lab FinalIn-Lab Final Exam
11am-1pm PST
3-5pm PST
SDH 200
Fri 8/04No LectureNo LabNo Discussion
8Mon 8/07No LectureNo LabNo DiscussionFinal Project Due
Tue 8/08
Wed 8/9
Thur 8/10Paper Final Exam (3pm-6pm PT) Dwinelle 155
Fri 8/11 n