EECS 280: Programming and Intro Data Structures

The University of Michigan
Spring 2021
Looking for Winter 2021?

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

We hope week 7 helps your progession and answers some questions
(Yeah we're getting kinda burned out on these rhymes.)
  • Look for an announcement late this week about final exam logistics and practice materials.
  • Office hours times have changed! We've added some more hours over the weekend to help accomadate those who are unable to attend Monday - Friday.
  • Project 5 is out! Make sure you've started if you haven't yet - it's a long project, but you can do it if you plan ahead, pace yourself, and reach out if you need help!
  • You've got everything you need to finish BST.h on P5.
  • We've prepared some project 5 overview videos for you. See Live Events below.
Upcoming Lectures:
  • No lecture/Runestone for Monday.
  • Tuesday's lecture covers maps and a few tricks for the P5 driver.
  • Wednesday's lecture covers exceptions. This lecture is optional. We will give everyone full credit, and we won't test exceptions on the final exam. However, exceptions are useful for a bit of error handling in your P5 driver code.
  • The Grade Calculator is still available - it's just moved a bit farther down the page.

This Week   Times listed in Ann Arbor local time (EDT)

Due 11:59pm each day
Previous lectures linked in the Schedule below.
Mon 6/14   
No Lecture
Wed 6/16   
22 - Coming Soon
Thu 6/17   
23 - Coming Soon

Lecture or Exam Review Q&A   
Tue, 12-1:30pm
Wed, 12-1:30pm
P5 due Mon, June 21 at 8pm

Project 5: ML

Check live events for helpful overview videos!

Exit Survey (due 6/23)

Office Hours
Course Staff    Sign up
Mon 5pm - 9pm
Tue 5pm - 9pm
Wed 5pm - 9pm
Thu 5pm - 9pm
Fri 5pm - 9pm
Sat 2pm - 8pm
Sun 2pm - 5pm
Prof. Juett   
Tue 10am - 11am
Wed 9pm - 10pm
Thu 10am - 11am
Or send me an email!

Administrative Request Forms

Submit your SSD VISA form here to request extended time or other exam accommodations

Report an exam conflict and request an alternate date/time

Report an exam conflict and request an alternate date/time

Report a medical or personal emergency and request an extension or exception.

Students adding the course late may petition for additional time to turn in assignments.

Grade Calculator



(Enter your curved exam scores, not the raw ones.)

Overall Percent

Weighted Project Average
This may be below the required threshold to earn a C or better

Weighted Exam Average
This may be below the required threshold to earn a C or better

Final Grade



All times are listed as Ann Arbor local time (ET)

Day # Lecture Lab Events/Deadlines
Tue May 4 1 Introduction and Machine Model No lab
Wed May 5 2 Procedural Abstraction, Testing, and Debugging
Thu May 6 3 Pointers Getting Started
Fri May 7
Mon May 10 4 Arrays and Pointers
Tue May 11 5 Strings, Streams, and IO Pointers and Arrays P1 due Tue May 11
Wed May 12 6 Compound Objects IDE Tips/Tricks Project 2 Overview
Thu May 13 7 Abstract Data Types in C Strings and IO
Fri May 14
Mon May 17 8 Abstract Data Types in C++ Add/drop deadline
Tue May 18 9 Derived Classes and Inheritance Abstract Data Types Project 2 due Tue May 18
Wed May 19 10 Polymorphism Euchre Social Project 3 Overview
Thu May 20 11 Container ADTs I Polymorphism
Fri May 21
Mon May 24 Program Design Demo Recording Part 2 Code Files
Tue May 25 12 Container ADTs II euchre.cpp and Midterm Review
Wed May 26 13 Memory Models and Dynamic Memory
Thu May 27 14 Managing Dynamic Memory Container ADTs
Fri May 28 Project 3 due Fri May 28
Mon May 31 No Class - Memorial Day
Tue Jun 1 15 Linked Lists No Lab
Wed Jun 2 No Class - Midterm Exam Midterm 7pm
Wed Jun 2
Review Session
Thu Jun 3 16 Deep Copies Linked Structures
Fri Jun 4
Mon Jun 7 17 Iterators Project 4 Overview Review Session
Tue Jun 8 18 Recursion and Tail Recursion Dynamic Memory & Deep Copies
Wed Jun 9 19 Structural Recursion Project 4 due Wed Jun 9
Thu Jun 10 20 Functors and Impostor Syndrome Recursion
Fri Jun 11
Mon Jun 14 No Lecture
Tue Jun 15 21 Maps, auto, and Range-Based Loops Iterators and Functors
Wed Jun 16 22 Exceptions (Optional, not on final exam)
Thu Jun 17 23 Containers of Pointers Final Exam Review and Reflection
Fri Jun 18
Mon Jun 21 TBA Project 5 due Mon Jun 21
Tue Jun 22
Wed Jun 23
Thu Jun 24 Final 8am
Thu Jun 24


Reach us at

James Juett head shot
James Juett

Claire Burton head shot
Claire Burton
Ashley Carroll head shot
Ashley Carroll
Alex ElHamahmy head shot
Alex ElHamahmy
Sam Jaehnig head shot
Sam Jaehnig
Lizzy Lu head shot
Lizzy Lu
Natasha Saputra head shot
Natasha Saputra
Jennifer Tran head shot
Jennifer Tran
Kami Ziolkowski head shot
Kami Ziolkowski