Lectures
Computer science fundamentals, with programming in C++. Build a statistical analysis tool, an image processing program, a Euchre card game, a machine learning algorithm, and a text editor. Analyze and implement foundational data structures. Syllabus
If there's something not on these forms, you can reach us at eecs280admin@umich.edu.
| Day | Lecture Topic | Lab Topic | Deadline |
| Week 1Mon Aug 31 | 1. Course Introduction, Intro to C++ | No Lab | |
| Tue Sep 1 | |||
| Wed Sep 2 | 2. Types and Control Structures | ||
| Thu Sep 3 | |||
| Fri Sep 4 | |||
| Week 2Mon Sep 7 | No Class - Labor Day | 1. Intro to Lab, C++ Fundamentals, Pragmatics | |
| Tue Sep 8 | |||
| Wed Sep 9 | 3. Procedural Abstraction | ||
| Thu Sep 10 | |||
| Fri Sep 11 | |||
| Week 3Mon Sep 14 | 4. Machine Model, Part 1 | 2. Machine Model, Pointers/References, Call Stack, UTF Tutorial | |
| Tue Sep 15 | |||
| Wed Sep 16 | 5. Machine Model, Part 2 | ||
| Thu Sep 17 | |||
| Fri Sep 18 |
Project 1 Due Fri Sep 18 at 8pm
Autograder
FAQ
|
||
| Week 4Mon Sep 21 | 6. const, Structs, and C-Style ADTs | 3. C-style ADTs, Streams and I/O, Assertions+UB Tutorial | Add/Drop Deadline Mon Sep 21 |
| Tue Sep 22 | |||
| Wed Sep 23 | 7. Streams and I/O |
Entry Survey Due Wed Sep 23 at 8pm
Take the Survey
|
|
| Thu Sep 24 | |||
| Fri Sep 25 | |||
| Week 5Mon Sep 28 | 8. Abstract Data Types in C++ | 4. Classes, C++ ADTs, Mini-Project | |
| Tue Sep 29 | |||
| Wed Sep 30 | 9. Derived Classes and Inheritance | ||
| Thu Oct 1 | |||
| Fri Oct 2 |
Project 2 Due Fri Oct 2 at 8pm |
||
| Week 6Mon Oct 5 | 10. Polymorphism | 5. Inheritance, Polymorphism, Debugging Tutorial | |
| Tue Oct 6 | |||
| Wed Oct 7 | 11. Arrays, Pointer Arithmetic, C-Style Strings | ||
| Thu Oct 8 | |||
| Fri Oct 9 | |||
| Week 7Mon Oct 12 | 12. Array-Based Data Structures, Time Complexity | 6. Array-Based Data Structures | |
| Tue Oct 13 | |||
| Wed Oct 14 | 13. Sorted Data Structures, Templates |
Project 3 Checkpoint Due Wed Oct 14 at 8pm |
|
| Thu Oct 15 | |||
| Fri Oct 16 | |||
| Week 8Mon Oct 19 | No Class - Fall Break | No Lab | |
| Tue Oct 20 | |||
| Wed Oct 21 | 14. Containers and Iterators | ||
| Thu Oct 22 | |||
| Fri Oct 23 | |||
| Week 9Mon Oct 26 | 15. Memory Models and Dynamic Memory | 7. Containers, Iterators | |
| Tue Oct 27 | |||
| Wed Oct 28 | 16. RAII and Growable Containers |
Project 3 Due Wed Oct 28 at 8pm |
|
| Thu Oct 29 | |||
| Fri Oct 30 | |||
| Week 10Mon Nov 2 | No Class - Midterm Exam | No Lab |
Midterm Exam Mon Nov 2, 7-9pm |
| Tue Nov 3 |
Alternate Midterm Exam Tue Nov 3, 7-9pm |
||
| Wed Nov 4 | 17. Deep Copies and The Big Three | ||
| Thu Nov 5 | |||
| Fri Nov 6 | Withdraw Deadline, Pass/Fail Deadline Fri Nov 6 |
||
| Week 11Mon Nov 9 | 18. Linked Lists | 8. Dynamic Memory, Deep Copies | |
| Tue Nov 10 | |||
| Wed Nov 11 | 19. Iterators | ||
| Thu Nov 12 | |||
| Fri Nov 13 | |||
| Week 12Mon Nov 16 | 20. Functors and Impostor Syndrome | 9. Linked Lists, Functors | |
| Tue Nov 17 |
Project 4 Due Tue Nov 17 at 8pm |
||
| Wed Nov 18 | 21. Recursion and Tail Recursion | ||
| Thu Nov 19 | |||
| Fri Nov 20 | |||
| Week 13Mon Nov 23 | 22. Structural Recursion | No Lab | |
| Tue Nov 24 | |||
| Wed Nov 25 | No Class - Thanksgiving Break | ||
| Thu Nov 26 | |||
| Fri Nov 27 | |||
| Week 14Mon Nov 30 | 23. Binary Search trees, Sets, and Maps | 10. Recursion, Trees | |
| Tue Dec 1 | |||
| Wed Dec 2 | 24. Error Handling and Exceptions | ||
| Thu Dec 3 |
Project 5 Due Thu Dec 3 at 8pm |
||
| Fri Dec 4 | |||
| Week 15Mon Dec 7 | No Class | 11. Exceptions and Review | |
| Tue Dec 8 | |||
| Wed Dec 9 | No Class | ||
| Thu Dec 10 | |||
| Fri Dec 11 |
Project 6 Due Fri Dec 11 at 8pm Exit Survey Due Fri Dec 11 at 8pm
Take the Survey
|
||
| Week 16Mon Dec 14 | No Class | No Lab |
Final Exam Mon Dec 14, 10:30am-12:30pm Alternate Final Exam Mon Dec 14, 1:30pm-3:30pm |
| Tue Dec 15 | |||
| Wed Dec 16 | |||
| Thu Dec 17 | |||
| Fri Dec 18 |
jjuett@umich.edu
akamil@umich.edu
jklooste@umich.edu | he/him