Link Search Menu Expand Document

Course Calendar

Welcome + Basics of Programming

June 21
Live Session Welcome to CS10!
Lecture Welcome and Abstraction
Project Project 1A: Wordmatch due Wednesday, June 30th
June 22
Lab Welcome to Snap! & Build Your Own Blocks
Discussion Welcome to CS10
June 23
Lecture Functions
June 24
Lab Conditionals, Reporters, and Testing
Discussion Abstraction
June 25
Lecture Lists and Scoping

June 28
Lecture Recursion I
Project Project 1A: Wordmatch due Wednesday, June 30th
Project Project 1B: Mastermind due Friday, July 2nd
June 29
Lab Lists
Discussion Boolean Logic, Scoping, HOFs
June 30
Lecture Recursion II
July 1
Lab Fractal Recursion
Discussion Intro to Recursion
July 2
Lecture Social Implications I: Computing and Education

July 5
Lecture Recursion III
Project Project 2: Explore due Friday, July 9th
July 6
Lab Recursive Reporters
Discussion More Recursion
July 7
Lecture Introduction to Python
July 8
Lab Welcome to Python!
Discussion Intro to Python
July 9
Lecture Data Structures

Midterm + More Advanced Python

July 12
Exam Midterm
Project Project 3: 2048 due Friday, July 23rd
July 13
Lab Data Structures
Discussion Data Structures
July 14
Lecture Object-Oriented Programming
July 15
Lab Project 3 Intro + OOP
Discussion Object-Oriented Programming
July 16
Lecture Higher-Order Functions

More Programming Topics

July 19
Lecture Guest Lecture: Intro to Data Science
Assignment Project 3: 2048 due Friday, July 23rd
July 20
Lab Higher-Order Functions
Discussion HOFs, Lambdas, and Tree Recursion
July 21
Lecture Social Implications II
July 22
Lab Intro to Data Science
Discussion Social Implications of Computer Science
July 23
Lecture Algorithms
Assignment Final Project Proposal due Sunday, July 25th

Special Topics and Social Implications

July 26
Lecture Algorithmic Complexity
Assignment Final Project due Friday, August 6th
July 27
Lab Algorithms
Discussion Algorithms + Algorithmic Complexity July 28
Lecture Number Representation
July 29
Lab Final Project Work Session
Discussion Number Representation
July 30
Lecture Guest Lecture: Saving the World with Computing, by Kathy Yelick

More Fun Topics

Aug 2
Lecture History of Cryptography
Assignment Final Project due Friday, August 6th
Aug 3
Lab Snap! and Python Libraries
Discussion Final Exam Review
Aug 4
Lecture Guest Lecture IV
Aug 5
Lab Final Project Work Session
Discussion Final Review
Aug 6
Lecture Limits of Computing

Conclusion

Aug 9
Lecture Alumni Panel

Aug 10

Aug 11
Lecture Farewell
Exam Final

Aug 12

Aug 13