EECS 280: Programming and Intro Data Structures

The University of Michigan
Winter 2026
Looking for Fall 2025?

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 EECS 280 Winter 2026!

We're glad you're here.

  • You may attend any standard lecture section (flex policy). If you are registered for an ARR lecture section, pick any of the standard lecture times that work for you. The standard lecture sections are:
    • 001: MW 11:00AM-12:30PM, TBD
    • 003: MW 12:00-1:30PM, STAMPS
    • 004: MW 3:00-4:30PM, 1013 DOW
    • 005: MW 4:30-6:00PM, 1013 DOW
  • Attendance is required at your registered lab section.
  • No lab first week of class.
  • If you're on the waitlist, don't worry, we'll add more seats.
  • Please direct questions on prerequisites, overrides, or the diagnostic project to CSE UG Advising (ugadmin@eecs.umich.edu).

Schedule

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

People

Faculty

Andrew DeOrio head shot
Andrew DeOrio
he/him

awdeorio@umich.edu

Travis Doom head shot
Travis Doom
he/him

tdoom@umich.edu

#! 
John Kloosterman head shot
John Kloosterman
he/him

jklooste@umich.edu

IAs and GSIs

Coming soon!