EECS 280: Programming and Intro Data Structures

The University of Michigan
Winter 2024
Looking for Spring 2024 or Fall 2024?

Computer science fundamentals, with programming in C++. Build an image processing program, a game of Euchre, a text editor, and a machine learning algorithm. Syllabus

Congratulations on finishing the semester!
  • That's a wrap! We appreciate all the hard work you put into the course. Have a great summer!
Live, In-Person  
Saquib Razak
MW 10:30am-12pm
1610 IOE (North)
James Juett
MW 11:30am-1pm
1020 SPH2 (Central)
Saquib Razak
MW 12pm-1:30pm
Stamps Aud (North)
Steve Bogaerts
MW 3pm-4:30pm
1013 DOW (North)
Steve Bogaerts
MW 4:30pm-6pm
1013 DOW (North)
Asynchronous Lectures
James Juett
Self-paced, interactive
 Available Online
Lecture Notes
Textbook-style coverage.
No more projects!
No more labs!
Get Help & Connect
No more office hours!
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 Jan 8 No Lab
Tue Jan 9
Wed Jan 10 Introduction and Machine Model
Thu Jan 11 Setup Walkthrough Sessions
Windows Mac
Fri Jan 12
Week 2Mon Jan 15 No Class - MLK Day 1. Getting Started, IDE Setup
Tue Jan 16
Wed Jan 17 Procedural Abstraction, Testing and Debugging
Thu Jan 18
Fri Jan 19 Lab Due each Sunday 8pm
Week 3Mon Jan 22 Pointers 2. Machine Model, Testing, Unit Testing Framework
Tue Jan 23
Wed Jan 24 Arrays Project 1
Due Wed Jan 24 at 8pm
Thu Jan 25
Fri Jan 26
Week 4Mon Jan 29 Const, Compound Objects 3. Pointers and Arrays, Detecting Undefined Behavior
Tue Jan 30 Add/Drop Deadline
Tue Jan 30
Wed Jan 31 Abstract Data Types in C
Thu Feb 1 Entry Survey
Due Thur Feb 1 at 8pm
Fri Feb 2
Week 5Mon Feb 5 Strings, Streams, and IO 4. Strings and IO, Version Control with git
Tue Feb 6
Wed Feb 7 Abstract Data Types in C++
Thu Feb 8
Fri Feb 9 Project 2
Due Fri Feb 9 at 8pm
Week 6Mon Feb 12 Derived Classes and Inheritance 5. Abstract Data Types, Mini-Project
Tue Feb 13
Wed Feb 14 Polymorphism Valentine's Day
Thu Feb 15
Fri Feb 16
Week 7Mon Feb 19 Container ADTs I 6. Inheritance, Polymorphism, Debuggers
Tue Feb 20
Wed Feb 21 Container ADTs II
Thu Feb 22
Fri Feb 23 Project 3 Checkpoint
Due Fri Feb 23 at 8pm
Week 8Mon Feb 26 Spring Break
Tue Feb 27
Wed Feb 28
Thu Feb 29
Fri Mar 1
Week 9Mon Mar 4 Memory Models and Dynamic Memory 7. Containers, Array-Based Data Structures
Tue Mar 5
Wed Mar 6 Managing Dynamic Memory
Thu Mar 7
Fri Mar 8 Project 3
Due Fri Mar 8 at 8pm
Week 10Mon Mar 11 Deep Copies and The Big Three No Lab
Tue Mar 12
Wed Mar 13 No Class - Midterm Exam Midterm Exam
Wed Mar 13 at 7-9pm
Thu Mar 14 Alternate Midterm Exam
Thu Mar 14 at 7-9pm
Fri Mar 15
Week 11Mon Mar 18 Linked Lists 8. Dynamic Memory, Deep Copies
Tue Mar 19
Wed Mar 20 Iterators
Thu Mar 21
Fri Mar 22
Week 12Mon Mar 25 Functors and Impostor Syndrome 9. Iterators and Functors
Tue Mar 26
Wed Mar 27 Recursion and Tail Recursion
Thu Mar 28
Fri Mar 29
Week 13Mon Apr 1 Structural Recursion 10. Recursion
Tue Apr 2 Project 4
Due Tue Apr 2 at 8pm
Wed Apr 3 Binary Search Trees and Maps
Thu Apr 4
Fri Apr 5
Week 14Mon Apr 8 No Class 11. Maps, Final Exam Review
Tue Apr 9
Wed Apr 10 No Class
Thu Apr 11
Fri Apr 12 Project 5 Checkpoint
Due Fri Apr 12 at 8pm
Week 15Mon Apr 15 Error Handling and Exceptions No Lab
Tue Apr 16
Wed Apr 17 Pathways in Computing Panel Discussion
Thu Apr 18
Fri Apr 19
Week 16Mon Apr 22 No Class No Lab Project 5
Due Mon Apr 22 at 8pm
FAQ Overview
Tue Apr 23
Wed Apr 24 Exit Survey
Due Wed Apr 24 at 8pm
Thu Apr 25 Final Exam
Thu Apr 25 10:30am-12:30pm
Alternate Final Exam
Thu Apr 25 1:30pm-3:30pm
Fri Apr 26



Steve Bogaerts head shot
Steve Bogaerts

James Juett head shot
James Juett

Saquib Razak head shot
Saquib Razak

IAs and GSIs

Ibrahim Abouarabi head shot
Ibrahim Abouarabi
Raiyan Ahmed head shot
Raiyan Ahmed
Mihir Arya head shot
Mihir Arya
Faizan Bhagat head shot
Faizan Bhagat
Archana Chandran head shot
Archana Chandran
Jared Diaz head shot
Jared Diaz
Shayla Doan head shot
Shayla Doan
Maria Fields head shot
Maria Fields
Daniel Gorelik head shot
Daniel Gorelik
Kartikeya Gupta head shot
Kartikeya Gupta
Tea Hajratwala head shot
Téa Hajratwala
Faranak Hematti head shot
Faranak Hematti
Jenna Jaehnig head shot
Jenna Jaehnig
Sam Jaehnig head shot
Sam Jaehnig
Kedi Jiang head shot
Kedi Jiang
Vishnu Kannan head shot
Vishnu Kannan
Nishant Kheterpal head shot
Nishant Kheterpal
Keegan Kipke head shot
Keegan Kipke
Jaewoo Kim head shot
Jaewoo Kim
Oh Jun Kweon head shot
Oh Jun Kweon
Justin Liu head shot
Justin Liu
Parker Mathena head shot
Parker Mathena
Trisha Maturi head shot
Trisha Maturi
Adviti Mishra head shot
Adviti Mishra
Allison Okimoto head shot
Allison Okimoto
Shweta Pati head shot
Shweta Pati
Michael Peng head shot
Michael Peng
Wenzhao Qiu head shot
Wenzhao Qiu
Armaan Randhawa head shot
Armaan Randhawa
Fanny Raskind head shot
Fanny Raskind
Carrie Saginur head shot
Carrie Saginur
Danny Samuel head shot
Danny Samuel
Zalan Shah head shot
Zalan Shah (I go by my last name)
Gurish Sharma head shot
Gurish Sharma
Joshua Siegel head shot
Joshua Siegel
Alan Sun head shot
Alan Sun
Zhixiang Teoh head shot
Zhixiang Teoh
Ankith Udupa head shot
Ankith Udupa
HQ Wang head shot
HQ Wang
Andy Wang head shot
Andy Wang
Yu Wang head shot
Yu Wang
Vincent Wei head shot
Vincent Wei
Emily Yuan head shot
Emily Yuan
Moneeb Zuberi head shot
Moneeb Zuberi