CS 70

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
Week 1: Aug 28 Introduction, Single Variables, and Memory Models
Goals 0A 0B 0C 0D 1A
Object Lifetime for Primitives, Numeric Types, Promotion/Conversion, signed/unsigned (size_t)
Goals 1B 1C 1D
Week 2: Sep 4 Compilation, Version Control, Pair Programming No class on Monday, Sep 4 (Labor Day)
Goals 3A
Arrays of Primitives, Style, Testing
Goals 2A 2B 2C, 2D
Week 3: Sep 11 Separate Compilation
Goals 3A 3B 3C 3D
References
Goals 4A
Week 4: Sep 18 Classes in C++: Data Members, Include Guards, Member Initializers, Scope Operator
Goals 3C 5B
Object Lifetime (Part 1, On the Stack)
Goals 5A 5B 5C 5D
Week 5: Sep 25 Pointers (Part 1)
Goals 4B 4D
Pointers (Part 2)
Goals 4B 4C
Week 6: Oct 2 Second Proficiency Tries for Groups 1, 2, and 3 No class on Monday, Oct 2;
office hours instead
Object Lifetime (Part 2, On the Heap)
Goals 5A 5B 5C 5D
Week 7: Oct 9 Pointers (Part 3) / Object Lifetime (Part 3) / Temporaries, Return Values, and Overloading
Goals 4B 4C 4D
Interface/Encoding, Iterator Validity
Goals 6B 6C 6D
Complexity (Parts 1 & 2), Asymptotic Analysis, Best/Worst/Average Cases
Goals 7A 7B 7C
No new homework or PCs this week;
extra lesson content instead
Week 8: Oct 16 None (Fall Break) No class on Monday, Oct 16 Implementing Iterators: Friendship, Inner Classes, Operator Overloading
Goals 6A 6B 6C 6D
Week 9: Oct 23 BSTs
Goals 8A 8D
2–3–4 and Red–Black Trees
Goals 8C 8D
Week 10: Oct 30 Amortized Analysis, Splay Trees
Goals 7D 8D
Randomized Trees, Randomized Insert
Goals 8B 8D
Week 11: Nov 6 Second Proficiency Tries for Groups 4, 5, and 6 No class on Monday, Nov 6;
office hours instead
Templates, Conversion
Goal 10C )
Week 12: Nov 13 Hash Tables (Separate Chaining)
Goals 9A 9B 9C 9D
Hash Tables (Open Addressing)
Goals 9B 9C 9D
Week 13: Nov 20 Heaps
Goals 10A
None (Thanksgiving Break) No class on Wednesday, Nov 22
Week 14: Nov 27 Inheritance, Virtual Functions, Polymorphism
Goals 10B
Conversion (for Classes), Trade-Off Scenarios for Different Data Structures
Goals 10D
Week 15: Dec 4 Second Tries for Groups 7 and 8 No class on Monday, Dec 4;
office hours instead
Review
Finals Week
Dec 11–15
No classes or homework; non-seniors: 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.)