awdeorio@umich.edu
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
Tentative
| Day | Lecture | Lab | Deadline |
|---|---|---|---|
|
Week 1 Jan 7 - 9 |
01 Introduction to C++ |
No Lab | |
|
Week 2 Jan 12 - 16 |
02 Types and Control Structures 03 Procedural Abstraction and Modularization |
Lab 1 | |
|
Week 3 Jan 19 - 23 |
No lecture - MLK Day 04 Machine Model, Part 1 |
Lab 2 |
Project 1
Fri 8pm |
|
Week 4 Jan 26 - 30 |
05 Machine Model, Part 2 06 const, Structs, and C-Style ADTs |
Lab 3 |
Entry Survey
Fri 8pm |
|
Week 5 Feb 2 - 6 |
07 Streams and I/O 08 Abstract Data Types in C++ |
Lab 4 |
Project 2
Fri 8pm |
|
Week 6 Feb 9 - 13 |
09 Derived Classes and Inheritance 10 Polymorphism |
Lab 5 | |
|
Week 7 Feb 16 - 20 |
11 Arrays, Pointer Arithmetic, C-Style Strings 12 Array-Based Data Structures, Time Complexity |
Lab 6 |
Project 3 Checkpoint
Thu 8pm |
|
Week 8 Feb 23 - 27 |
13 Sorted Data Structures, Templates 14 Containers and Iterators |
Lab 7 |
Project 3
Thu 8pm |
| Mar 2 - 6 |
Spring Break |
||
|
Week 9 Mar 9 - 13 |
No lecture No lecture |
No Lab |
Midterm
Wed Mar 11 7pm
Alternate
Thu Mar 12 7pm |
|
Week 10 Mar 16 - 20 |
15 Memory Models and Dynamic Memory 16 Managing Dynamic Memory |
Lab 8 | Withdraw deadline Fri Mar 20 |
|
Week 11 Mar 23 - 27 |
17 Deep Copies and The Big Three 18 Linked Lists |
Lab 9 |
Project 4
Tue 8pm |
|
Week 12 Mar 30 - Apr 3 |
19 Iterators 20 Functors and Impostor Syndrome |
Lab 10 | |
|
Week 13 Apr 6 - 10 |
21 Recursion and Tail Recursion 22 Structural Recursion |
Lab 11 |
Project 5
Tue 8pm |
|
Week 14 Apr 13 - 17 |
23 Binary Search trees, Sets, and Maps 24 Error Handling and Exceptions |
Lab 12 | |
|
Week 15 Apr 20 - 21 |
TBD |
No Lab |
Project 6
Tue 8pm
Exit Survey
Tue 8pm |
| Exam Week |
Final Exam
Mon Apr 27 10:30am
Alternate
Mon Apr 27 1:30pm |
||
awdeorio@umich.edu
tdoom@umich.edu
#!
jklooste@umich.edu
Coming soon!