EECS 280: Programming and Intro Data Structures

The University of Michigan
Fall 2023

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

Week 14 Announcements
  • Check the Final Exam Information for room assignments, exam policies, and more.
  • The Exit Survey is open until next Wednesday, Dec 6 at 8pm. Note that this is worth 0.5% of your grade.
  • Project 5 is due next Monday, Dec 4 at 8pm.
  • Check the Project 5 Playlist for recorded walkthroughs by instructors.
  • Practice exams for the Final are available on the public Drive .
Live, In-Person  
Sofia Saleem
MW 10:30am-12pm
1670 Beyster (North)
Saquib Razak
MW 12pm-1:30pm
1571 GGBL (North)
James Juett
MW 1:30pm-3pm
Stamps Aud (North)
Amir Kamil
MW 4pm-5:30pm
1210 CHEM (Central)
Async Lectures
Self-paced, interactive.
Lecture Notes
Textbook-style coverage.
Project 5: Machine Learning
Checkpoint: Tue, Nov 28 at 8pm
Full project: Mon, Dec 4 at 8pm
Lab 10
Due Sun, Dec 3 at 8pm
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/Event
Week 1Mon Aug 28 Introduction and Machine Model No Lab
Tue Aug 29
Wed Aug 30 Procedural Abstraction, Testing and Debugging
Thu Aug 31
Fri Sep 1
Week 2Mon Sep 4 No Class - Labor Day 1. Getting Started, IDE Setup
Tue Sep 5 C++ Setup Demo Session
Wed Sep 6 Pointers
Thu Sep 7
Fri Sep 8 Lab Due each Sunday 8pm
Week 3Mon Sep 11 Pointers and Arrays 2. Machine Model, Testing, Unit Testing Framework
Tue Sep 12
Wed Sep 13 Compound Objects Project 1
Due Wed Sep 13 at 8pm
Thu Sep 14
Fri Sep 15
Week 4Mon Sep 18 Strings, Streams, and IO 3. Pointers and Arrays, Detecting Undefined Behavior Add/Drop Deadline Mon Sep 18
Tue Sep 19
Wed Sep 20 Abstract Data Types in C Entry Survey
Due Wed Sep 20 at 8pm
Thu Sep 21
Fri Sep 22
Week 5Mon Sep 25 Abstract Data Types in C++ 4. Strings and IO, Version Control with git
Tue Sep 26
Wed Sep 27 Derived Classes and Inheritance Project 2
Due Wed Sep 27 at 8pm
Thu Sep 28
Fri Sep 29
Week 6Mon Oct 2 Polymorphism 5. Abstract Data Types, Mini-Project
Tue Oct 3
Wed Oct 4 Container ADTs I
Thu Oct 5
Fri Oct 6
Week 7Mon Oct 9 Container ADTs II 6. Inheritance, Polymorphism, Debuggers
Tue Oct 10
Wed Oct 11 Memory Models and Dynamic Memory Project 3 Checkpoint
Due Wed Oct 11 at 8pm
Thu Oct 12
Fri Oct 13
Week 8Mon Oct 16 No Class - Fall Break No Lab Fall Break
Tue Oct 17
Wed Oct 18 Managing Dynamic Memory
Thu Oct 19
Fri Oct 20
Week 9Mon Oct 23 Deep Copies and The Big Three 7. Array-Based Data Structures, Dynamic Memory, Deep Copies
Tue Oct 24 Project 3
Due Tue Oct 24 at 8pm
Wed Oct 25 Linked Lists
Thu Oct 26
Fri Oct 27
Week 10Mon Oct 30 No Class - Midterm Exam No Lab Midterm Exam
Mon Oct 30 at 7-9pm
Tue Oct 31 Alternate Midterm Exam
Tue Oct 31 at 7-9pm
Wed Nov 1 Iterators
Thu Nov 2
Fri Nov 3
Week 11Mon Nov 6 Function Objects and Impostor Syndrome 8. Iterators and Functors
Tue Nov 7
Wed Nov 8 Recursion and Tail Recursion
Thu Nov 9
Fri Nov 10
Week 12Mon Nov 13 Structural Recursion 9. Recursion
Tue Nov 14 Project 4
Due Tue Nov 14 at 8pm
Wed Nov 15 Binary Search Trees and Maps
Thu Nov 16
Fri Nov 17
Week 13Mon Nov 20 No Class No Lab
Tue Nov 21
Wed Nov 22 No Class -Thanksgiving Break Thanksgiving Break
Thu Nov 23
Fri Nov 24
Week 14Mon Nov 27 Exceptions 10. Maps, Exceptions, and Final Exam Review
Tue Nov 28 Project 5 Checkpoint
Due Tue Nov 28 at 8pm
Wed Nov 29 Pathways in Computing Panel Discussion
Thu Nov 30
Fri Dec 1
Week 15Mon Dec 4 No Class No Lab Project 5
Due Mon Dec 4 at 8pm
Tue Dec 5
Wed Dec 6 No Class Exit Survey
Due Wed Dec 6 at 8pm
Thu Dec 7
Fri Dec 8 Final Exam
Fri Dec 8 10:30am-12:30pm
Alternate Final Exam
Fri Dec 8 1:30pm-3:30pm


Reach us at


Amir Kamil head shot
Amir Kamil

James Juett head shot
James Juett

Sofia Saleem head shot
Sofia Saleem

Saquib Razak head shot
Saquib Razak

IAs and GSIs

Ibrahim Abouarabi head shot
Ibrahim Abouarabi
Raiyan Ahmed head shot
Raiyan Ahmed
Faizan Bhagat head shot
Faizan Bhagat
Jared Diaz head shot
Jared Diaz
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
Jaewoo Kim head shot
Jaewoo Kim
Oh Jun Kweon head shot
Oh Jun Kweon
Nicole Lam head shot
Nicole Lam
Parker Mathena head shot
Parker Mathena
Adviti Mishra head shot
Adviti Mishra
Viroshan Narayan head shot
Viroshan Narayan
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
Julie Shah head shot
Julie Shah
Zalan Shah head shot
Zalan Shah (I go by my last name)
Gurish Sharma head shot
Gurish Sharma
Joshua Siegel head shot
Joshua Siegel
Ravi Somvanshi head shot
Ravi Somvanshi
Vanessa Su head shot
Vanessa Su
Claire Sun head shot
Claire 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
Norman Wen head shot
Norman Wen
Emily Yuan head shot
Emily Yuan
Chris Zhang head shot
Chris Zhang
Elaine Zhang head shot
Elaine Zhang
Moneeb Zuberi head shot
Moneeb Zuberi