EECS 280: Programming and Intro Data Structures

The University of Michigan
Winter 2026

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

Welcome to Week 2!
  • Lab begins. Attendance is required at your registered lab section.
  • Office hours begin. Refer to the calendar below for times and locations.
  • Entry Survey has been published. It's due Friday, Jan 30 @ 8pm.

Schedule

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

01 Intro. to Lab, C++ Fundamentals and Pragmatics
Week 3
Jan 19 - 23

No lecture - MLK Day

04 Machine Model, Part 1

02 Debugger Setup, Assertions and UTF/UB Tutorials Project 1
Fri 8pm
Week 4
Jan 26 - 30

05 Machine Model, Part 2

06 const, Structs, and C-Style ADTs

03 Machine Model, Pointers/References, Call Stack Entry Survey Fri 8pm
Week 5
Feb 2 - 6

07 Streams and I/O

08 Abstract Data Types in C++

04 Structs and Streams Project 2 Fri 8pm
Week 6
Feb 9 - 13

09 Derived Classes and Inheritance

10 Polymorphism

05 Classes, ADTs and Mini-Project
Week 7
Feb 16 - 20

11 Arrays, Pointer Arithmetic, C-Style Strings

12 Array-Based Data Structures, Time Complexity

06 Inheritance, Polymorphism and Mini-project Driver Project 3 Checkpoint Thu 8pm
Week 8
Feb 23 - 27

13 Sorted Data Structures, Templates

14 Containers and Iterators

07 Array-Based Data Structures 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

08 Containers and Using Iterators Withdraw deadline Fri Mar 20
Week 11
Mar 23 - 27

17 Deep Copies and The Big Three

18 Linked Lists

09 Dynamic Memory and the Big Three Project 4 Fri 8pm
Week 12
Mar 30 - Apr 3

19 Iterators

20 Functors and Impostor Syndrome

10 Linked Lists
Week 13
Apr 6 - 10

21 Recursion and Tail Recursion

22 Structural Recursion

11 Iterators and Linear Recursion Project 5 Fri 8pm
Week 14
Apr 13 - 17

23 Binary Search trees, Sets, and Maps

24 Error Handling and Exceptions

12 Functors and Non-linear Recursion
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

People

Faculty

Andrew DeOrio head shot
Andrew DeOrio
Travis Doom head shot
Travis Doom
#! 
John Kloosterman head shot
John Kloosterman

IAs and GSIs

Coming soon!