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: Jan 15 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: Jan 22 Compilation, Version Control, Pair Programming
Goals 3A
Arrays of Primitives, Style, Testing
Goals 2A 2B 2C, 2D
Week 3: Jan 29 Separate Compilation
Goals 3A 3B 3C 3D
References
Goals 4A
Week 4: Feb 5 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: Feb 12 Pointers (Part 1)
Goals 4B 4D
Pointers (Part 2)
Goals 4B 4C
Week 6: Feb 19 Second Proficiency Tries for Groups 1, 2, and 3 No class on Monday
office hours instead
Object Lifetime (Part 2, On the Heap)
Goals 5A 5B 5C 5D
Week 7: Feb 26 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
Week 8: March 4 Implementing Iterators: Friendship, Inner Classes, Operator Overloading
Goals 6A 6B 6C 6D
SPRINGBREAK
Week 9: March 18 BSTs
Goals 8A 8D
2–3–4 and Red–Black Trees
Goals 8C 8D
Week 10: March 25 Amortized Analysis, Splay Trees
Goals 7D 8D
Randomized Trees, Randomized Insert
Goals 8B 8D
Week 11: April 1 Second Proficiency Tries for Groups 4, 5, and 6 No class on Monday
office hours instead
Templates, Conversion
Goal 10C )
Week 12: April 8 Hash Tables (Separate Chaining)
Goals 9A 9B 9C 9D
Hash Tables (Open Addressing)
Goals 9B 9C 9D
Week 13: April 15 Heaps
Goals 10A
Week 14: April 22 Inheritance, Virtual Functions, Polymorphism
Goals 10B
Conversion (for Classes), Trade-Off Scenarios for Different Data Structures
Goals 10D
Week 15: April 29 Second Tries for Groups 7 and 8 Review
Finals Week
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 tentative dates are listed here:

(When logged in, completion status appears here.)