Link Search Menu Expand Document

CS 10: The Beauty and Joy of Computing

UC Berkeley, Spring 2022

A gentle but thorough introduction to computer science.

Instructor: Michael Ball

Previous Announcemnts

CS10 Calendar

WeekDateLectureReadingsLabDiscussionAssignment
1Mon 1/17No ClassNo ClassNo ClassNo ClassNo Class
Tue 1/18release HW 0: Setup (due Sat 1/22)
Wed 1/191. Welcome to CS10 & Abstraction (Slides) | (Recording)
Thur 1/201. Welcome to Snap!
(No checkoff)
Fri 1/21Snap! Scavenger Hunt (solution)HW 0 due Sat 1/22
2Mon 1/242. Functions (Slides) | (Recording) | (Self-Check) 1. Learning to Code release HW 1: Wordmatch
Tue 1/252. Build Your Own Blocks (due 2/3)
Wed 1/263. Numbers and Abstraction (Slides) | (Recording)
Thur 1/27 RQ 1 (in lab)3. Conditionals and Reporters & Abstraction (due 2/3)
Fri 1/28 2. Number Rep, Booleans, Conditionals (solution)
3Mon 1/314. Lists and Scoping (Slides) | (Recording) | (Self-Check) 2. Intro to Abstraction4. Lists & HOFs (due 2/10)HW 1 Party
Tue 2/14. Lists & HOFs (due 2/10)HW 1 due
Wed 2/25. Lists & HOFs (Slides) | (Recording) | (Self-Check)RQ 2 (MW Labs)5. Algorithms (due 2/10) release HW 2: Mastermind (due 2/16)
Thur 2/3RQ 2 (TTh Labs)5. Algorithms (due 2/10)
Fri 2/43. Domain and Range, HOFs & Scoping (solution)
4Mon 2/76.Q&A / Review for Quest (Slides) (Recording)
Tue 2/8QUEST
Wed 2/9 7. Algorithms (recording) | (slides)6: Algorithmic Complexity (due 2/16)
Thur 2/106: Algorithmic Complexity (due 2/17)
Fri 2/11 4. Algorithms(solution)
5Mon 2/148. Testing + 2048 (recording) | (slides) 3a. What is an Algorithm?
3b. How Algorithms Shape Our World
3c. Algorithms are Great and All, But They Can Also Ruin Lives
7: Testing + Project 1 (due 2/23)
Tue 2/157: Testing + Project 1 (due 2/24)HW 2 Party
Wed 2/169. Testing & 2048(recording)RQ 3 (MW Labs)8: Boards (Optional)(due 2/23)HW2 due
Thur 2/17RQ 3 (TTh Labs)8: Boards (Optional)(due 2/24)release Proj 1: 2048 (due 3/02)
Fri 2/185. Algorithmic Complexity (solution)
6Mon 2/21Holiday4a. Blown to Bits: Chapter 1 4b. Big O Notation — Simply explainedNO LAB
Tue 2/22NO LAB
Wed 2/2310. Recursion I (Fractals) (Slides) | (Recording) | (Self-Check)RQ 4 (MW Labs)9: Trees and Fractals(due 3/02)
Thur 2/24RQ 4 (TTh Labs)9: Trees and Fractals(due 3/03)PROJ 1 Party
Fri 2/256. Recursion I(solution)
7Mon 2/2811. Social Implications of Computing II - Global Impact of Computing (Notes) | (Slides) | (Recording) 5. Connected, but Alone? (video) 10: Recursive Reporters (due 3/07)PROJ 1 Party
Tue 3/0110: Recursive Reporters (due 3/08)
Wed 3/0212. Recursion II (Count Change) (slides) | (Recording)RQ 5 (MW Labs)Proj 1 Work SessionPROJ 1 due
Thur 3/03RQ 5 (TTh Labs)Proj 1 Work Session
Fri 3/047. Recursion II (solution)release Proj 2: Explore Post (due 3/16)
8Mon 3/0713. Procedures as Data - Higher Order Procedures(Recording) | (Slides) 6. How app developers are keeping us addicted to our phones 11: Functions as Data, HOFs (due 3/16)
Tue 3/0811: Functions as Data, HOFs (due 3/17)
Wed 3/0914. Programming Paradigms(recording) | (slides)RQ 6 (MW Labs)Midterm Work Session
Thur 3/10RQ 6 (TTh Labs)Midterm Work Session
Fri 3/11Midterm Review(solutions)Midterm Review Session
9Mon 3/14MIDTERM (Review Lecture) (recording) | (slides) 7. Humans Need Not Apply (Optional)
Tue 3/15
Wed 3/1615. Python I - Intro to Python (recording) | (slides)12: Welcome to Python (due 3/30)Proj 2 due
Thur 3/1712: Welcome to Python (due 3/31)
Fri 3/189. Intro to Python (solutions)PROJ 2 comments due;
10Mon 3/21Holiday
Tue 3/22Holiday
Wed 3/23Holiday
Thur 3/24Holiday
Fri 3/25Holiday
11Mon 3/2816. Python II - Built-in Types, Data Structures(recording) | (slides) 8. Why Python 13: Data Structures in Python (due 4/04) release Final Proj Proposal (due 4/02)
Tue 3/2913: Data Structures in Python (due 4/05)release Homework 3 (due 4/14)
Wed 3/3017. Python III - OOP in Python(recording) | (slides)RQ 8 (MW Labs)Lab 14: OOP in Python (due 4/06)
Thur 3/31RQ 8 (TTh Labs)Lab 14: OOP in Python (due 4/07)
Fri 4/0110. List Comprehensions & Dictionaries(solutions)Final Proj Proposal due 4/02
12Mon 4/0418. Python IV - OOP part II(recording) | (slides)15: Text Processing in Python (due 4/11)Final Project Proposals Review
Tue 4/059. StarCraft II-playing AI AlphaStar takes out pros undefeated15: Text Processing in Python (due 4/12)Final Project Proposals Review
Wed 4/0619. Python IV: HOFs(recording)RQ 9 (MW Labs)HW 3 Work SessionFinal Project Proposals Review; Proj 3 Party
Thur 4/07RQ 9 (TTh Labs)HW 3 Work SessionFinal Project Proposals Review
Fri 4/0811. OOP (solutions)
13Mon 4/11LECTURE CANCELLED10a. What is Data Science 10b. How to Start Thinking Like a Data Scientist 10c. Spurious Correlations16: Intro to Data Science (due 4/18)release Final Technical Spec (due 4/27)
Tue 4/1216: Intro to Data Science (due 4/19)
Wed 4/1320. Social Implications: Privacy (recording) | (slides)RQ 10 (MW Labs)Final Project Work Session
Thur 4/14RQ 10 (TTh Labs)Final Project Work SessionHomework 3 due
Fri 4/1512. Python HOFs, Lambdas, Tree Recursion (solutions)
14Mon 4/1821. Concurrency(recording) | (slides)11. The Secret History of Women in Coding17: Concurrency (due 4/25)
Tue 4/1917: Concurrency (due 4/26)
Wed 4/2022. Limits of Computing(recording) | (slides)RQ 11 (MW Labs)Final Project Work Session
Thur 4/21RQ 11 (TTh Labs)Final Project Work SessionFinal Proj Party
Fri 4/22OFFICE HOURS
15Mon 4/2524. Alumni Panel(recording) | (slides)
Tue 4/26Final Project Work Session
Wed 4/2725. Conclusion and Farewell(recording)In-Lab Final ExamFinal Proj due
Thur 4/28In-Lab Final Exam
Fri 4/2913. Final Review + Farewell(solution)</td> </tr>
16Mon 5/02No Class
Tue 5/03No Class
Wed 5/04No Class
Thur 5/05No Class
Fri 5/06No Class
17Mon 5/09No Class
Tue 5/10Final ExamFINAL 7-10 PM
Wed 5/11No Class
Thur 5/12No Class
Fri 5/13No Class </tbody> </table>