Lectures
Computer science fundamentals, with programming in C++. Build an image processing program, a game of Euchre, a text editor, and a machine learning algorithm. 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 26 | Course Introduction, Intro to C++ | No Lab | |
Tue Aug 27 | |||
Wed Aug 28 | Types, Control Structures, and Procedural Abstraction | Setup Walkthrough Sessions Wed Aug 28 at 7pm |
|
Thu Aug 29 | |||
Fri Aug 30 | |||
Week 2Mon Sep 2 | No Lecture - Labor Day | 1. Intro to Lab, C++ Fundamentals, Pragmatics | |
Tue Sep 3 | |||
Wed Sep 4 | Machine Model, Part 1 | ||
Thu Sep 5 | |||
Fri Sep 6 | Lab Due each Sunday 8pm | ||
Week 3Mon Sep 9 | Machine Model 2, Part 2 | 2. Machine Model, Pointers/References, Call Stack, UTF Tutorial | |
Tue Sep 10 | |||
Wed Sep 11 | Const, Structs, ADTs in C | ||
Thu Sep 12 | |||
Fri Sep 13 |
Project 1 Due Fri Sep 13 at 8pm |
||
Week 4Mon Sep 16 | Streams and I/O | 3. C-style ADTs, Streams and I/O, Assertions+UB Tutorial | Add/Drop Deadline Mon Sep 16 |
Tue Sep 17 | |||
Wed Sep 18 | Catch-up lectures 1-6, Miscellaneous | ||
Thu Sep 19 |
Entry Survey Due Thu Sep 19 at 8pm |
||
Fri Sep 20 | |||
Week 5Mon Sep 23 | Abstract Data Types in C++ | 4. Classes, C++ ADTs, Mini-Project | |
Tue Sep 24 | |||
Wed Sep 25 | Derived Classes and Inheritance | ||
Thu Sep 26 | |||
Fri Sep 27 |
Project 2 Due Fri Sep 27 at 8pm |
||
Week 6Mon Sep 30 | Polymorphism | 5. Inheritance, Polymorphism, Debugging Tutorial | |
Tue Oct 1 | |||
Wed Oct 2 | Containers, Iterators | ||
Thu Oct 3 | |||
Fri Oct 4 | |||
Week 7Mon Oct 7 | Time Complexity, Arrays, Pointer Arithmetic | 6. Containers, Iterators, Data Structures | |
Tue Oct 8 | |||
Wed Oct 9 | Array-Based Containers, Part I |
Project 3 Checkpoint Due Wed Oct 9 at 8pm |
|
Thu Oct 10 | |||
Fri Oct 11 | |||
Week 9Mon Oct 14 | No Lecture - Fall Break | No Lab | |
Tue Oct 15 | |||
Wed Oct 16 | Array-Based Containers, Part II | ||
Thu Oct 17 | |||
Fri Oct 18 | |||
Week 9Mon Oct 21 | Memory Models and Dynamic Memory | 7. Array-Based Data Structures | |
Tue Oct 22 | |||
Wed Oct 23 | Managing Dynamic Memory |
Project 3 Due Wed Oct 23 at 8pm |
|
Thu Oct 24 | |||
Fri Oct 25 | |||
Week 10Mon Oct 28 | No Lecture - Midterm Exam | No Lab | Midterm Exam Mon Oct 28 at 7-9pm |
Tue Oct 29 | Alternate Midterm Exam Tue Oct 29 at 7-9pm |
||
Wed Oct 30 | Deep Copies and The Big Three | ||
Thu Oct 31 | |||
Fri Nov 1 | |||
Week 11Mon Nov 4 | Linked Lists | 8. Dynamic Memory, Deep Copies | |
Tue Nov 5 | |||
Wed Nov 6 | Iterators | ||
Thu Nov 7 | |||
Fri Nov 8 | |||
Week 12Mon Nov 11 | Function Objects and Impostor Syndrome | 9. Linked Lists, Functors | |
Tue Nov 12 | Project 4 Due Tue Nov 12 at 8pm |
||
Wed Nov 13 | Recursion and Tail Recursion | ||
Thu Nov 14 | |||
Fri Nov 15 | |||
Week 13Mon Nov 18 | Structural Recursion | 10. Recursion, Trees | |
Tue Nov 19 | |||
Wed Nov 20 | Binary Search Trees and Maps | ||
Thu Nov 21 | |||
Fri Nov 22 | |||
Week 14Mon Nov 25 | Error Handling and Exceptions | No Lab | Project 5 Due Mon Nov 25 at 8pm |
Tue Nov 26 | |||
Wed Nov 27 | No Lecture - Thanksgiving Break | ||
Thu Nov 28 | |||
Fri Nov 29 | |||
Week 15Mon Dec 2 | No Lecture | 11. Lab Topic TBD | |
Tue Dec 3 | |||
Wed Dec 4 | Pathways in Computing Panels | ||
Thu Dec 5 | |||
Fri Dec 6 | |||
Week 16Mon Dec 9 | No Lecture | No Lab | Project 6 Due Mon Dec 9 at 8pm |
Tue Dec 10 | Exit Survey Due Tue Dec 10 at 8pm |
||
Wed Dec 11 | |||
Thu Dec 12 |
Final Exam Thu Dec 12 10:30am-12:30pm Alternate Final Exam Thu Dec 12 1:30pm-3:30pm |
||
Fri Dec 13 |
jjuett@umich.edu
akamil@umich.edu
razak@umich.edu