Schedule
We're So Glad to Have You with Us!
This offering of CS70 will be a “flipped” course. Each week, two lessons, one homework assignment, and one group of proficiency checks will be released on the website. You can access each week's material through the schedule below. In class, you can work with your partner on homework and ask professors and grutors about the homework and course material.
Many questions about the course are answered in the Course Policies section. Extra reference documentation related to topics we cover in class is posted in the Help Pages. If you have questions, please post on Piazza, or reach out during office hours and grutoring hours!
Topic Schedule
Week | First Lesson | Second Lesson | Labs |
---|---|---|---|
Week 1 | Introduction, Single Variables, and Memory Models |
Object Lifetime for Primitives, Numeric Types, Promotion/Conversion, signed/unsigned (size_t )
|
Lab 1: Introductions Lab 2: Practice with basics |
Week 2 |
Compilation, Version Control, Pair Programming
Goals 3A
|
Arrays of Primitives, Style, Testing |
Lab 1: No class (holiday) Lab 2: Pair programming, HW1 |
Week 3 | Separate Compilation |
References
Goals 4A
|
Lab 1: Array practice, HW1 Lab 2: Compilation practice, HW1/HW2 |
Week 4 | Classes in C++: Data Members, Include Guards, Member Initializers, Scope Operator | Object Lifetime (Part 1, On the Stack) |
Lab 1: HW2 Lab 2: HW2/HW3 |
Week 5 | Pointers (Part 1) | Pointers (Part 2) |
Lab 1: Object lifetime practice, HW3 Lab 2: HW3 |
Week 6 | No lesson: extra time for second tries for groups 1, 2, and 3 | Object Lifetime (Part 2, On the Heap) |
Lab 1: No class (office hours!) Lab 2: Honor code, HW4 |
Week 7 | Pointers (Part 3) / Object Lifetime (Part 3) / Temporaries, Return Values, and Overloading | Interface/Encoding, Iterator Validity |
Lab 1: Reading types, HW4 Lab 2: HW4 |
Complexity, Asymptotic Analysis, Best/Worst/Average Cases |
(No new homework or PCs; extra lesson instead) |
||
Week 8 | No lesson (break) | Interface/Encoding/Implementation, Iterator Validity |
Lab 1: No class (break) Lab 2: HW5 |
Week 9 | BSTs | 2–3–4 and Red–Black Trees |
Lab 1: HW5 Lab 2: HW5/HW6 |
Week 10 | Amortized Analysis, Splay Trees | Randomized Trees, Randomized Insert |
Lab 1: HW6 Lab 2: HW6 |
Week 11 | No lesson: more time for second tries for groups 4, 5, and 6 |
Templates, Conversion
Goals 10C
|
Lab 1: No class (office hours!) Lab 2: HW7 |
Week 12 | Hash Tables (Separate Chaining) | Hash Tables (Open Addressing) |
Lab 1: HW7 Lab 2: HW7/HW8 |
Week 13 |
Heaps
Goals 10A
|
Inheritance, Virtual Functions, Polymorphism
Goals 10B
|
Lab 1: HW8 Lab 2: HW8 |
Week 14 |
Trade-Off Scenarios for Different Data Structures
Goals 10D
|
No lesson (break) |
Lab 1: HW8 Lab 2: No class (break) |
Week 15 | No lessons: more time for second tries for groups 7 and 8 and reviewing for final tries. |
Lab 1: No class (office hours!) Lab 2: Review together! |
|
Finals Week | No classes or homework; final try at proficiency checks for all topics. |
Homework Schedule
All the homeworks and their dates are listed here:
Proficiency-Check Schedule
All the proficiency checks and their dates are listed here:
(When logged in, completion status appears here.)