EECS 280: Programming and Intro Data Structures

The University of Michigan
Spring 2022
Looking for Winter 2022? Looking for previous terms?

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 3

Hope you're enjoying the . Or the . Either way, we're glad you're here.

  • The Add/Drop Deadline is Monday, 5/16. Let us know if you've got any questions.
  • Reminder: Entry Survey is due Wed May 18 at 8pm. It's worth 0.5% of your overall grade.
Project 2
Project 3
  • Project 3 - Euchre is out. It's due Fri, May 27 at 8pm.
  • Join us for a Euchre Social during lecture time on Wed, 5/18 from 11am-1pm. All are welcome, and this is a great way to learn the game if you've never played before!
  • We'll hold a project 3 overview session on Zoom, Wed 5/18 at 7pm. Details below .
If you're just joining us...
  • Let us know at so we can work with you on a plan to catch up.
  • Follow the Setup Tutorial to get your computer ready for EECS 280.
  • Feel free to join the course forums on Piazza and Discord
  • For questions on prerequisites or the diagnostic exam, please contact CSE UG Advising ( EECS 280 faculty are not involved in providing overrides.

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

James Juett head shot
James Juett (he/him)
2641 Beyster
Mon-Thu 10:30am-12:00pm
1670 Beyster
Asynchronous Lectures
A self-paced, asynchronous lecture option.
Covers the same material. Details and Links
Office Hours
Mon & Wed 2-3pm
In-Person, 2641 Beyster

Tue & Thu 3:30-4:30pm
Virtual via Zoom
James Juett head shot
Jule Schatz (she/her)
2717 Beyster
Mon-Thu 12:00pm-1:30pm
1670 Beyster
Office Hours
Virtual office hours by email/appointment

M/T/W/Th 1:30-2:30pm
In-Person, 2717 Beyster
P2 Due Tue, May 17 at 8pm
Project 2: Image Processing
Due Tue, May 17 at 8pm
Entry Survey
Due Wed, May 18 at 8pm
Project 3: Euchre
Due Fri, May 27 at 8pm
Due Wed/Fri at 8pm
Lab 4: Abstract Data Types
Due Wed, May 18 at 8pm
Lab 5: Polymorphism
Due Fri, May 20 at 8pm
Events & Resources
Project 2 Overview

Tips & Tricks for Project 2

Project 3 Overview

Tips & Tricks for Project 3

Wed May 18 at 7pm
Get Help & Connect
Coaching   Request a Coach
Connect 1-on-1 with an IA or GSI to plan for your 280 experience.
Virtual Office Hours   Sign Up
Project help and debugging
Mon 2-3, 4-5pm
Tue 10pm-Midnight
Wed 2-5pm, 10pm-midnight
Fri 11am-2:30pm
Sat Noon-3pm
In-Person Office Hours
In-person, group and individual help
Tue 2-5pm, Thu 4:30-6:30pm
Chrysler 133 (North Campus)
Course Forums
Ask/Answer Questions
Informal Discussion

Administrative Requests

Please use the forms linked below to make administrative requests. For other matters not covered by a form, you can each us at

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


Open calendar in new window


Day Lecture Topic Lab Topic Deadline
Week 1Mon May 2
Tue May 3 1. Introduction and Machine Model Getting Started
Wed May 4 2. Procedural Abstraction, Testing and Debugging
Thu May 5 3. Pointers Machine Model, Testing, IDE Setup
Fri May 6
Week 2Mon May 9 4. Pointers and Arrays
Tue May 10 5. Strings, Streams, and IO Pointers and Arrays Project 1
Due Tue May 10 at 8pm
Wed May 11 6. Compound Objects
Thu May 12 7. Abstract Data Types in C Strings and IO
Fri May 13
Week 3Mon May 16 8. Abstract Data Types in C++ Add/Drop Deadline, Mon May 16
Tue May 17 9. Derived Classes and Inheritance Abstract Data Types Project 2
Due Tue May 17 at 8pm
Wed May 18 Euchre Social (optional) Entry Survey
Due Wed May 18 at 8pm
Thu May 19 10. Polymorphism Polymorphism
Fri May 20
Week 4Mon May 23 11. Container ADTs I
Tue May 24 12. Container ADTs II TBA
Wed May 25 13. Memory Models and Dynamic Memory
Thu May 26 14. Managing Dynamic Memory Container ADTs
Fri May 27 Project 3
Due Fri May 27 at 8pm
Week 5Mon May 30 No Class - Memorial Day
Tue May 31 15. Linked Lists No Lab
Wed Jun 1 No Class - Midterm Exam Midterm Exam
Wed Jun 1 at 7-9pm
Thu Jun 2 16. Deep Copies and The Big Three Linked Structures
Fri Jun 3
Week 6Mon Jun 6 17. Iterators
Tue Jun 7 18. Recursion and Tail Recursion Dynamic Memory & Deep Copies
Wed Jun 8 19. Structural Recursion Project 4
Due Wed Jun 8 at 8pm
Thu Jun 9 20. Function Objects and Impostor Syndrome Recursion
Fri Jun 10
Week 7Mon Jun 13 TBA
Tue Jun 14 21. Auto, Maps, Range-Based For Loops Iterators and Functors
Wed Jun 15 22. Exceptions
Thu Jun 16 23. Containers of Pointers and What's Next Final Exam Review
Fri Jun 17
Week 8Mon Jun 20 TBA Project 5
Due Mon Jun 20 at 8pm
Tue Jun 21
Wed Jun 22
Thu Jun 23 Final Exam
Thu Jun 23 at 4-6pm
Fri Jun 24 Alternate Final Exam
Fri Jun 24 at 8-10am


Julia Aoun head shot
Julia Aoun
Q Cong head shot
Q Cong
Maria Fields head shot
Maria Fields
 Zachary Goldston head shot
Zachary Goldston
Gurish Sharma head shot
Gurish Sharma
Kami Ziolkowski head shot
Kami Ziolkowski