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
- Discussion Algorithms + Algorithmic Complexity July 28
- 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