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 May 5 | |||
Tue May 6 | 1. Course Introduction, Intro to C++ | (Optional) Computer Setup Sessions |
Setup Walkthrough Sessions |
Wed May 7 | 2. Types, Control Structures, and Procedural Abstraction | ||
Thu May 8 | 3. Machine Model, Part 1 | 1. Intro to Lab, C++ Fundamentals, Pragmatics | |
Fri May 9 | |||
Week 2Mon May 12 | 4. Machine Model, Part 2 | ||
Tue May 13 | 5. const, Structs, and C-Style ADTs | 2. Machine Model, Pointers/References, Call Stack, UTF Tutorial |
Project 1 Due Tue May 13 at 11:59pm |
Wed May 14 | 6. Streams and I/O | ||
Thu May 15 | 7. Abstract Data Types in C++ | 3. C-style ADTs, Streams and I/O, Assertions+UB Tutorial | |
Fri May 16 | |||
Week 3Mon May 19 | 8. Derived Classes and Inheritance |
Add/Drop Deadline Mon May 19 |
|
Tue May 20 | 9. Polymorphism | 4. Classes, C++ ADTs, Mini-Project | |
Wed May 21 | 10. Arrays, Pointer Arithmetic, C-Style Strings |
Project 2 Due Wed, May 21 at 11:59pm |
|
Thu May 22 | 11. Array-Based Data Structures, Time Complexity | 5. Inheritance, Polymorphism, Debugging Tutorial | |
Fri May 23 | |||
Week 4Mon May 26 | No Class - Memorial Day | ||
Tue May 27 | 12. Sorted Data Structures, Templates | 6. Array-Based Data Structures |
Project 3 Checkpoint Due Tue, May 27 at 11:59pm |
Wed May 28 | 13. Program Design and Debugging | ||
Thu May 29 | Midterm Exam In Class | No Lab |
Midterm Exam Thu May 29, 12-2pm |
Fri May 30 | |||
Week 5Mon Jun 2 | 14. Containers and Iterators | ||
Tue Jun 3 | 15. Memory Models and Dynamic Memory | No Lab |
Project 3 Due Tue, Jun 3 at 11:59pm |
Wed Jun 4 | 16. Managing Dynamic Memory | ||
Thu Jun 5 | 17. Deep Copies and The Big Three | 7. Containers, Iterators | |
Fri Jun 6 | |||
Week 6Mon Jun 9 | 18. Linked Lists |
Project 4 Due Mon Jun 9 at 11:59pm |
|
Tue Jun 10 | 19. Iterators | 8. Dynamic Memory, Deep Copies | |
Wed Jun 11 | 20. Functors and Impostor Syndrome | ||
Thu Jun 12 | 21. Recursion and Tail Recursion | 9. Linked Lists, Functors | |
Fri Jun 13 |
Late Add/Drop and Late Pass/Fail Deadline Fri Jun 13 |
||
Week 7Mon Jun 16 | 22. Structural Recursion |
Project 5 Due Mon, Jun 16 at 11:59pm |
|
Tue Jun 17 | 23. Binary Search trees, Sets, and Maps | 10. Recursion, Trees | |
Wed Jun 18 | 24. Error Handling and Exceptions | ||
Thu Jun 19 | No Class - Junteenth | No Lab | |
Fri Jun 20 |
Project 6 Due Fri, Jun 20 at 11:59pm |
||
Week 8Mon Jun 23 |
Final Exam Mon Jun 23, 8am-10am |
||
Tue Jun 24 | |||
Wed Jun 25 | |||
Thu Jun 26 | |||
Fri Jun 27 |
jjuett@umich.edu