Link Search Menu Expand Document

CS 10: The Beauty and Joy of Computing

UC Berkeley, Spring 2024

A gentle but thorough introduction to computer science.

Instructor: Teaching Professor Dan Garcia
Instructor’s OH: Wednesday 2-3PM Soda-777
Lectures: Monday, Wednesday 1-2PM in Soda-306
OH Queue: oh.cs10.org


CS10 Calendar

WeekDateLectureReadingsLabDiscussionAssignment
1Mon 1/17No ClassNo ClassNo Class
Tue 1/16No ClassNo ClassNo ClassSection Signups Due
Wed 1/171. Welcome to CS10 & Abstraction
(slides)
1. Welcome to Snap!
(No Submission)
Thur 1/181. Welcome to CS 10!
Fri 1/19
2Mon 1/222. Functions
(slides)
Week 2 Readings2. Build Your Own Blocks
(due 1/24)
Proj 1: Wordleâ„¢ Lite
(due 1/29)
release Reading Quiz 1
(Due 1/26)
Tue 1/23
Wed 1/243. Numbers and Abstraction
(slides)
3. Conditionals, Reporters, & Abstraction
(due 1/29)
Thur 1/252. Number Rep & Control Structures
Fri 1/26Reading Quiz 1 Due
3Mon 1/294. Lists, Scoping, & HOFs
(slides)
(code)
Week 3 Readings4. Lists & HOFs
(due 1/31)
release Reading Quiz 2
(Due 2/2)
PROJ 1 Due
Proj 2: Spelling Bee
(due 2/15)
Tue 1/30
Wed 1/315. Algorithms
(slides)
5. Algorithms
(due 2/5)
Thur 2/13. Domain/Range, Scoping, Lists & HOFs
Fri 2/2Reading Quiz 2 Due
4Mon 2/56. Algorithmic Complexity
(slides)
Week 4 Readings 6. Algorithmic Complexity
(due 2/7)
Tue 2/6
Wed 2/77. Testing + 2048
(slides)
7. Testing + Proj 3
(due 2/12)
Thur 2/84. Quest-Review & HOFs
Fri 2/9QUEST 1 Released SAT 2/10
(due 2/11)
5Mon 2/128. Social Implications of Computing: Computers in Education
(slides)
Week 5 Readings8. Boards
(due 2/21)
Reading Quiz 5 released
(due 2/16)
Tue 2/13
Wed 2/149. Recursion I (Functional)
(slides)
(code)
Project-2 Work Session
NO Lab Assignment
Thur 2/155. Algorithmic ComplexityPROJ 2 Due
Fri 2/16Reading Quiz 5 Due
PROJ 3: 2048 Released
(Checkpoint-1 due 2/21 | Checkpoint-2 due 2/29)
QUEST 2 Released SAT 2/17
(due 2/18)
6Mon 2/19NO CLASSWeek 6 ReadingsNO CLASSNO CLASSrelease Reading Quiz 6
(due 2/23)
Tue 2/20
Wed 2/2110. Recursion II (Fractals)
(slides)
(code)
9. Trees & Fractals
(due 2/26)
PROJ-3 Checkpoint-1 Due
Thur 2/226. Recursion I
Fri 2/23Reading Quiz 6 Due
QUEST 3 Released SAT 2/24
(due 2/25)
7Mon 2/2611. Recursion III (Count Change)
(slides)
(code)
(movies)
Week 7 Readings 10. Recursive Reporters
(due 3/4)
release Reading Quiz 7
(Due 3/1)
Tue 2/27
Wed 2/2812. Guest Lecture: Saving the World with Computing
(slides)
PROJ 3 Work Session
NO new lab
Thur 2/297. Recursion IIPROJ 3 Checkpoit-2 Due
Fri 3/1PROJ 4: Explore Post Released
(due 3/15)
Reading Quiz 5 Due
QUEST 4 Released SAT 3/2
(due 3/3)
8Mon 3/413. Procedures as Data
(slides)
(code)
NO Readings.11. Functions as Data, HOFs
(due 3/11)
Tue 3/5
Wed 3/614. Programming Paradigms
(slides)
(code)
Midterm Work Session
Thur 3/7NO DISCUSSION CLASSMidterm 1 (without Snap!) released
(due 3/8)
Fri 3/8NO CLASS
(MIDTERM 1)
MIDTERM 1 (with Snap!)
(due 3/10)
QUEST 5 Released SAT 3/9
(due 3/10)
9Mon 3/1115. Python I - Intro
(slides)
Week 9 Readings12. Welcome to Python
(due 3/13)
release Reading Quiz 6
(Due 3/15)
Tue 3/12
Wed 3/1316. Python II - Data Types & Structures
(slides)
13. Data Structures in Python
(due 3/18)
Thur 3/149. Intro to Python
Fri 3/15 Reading Quiz 6 Due
MIDTERM 2 Released SAT 3/16
(due 3/17)
PROJ 4 (POST) Due
10Mon 3/1817. Python III - OOP
(slides) (code)
Week 10 Readings14. OOP in Python (due 4/1) Reading Quiz 7 released (Due 3/22)
PROJ 4 (COMMENTS) Due
PROJ 5: Pyturis released(due 4/1)
Tue 3/19
Wed 3/2018. Python IV - HOFs
(slides)
(code)
(FINAL PROJ Proposal)(due 10/31)
Thur 3/2110. List Comprehension & Dictionaries
Fri 3/22 Reading Quiz 7 Due
(FINAL PROJ released)
(due 4/24)
MIDTERM 3 Released SAT 3/23
(due 3/24)
11Mon 3/25NO CLASSWeek 11 ReadingsNO CLASSNO CLASSrelease Reading Quiz 8
(Due 3/29)
Tue 3/26NO CLASSNO CLASSNO CLASS
Wed 3/27NO CLASSNO CLASSNO CLASS
Thur 3/28NO CLASSNO CLASSNO CLASS
Fri 3/29NO CLASSNO CLASSNO CLASSMIDTERM 4 Released SAT 3/30
(due 3/31)
12Mon 4/124. Guest Lecture: Artificial Intelligence
(slides)

(TBD)
Week 12 Readings 15. Text Processing in Python
(due 4/10)
PROJ 5 Due
release Reading Quiz 8
(due 4/5)
Tue 4/2
Wed 4/320. Python V - Tree Recursion & Game Theory
(slides)(code)
Final Project Proposal Reviews (No assignment)
Thur 4/4 11. OOP </tr>
Fri 4/5Reading Quiz 9 Due
MIDTERM 4 Released SAT 4/6
(due 4/7)
13Mon 4/822. Guest Lecture: Human-computer interaction (HCI)
(slides)
(TBD)
Week 13 ReadingsFinal Project Proposal Reviewsrelease Reading Quiz 9
(due 4/12)
Tue 4/9
Wed 4/1023. Guest Lecture: Generative AI
(slides)
(Professor Hany Farid)
18. Snap! & Python Libraries
(due 4/15)
Thur 4/11
Fri 4/12Reading Quiz 10 Due
14Mon 4/1526. Guest Lecture: Limits of Computing
(NO slides)
(Professor Jelani Nelson)
release Reading Quiz 10
(due 4/19)
16. Intro to Data Science (Optional)
Tue 4/16
Wed 4/1721. Concurrency
(slides)
17. Concurrency
(due 4/22)
Thur 4/1813. Social Implications
Fri 4/19Reading Quiz 10 Due
15Mon 4/2225. Alumni Panel
(slides)
release Reading Quiz 10
(due 11/17)
Final Project Work-Session
NO new lab.
Tue 4/23
Wed 4/2426. Conclusion and Farewell
(slides)
Final Project Work-Session
NO new lab.
FINAL PROJ due
Thur 4/2514. Postterm Preparation Session & Farewell
Fri 4/26
Postterm RELEASED at 2359hrs.
Reading Quiz 11 Due
16Mon 4/29NO CLASS
(RRR Week)
NO CLASS
(RRR Week)
Postterm DUE at 2359hrs.
Tue 4/30Postterm Exam Reviewed 2000-2200hrs @ Woz.Postterm 2 Released at 2359hrs (due 5/2).
Wed 5/1NO CLASS
(RRR Week)
NO CLASS
(RRR Week)
Thur 5/2NO CLASS
(RRR Week)
Postterm 2 DUE at 2359hrs.
Fri 5/3Postterm 2 Reviewed 2000-2200hrs @ Soda-306.Postterm 3 Released at 2359hrs, Due SUN 4/5 at 2359hrs.
17Mon 5/6Postterm 3 Reviewed 1500-1700hrs @ Woz.NO CLASS
(Finals Week)
Postterm 4 Released at 2359hrs, due MON 5/13 at 2359hrs.
Tue 5/7
Wed 5/8NO CLASS
(Finals Week)
NO CLASS
(Finals Week)
Thur 5/9NO CLASS
(Finals Week)
Fri 5/10