Computer science fundamentals, with programming in C++. Build an image processing program, a game of Euchre, a web backend, and a machine learning algorithm. Syllabus
If there's something not on these forms, you can reach us at eecs280admin@umich.edu.
Day | Lecture | Lab | Deadline |
---|---|---|---|
Week 1 May 2 - 5 |
01 Introduction and Machine Model 02 Procedural Abstraction, Testing and Debugging 03 Pointers |
No Lab 01 Getting Started |
|
Week 2 May 8 - 12 |
04 Pointers and Arrays 05 Compound Objects 06 Strings, Streams, and IO 07 Abstract Data Types in C |
02 Machine Model, Testing, Unit Testing Framework 03 Pointers and Arrays, Detecting undefined behavior |
Project 1 Tue May 9 |
Week 3 May 15 - 19 |
08 Abstract Data Types in C++ 09 Derived Classes and Inheritance 10 Polymorphism 11 Container ADTs I |
04 Strings and IO 05 Project 3 Intro |
Project 2 Wed May 17 |
Week 4 May 22 - 26 |
12 Container ADTs II 13 Memory Models and Dynamic Memory Exam Review Exam |
06 Polymorphism No Lab |
Exam Thu May 25 |
Week 5 May 29 - June 2 |
No Class - Memorial Day 14 Managing Dynamic Memory 15 Deep Copies and The Big Three 16 LinkedLists |
07 Container ADTs 08 Dynamic Memory & Deep Copies |
Project 3 Thur June 1 |
Week 6 June 5 - 9 |
17 Iterators 18 Recursion and Tail Recursion 19 Structural Recursion 20 Binary Search Trees and Maps |
09 Iterators 10 Recursion |
Project 4 Fri June 9 |
Week 7 June 12 - 16 |
21 Function Objects and Imposter Syndrome 22 Problem Solving with Recursion 23 Exceptions TBD |
11 Functors and Maps 12 Final Exam Review (optional) |
|
Week 8 Jun 19 |
13 TBD (Last day of classes) |
Project 5 Mon June 19 |
|
Final Exam
Alternate |
Reach us at eecs280admin@umich.edu
razak@umich.edu