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 Jan 6 | No Lab | ||
| Tue Jan 7 | |||
| Wed Jan 8 | 1. Course Introduction, Intro to C++ | ||
| Thu Jan 9 | |||
| Fri Jan 10 | |||
| Week 2Mon Jan 13 | 2. Types, Control Structures, and Procedural Abstraction | ||
| Tue Jan 14 | Setup Walkthrough Sessions Tue Jan 14 at 7pm |
||
| Wed Jan 15 | 3. Machine Model, Part 1 | ||
| Thu Jan 16 | 1. Intro to Lab, C++ Fundamentals, Pragmatics | ||
| Fri Jan 17 | |||
| Week 3Mon Jan 20 | No Class -- MLK Day | ||
| Tue Jan 21 | |||
| Wed Jan 22 | 4. Machine Model, Part 2 | ||
| Thu Jan 23 | 2. Machine Model, Pointers/References, Call Stack, UTF Tutorial | ||
| Fri Jan 24 | |||
| Week 4Mon Jan 27 | 5. const, Structs, and C-Style ADTs |
Project 1 Due Mon Jan 27 at 8pm |
|
| Tue Jan 28 | Add/Drop Deadline Tue Jan 28 |
||
| Wed Jan 29 | 6. Streams and I/O |
Entry Survey Due Wed Jan 29 at 8pm |
|
| Thu Jan 30 | 3. C-style ADTs, Streams and I/O, Assertions+UB Tutorial | ||
| Fri Jan 31 | |||
| Week 5Mon Feb 3 | 7. Program Design and Debugging | ||
| Tue Feb 4 | |||
| Wed Feb 5 | 8. Abstract Data Types in C++ | ||
| Thu Feb 6 | 4. Classes, C++ ADTs, Mini-Project | ||
| Fri Feb 7 | |||
| Week 6Mon Feb 10 | 9. Derived Classes and Inheritance | ||
| Tue Feb 11 | |||
| Wed Feb 12 | 10. Polymorphism |
Project 2 Due Wed Feb 12 at 8pm |
|
| Thu Feb 13 | 5. Inheritance, Polymorphism, Debugging Tutorial | ||
| Fri Feb 14 | |||
| Week 7Mon Feb 17 | 11. Arrays, Pointer Arithmetic, C-Style Strings | ||
| Tue Feb 18 | |||
| Wed Feb 19 | 12. Array-Based Data Structures, Time Complexity | ||
| Thu Feb 20 | 6. Array-Based Data Structures | ||
| Fri Feb 21 | |||
| Week 8Mon Feb 24 | 13. Sorted Data Structures, Templates |
Project 3 Checkpoint Due Mon Feb 24 at 8pm |
|
| Tue Feb 25 | |||
| Wed Feb 26 | 14. Containers and Iterators | ||
| Thu Feb 27 | No Lab | ||
| Fri Feb 28 | |||
| Week 9Mon Mar 3 | Spring Break | ||
| Tue Mar 4 | |||
| Wed Mar 5 | |||
| Thu Mar 6 | |||
| Fri Mar 7 | |||
| Week 10Mon Mar 10 | 15. Memory Models and Dynamic Memory | 7. Containers, Iterators | |
| Tue Mar 11 | |||
| Wed Mar 12 | 16. Managing Dynamic Memory |
Project 3 Due Wed Mar 12 at 8pm |
|
| Thu Mar 13 | |||
| Fri Mar 14 | |||
| Week 11Mon Mar 17 | No Class - Midterm Exam | No Lab |
Midterm Exam Mon Mar 17, 7-9pm |
| Tue Mar 18 |
Alternate Midterm Exam Tue Mar 18, 7-9pm |
||
| Wed Mar 19 | 17. Deep Copies and The Big Three | ||
| Thu Mar 20 | |||
| Fri Mar 21 | Withdraw Deadline Fri Mar 21 |
||
| Week 12Mon Mar 24 | 18. Linked Lists | 8. Dynamic Memory, Deep Copies | |
| Tue Mar 25 | |||
| Wed Mar 26 | 19. Iterators | ||
| Thu Mar 27 | |||
| Fri Mar 28 |
Project 4 Due Fri Mar 28 at 8pm |
||
| Week 13Mon Mar 31 | 20. Functors and Impostor Syndrome | 9. Linked Lists, Functors | |
| Tue Apr 1 |
We pretended to accidentally release the exam early
as an April Fools' day joke. |
||
| Wed Apr 2 | 21. Recursion and Tail Recursion | ||
| Thu Apr 3 | |||
| Fri Apr 4 | |||
| Week 14Mon Apr 7 | 22. Structural Recursion | 10. Recursion, Trees | |
| Tue Apr 8 | |||
| Wed Apr 9 | 23. Binary Search trees, Sets, and Maps | ||
| Thu Apr 10 | |||
| Fri Apr 11 |
Project 5 Due Fri Apr 11 at 9pm |
||
| Week 15Mon Apr 14 | 24. Error Handling and Exceptions | 11. Exceptions and Review | |
| Tue Apr 15 | |||
| Wed Apr 16 | No Class | ||
| Thu Apr 17 | |||
| Fri Apr 18 | |||
| Week 16Mon Apr 21 | No Class | No Lab |
Project 6 Due Mon Apr 21 at 9pm |
| Tue Apr 22 | |||
| Wed Apr 23 | |||
| Thu Apr 24 | |||
| Fri Apr 25 |
Final Exam Fri Apr 25, 10:30am-12:30pm Alternate Final Exam Fri Apr 25, 1:30pm-3:30pm |
||
bogaerts@umich.edu
jjuett@umich.edu
razak@umich.edu
sofias@umich.edu