EECS 280: Programming and Intro Data Structures

The University of Michigan
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

Week 3: Getting help from course staff is always free!
  • Project 1 is due on Friday, Sept 12 at 8pm.
  • The Entry Survey is due on Wednesday, Sept 17 at 8pm.

  • If you're on the waitlist, don't worry. We'll add additional seats as needed.
  • Please direct questions on prerequisites, overrides, or the diagnostic project to CSE UG Advising (ugadmin@eecs.umich.edu). Course faculty are not involved in these processes.
Lectures
Live, In-Person  
Travis Doom
10:30am-12pm
1571 GGBL (North)
James Juett
12pm-1:30pm
1571 GGBL (North)
Travis Doom
1:30pm-3pm
Stamps Aud (North)
Amir Kamil
2:30pm-4pm
AUD B AH (Central)
Asynchronous Lectures
James Juett
Self-paced, interactive
 Available Online
Lecture Notes
Textbook-style coverage.
Assignments
Project 1: Statistics
Due Fri, Sep 12 at 8pm
Entry Survey
Due Wed, Sep 17 at 8pm
Labs
Attendance is required
Get Help & Connect
Staff Office Hours   Join
Today's Schedule:
Professor Office Hours
See calendar below.
Looking for old links? Check the Schedule below.

Calendar   Open in Google Calendar Add to My Calendar

Schedule   Printable Version

Day Lecture Topic Lab Topic Deadline
Week 1Mon Aug 25 1. Course Introduction, Intro to C++ No Lab
Tue Aug 26 Setup Walkthrough Sessions
Tue Aug 26 at 3-4:30pm
Wed Aug 27 2. Types, Control Structures, and Procedural Abstraction
Thu Aug 28
Fri Aug 29
Week 2Mon Sep 1 No Class - Labor Day 1. Intro to Lab, C++ Fundamentals, Pragmatics
Tue Sep 2
Wed Sep 3 2.5. Catch Up Lecture (participation credit counts toward lecture 7)
Thu Sep 4
Fri Sep 5
Week 3Mon Sep 8 3. Machine Model, Part 1 2. Machine Model, Pointers/References, Call Stack, UTF Tutorial
Quiz 1. Low-stakes practice taking online quiz.
Tue Sep 9
Wed Sep 10 4. Machine Model, Part 2
Thu Sep 11
Fri Sep 12 Project 1
Due Fri Sep 12 at 8pm
Week 4Mon Sep 15 5. const, Structs, and C-Style ADTs 3. C-style ADTs, Streams and I/O, Assertions+UB Tutorial
Quiz 2. Lectures 1-4, labs 1-2, project 1, C++ setup.
Add/Drop Deadline
Mon Sep 15
Tue Sep 16
Wed Sep 17 6. Streams and I/O Entry Survey
Due Wed Sep 17 at 8pm
Thu Sep 18
Fri Sep 19
Week 5Mon Sep 22 8. Abstract Data Types in C++ 4. Classes, C++ ADTs, Mini-Project
Tue Sep 23
Wed Sep 24 9. Derived Classes and Inheritance
Thu Sep 25
Fri Sep 26 Project 2
Due Fri Sep 26 at 8pm
Week 6Mon Sep 29 10. Polymorphism 5. Inheritance, Polymorphism, Debugging Tutorial
Quiz 3. Lectures 5-8, labs 3-4, project 2.
Tue Sep 30
Wed Oct 1 11. Arrays, Pointer Arithmetic, C-Style Strings
Thu Oct 2
Fri Oct 3
Week 7Mon Oct 6 12. Array-Based Data Structures, Time Complexity 6. Array-Based Data Structures
Tue Oct 7
Wed Oct 8 13. Sorted Data Structures, Templates Project 3 Checkpoint
Due Wed Oct 8 at 8pm
Thu Oct 9
Fri Oct 10
Week 8Mon Oct 13 No Class - Fall Break No Lab
Tue Oct 14
Wed Oct 15 14. Containers and Iterators
Thu Oct 16
Fri Oct 17
Week 9Mon Oct 20 15. Memory Models and Dynamic Memory 7. Containers, Iterators
Quiz 4. Lectures 9-13, labs 5-6, project 3 checkpoint.
Tue Oct 21
Wed Oct 22 16. Managing Dynamic Memory Project 3
Due Wed Oct 22 at 8pm
Thu Oct 23
Fri Oct 24
Week 10Mon Oct 27 No Class - Midterm Exam No Lab Midterm Exam
Mon Oct 27, 7-9pm
Tue Oct 28 Alternate Midterm Exam
Tue Oct 28, 7-9pm
Wed Oct 29 17. Deep Copies and The Big Three
Thu Oct 30
Fri Oct 31 Withdraw Deadline
Fri Oct 31
Week 11Mon Nov 3 18. Linked Lists 8. Dynamic Memory, Deep Copies
Tue Nov 4
Wed Nov 5 19. Iterators
Thu Nov 6
Fri Nov 7
Week 12Mon Nov 10 20. Functors and Impostor Syndrome 9. Linked Lists, Functors
Quiz 5. Lectures 14-17, labs 7-8, project 4.
Tue Nov 11 Project 4
Due Tue Nov 11 at 8pm
Wed Nov 12 21. Recursion and Tail Recursion
Thu Nov 13
Fri Nov 14
Week 13Mon Nov 17 22. Structural Recursion 10. Recursion, Trees
Tue Nov 18
Wed Nov 19 23. Binary Search trees, Sets, and Maps
Thu Nov 20
Fri Nov 21
Week 14Mon Nov 24 24. Error Handling and Exceptions No Lab
Tue Nov 25 Project 5
Due Tue Nov 25 at 8pm
Wed Nov 26 No Class - Thanksgiving Break
Thu Nov 27
Fri Nov 28
Week 15Mon Dec 1 No Class 11. Exceptions and Review
Quiz 6. Lectures 18-23, labs 9-10, project 5.
Tue Dec 2
Wed Dec 3 No Class
Thu Dec 4
Fri Dec 5
Week 16Mon Dec 8 No Class No Lab Project 6
Due Mon Dec 8 at 8pm
Tue Dec 9 Exit Survey
Due Tue Dec 9 at 8pm
Take the Survey
Wed Dec 10
Thu Dec 11
Fri Dec 12 Final Exam
Fri Dec 12, 10:30am-12:30pm
Alternate Final Exam
Fri Dec 12, 1:30pm-3:30pm

People

Faculty

James Juett head shot
Travis Doom
he/him

tdoom@umich.edu

#! 
James Juett head shot
James Juett
he/him

jjuett@umich.edu

Amir Kamil head shot
Amir Kamil
he/him

akamil@umich.edu

IAs and GSIs

Ben Antonow head shot
Ben Antonow
he/him
Mihir Arya head shot
Mihir Arya
he/him
Abby Cremers head shot
Abby Cremers
she/her
Vrinda Desai head shot
Vrinda Desai
she/her
Jared Diaz head shot
Jared Diaz
he/him
Kyle Fick head shot
Kyle Fick
he/him
Ishika Gupta head shot
Ishika Gupta
she/her
Katelyn Ha head shot
Katelyn Ha
she/her
Téa Hajratwala head shot
Téa Hajratwala
she/her
Holden Halucha head shot
Holden Halucha
he/him
Faranak Hematti head shot
Faranak Hematti
she/her
Ayla Janiga head shot
Ayla Janiga
she/her
Nishant Kheterpal head shot
Nishant Kheterpal
he/him
Ishan Kumar head shot
Ishan Kumar
Tessa Lee head shot
Tessa Lee
she/her
Reese Liebman head shot
Reese Liebman
she/her
Lobster head shot
Lobster
Course Mascot
Tanishka Nalawade head shot
Tanishka Nalawade
she/her
Nidhil Nayudu head shot
Nidhil Nayudu
he/him
Kathryn Nichols head shot
Kathryn Nichols
she/her
Allison Okimoto head shot
Allison Okimoto
she/her
Akanksha Rai head shot
Akanksha Rai
she/her
Rakshith Raja head shot
Rakshith Raja
he/him
Armaan Randhawa head shot
Armaan Randhawa
he/him
Danny Samuel head shot
Danny Samuel
he/him
Daniel Skora head shot
Daniel Skora
he/him
Ria Tandon head shot
Ria Tandon
she/her
Michael Wang head shot
Michael Wang
he/him