EECS 280: Programming and Intro Data Structures

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

Announcements - Week 3

Here's the tea for the lab free week 3!

  • MLK Jr. Day (Mon, Jan 17): No lecture or office hours Monday. No lab this week.
  • Look for lab solutions posted the following Monday, linked in the Schedule section below.
  • Live Lectures continue to be offered in-person. You may attend any section, regardless of registration. In addition to his in-person lectures, Prof. Beaumont has also been offering a live, remote option via Zoom (link below). Starting Wednesday 1/19, Prof. Saleem will also be offering a live, remote option via Zoom (link below), in addition to her in-person lecture option.
  • Check out the Computing CARES: Resume & Interview Workshop on Wed, Jan 19th from 6-7:30pm. See Piazza @588 for more info and RSVP for the zoom link.
  • The midterm is Wed Feb 23 at 7-9pm and the final is Fri Apr 22 at 10:30am-12:30pm. If you have an exam conflict, fill out the appropriate form by Jan 28th at 8pm.
  • Please complete the Entry Survey due Wednesday, January 26 at 8pm. This helps us assess the course and understand our CSE community. It's worth 0.5% of your final grade.
  • Interested in coaching? Check out Piazza @105 for more info!
Setup Clinics and Open Q&A

In place of Tues-Fri labs this week, there are optional "Setup Clinics" to support C++ setup Q&A.

  • Make sure you can compile, run, test, and debug code on your own machine!
  • Find a section that supports your OS and IDE by checking our Setup Clinic Listing .
  • You're welcome to stop by any section, but attendance is not required.
Project 1
  • P1-Stats is due this Wednesday, January 19th at 8pm! please note that it is due at 8pm!
  • Feeling stuck? Come visit us in office hours and be sure to check out the helpful resources located in Assignments.
  • We plan to release project 2 information after project 1 is due.
If you've just added the course...
  • Catch up on the first few lectures via the recordings or asynchronous options linked below.
  • Reach out to us about getting placed with a lab group.
  • Ask any questions you have on Piazza or Discord , or feel free to stop by office hours.
  • If you're on the waitlist, don't worry. We will open additonal seats soon.
  • If you have any questions regarding prerequisites for enrolling in the class or the diagnostic exam, please contact Undergraduate Advising ( The 280 faculty are not involved in providing overrides.

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

Jonathan Beaumont head shot
Jon Beaumont
M & W 12-1:30pm
220 Chrysler
Join live via Zoom

M & W 3-4:30pm
1013 DOW
Join live via Zoom
Office Hours
T/Th 3-4pm
Virtual via Zoom
M/W 1:30-2:30pm
(1/19 2-3pm, 4:30-5)
In-Person, 3828 BBB
Ashley Carroll head shot
Ashley Carroll
M & W 4-5:30pm
Office Hours
Remote OH
Mon & Wed 1-2pm
James Juett head shot
James Juett
M & W 4:30-6pm
Stamps Auditorium
Async Lectures
Office Hours
Tue 1:30-2:30pm
Virtual via Zoom
Wed 3:30-4:30pm
In-Person, 2641 BBB
Sofia Saleem head shot
Sofia Saleem
M & W 9-10:30am
Stamps Auditorium
Join live via Zoom

Async Lectures
Office Hours
Remote OH
Tu & Th 9:00-10:00 am

Links to recordings of virtual lectures not captured by the regular recording system.

1 - Intro and Machine Model Beaumont 12pm Beaumont 3pm Carroll Juett Saleem

Project 1 due Wed Jan 19 at 8pm

Setup Tutorial
Complete before starting Project 1

Project 1: Statistics
Due Wed, Jan 19 at 8pm

Entry Survey
Due Wednesday, Jan 26 at 8pm

This helps us assess the course and understand our CSE community. It's worth 0.5% of your final grade.
due Sundays 8pm

Lab 1: Getting Started
Due Jan. 16 at 8pm

Events & Resources

Computing CARES: Resume & Interview Workshop
Jan. 16 6-7:30pm REMOTE

Get Help & Connect
Virtual Office Hours   Sign Up
Project help and debugging
Mon-Fri, 2pm-8pm ET
Live Office Hours   Sign Up
In-person, group and individual help
Tue, 5pm-8pm ET DOW 1017
Sun, 12pm-4pm ET USB 1230
Course Forums
Ask/Answer Questions
Informal Discussion
Coaching   Request a Coach
Connect 1-on-1 with an IA or GSI to plan for your 280 experience.

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

If you're ill or are concerned you may be contagious, we'll grant you an approved absence from lab.

Request an assignment extension (e.g. due to a medical or personal emergency).

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


Open calendar in new window


Day Lecture Topic Lab Topic Deadline
Week 1Mon Jan 3 No Lab
Tue Jan 4
Wed Jan 5 1. Introduction and Machine Model
Thu Jan 6
Fri Jan 7
Week 2Mon Jan 10 2. Procedural Abstraction, Testing and Debugging
Lab due Sun 8pm
1. Getting Started
Tue Jan 11
Wed Jan 12 3. Pointers
Thu Jan 13
Fri Jan 14
Week 3Mon Jan 17 No Lecture - MLK Day No Lab
Tue Jan 18
Wed Jan 19 4. Pointers and Arrays Project 1 Due Wed Jan 19 at 8pm
Computing CARES: Resume & Interview Workshop
Wed, Jan 19 6-7:30pm REMOTE
Thu Jan 20
Fri Jan 21
Week 4Mon Jan 24 5. Const, Compound Objects
Lab due Sun 8pm
2. Pointers and Arrays
Tue Jan 25 Add/Drop Deadline, Tue Jan 25
Wed Jan 26 6. Strings, Streams, and IO Entry Survey
Due Wed Jan 26 at 8pm
Thu Jan 27
Fri Jan 28
Week 5Mon Jan 31 7. Abstract Data Types in C
Lab due Sun 8pm
3. Strings and IO
Structs and C-Style ADTs
Tue Feb 1
Wed Feb 2 8. Abstract Data Types in C++
Thu Feb 3
Fri Feb 4 Project 2
Due Fri Feb 4 at 8pm
Week 6Mon Feb 7 9. Derived Classes and Inheritance
Lab due Sun 8pm
4. Classes
C++ Style ADTs
Tue Feb 8
Wed Feb 9 10. Polymorphism
Thu Feb 10
Fri Feb 11
Week 7Mon Feb 14 11. Container ADTs I
Lab due Sun 8pm
5. Polymorphism
Tue Feb 15
Wed Feb 16 12. Container ADTs II Computing CARES: Study Tips and Social with GEECS
Wed, Feb 16 6-8pm in BBB 1690
Thu Feb 17
Fri Feb 18 Project 3 Checkpoint
Due Fri Feb 18 at 8pm
Week 8Mon Feb 21 13. Memory Models and Dynamic Memory No Lab
Tue Feb 22
Wed Feb 23 No Lecture - Midterm Exam Midterm Exam
Wed Feb 23 at 7-9pm
Thu Feb 24 Alternate Midterm Exam
Thu Feb 24 at 7-9pm
Fri Feb 25
Week 9Mon Feb 28 Spring Break
Tue Mar 1
Wed Mar 2
Thu Mar 3
Fri Mar 4
Week 10Mon Mar 7 14. Managing Dynamic Memory
Lab due Sun 8pm
6. Container ADTs
Tue Mar 8
Wed Mar 9 15. Deep Copies and The Big Three Computing CARES: How To Be An EECS IA
Wed, Mar 9 6-8pm in BBB 1670
Thu Mar 10
Fri Mar 11
Week 11Mon Mar 14 16. Linked Lists
Lab due Sun 8pm
7. Dynamic Memory and Deep Copies
Project 3
Due Mon Mar 14 at 8pm
Tue Mar 15
Wed Mar 16 17. Iterators
Thu Mar 17
Fri Mar 18
Week 12Mon Mar 21 18. Recursion and Tail Recursion TBD
Tue Mar 22
Wed Mar 23 19. Structural Recursion
Thu Mar 24
Fri Mar 25 Project 4
Due Fri Mar 25 at 8pm
Week 13Mon Mar 28 20. Function Objects and Impostor Syndrome
Lab due Sun 8pm
8. Recursion
Tue Mar 29
Wed Mar 30 21. Auto, Maps, Range-Based For Loops Computing CARES: Different Avenues in Tech
Wed, Mar 30 6-8pm REMOTE
Thu Mar 31
Fri Apr 1
Week 14Mon Apr 4 22. Exceptions
Lab due Sun 8pm
9. Iterators and Functors
Tue Apr 5
Wed Apr 6 TBD
Thu Apr 7
Fri Apr 8 Project 5 Checkpoint
Due Fri Apr 8 at 8pm
Week 15Mon Apr 11 23. Containers of Pointers and What's Next
Lab due Sun 8pm
10. Final Exam Review and Reflection
Tue Apr 12
Wed Apr 13 TBD
Thu Apr 14
Fri Apr 15
Week 16Mon Apr 18 TBD No Lab
Tue Apr 19 Project 5
Due Tue Apr 19 at 8pm
Wed Apr 20
Thu Apr 21 Exit Survey
Due Thu Apr 21 at 8pm
Fri Apr 22 Final Exam
Fri Apr 22 at 10:30am-12:30pm
Alternate Final Exam
Fri Apr 22 at 1:30pm-3:30pm


Reach us at

Ibrahim Abouarabi head shot
Ibrahim Abouarabi
Fizza Ahmed head shot
Fizza Ahmed
Zaynab Alsaedy head shot
Zaynab Alsaedy
Julia Aoun head shot
Julia Aoun
Clarissa May Babila head shot
Clarissa May Babila
Zach Carey head shot
Zach Carey
Q Cong head shot
Q Cong
TODO head shot
Alex Daines
Alex ElHamahmy head shot
Alex ElHamahmy
Maria Fields head shot
Maria Fields
Abigail Fox head shot
Abigail Fox
 Zachary Goldston head shot
Zachary Goldston
Unser Hashsham head shot
Unser Hashsham
Jessica Houghton head shot
Jessica Houghton
Chimmuanya Iheanyi-Igwe head shot
Chimmuanya Iheanyi-Igwe
Sam Jaehnig head shot
Sam Jaehnig
Arif Jamaluddin head shot
Arif Jamaluddin
Rushil Kasetty head shot
Rushil Kasetty
Brandon Kayes head shot
Brandon Kayes
Nishu Kothari head shot
Nishu Kothari
Ashvin Kumar head shot
Ashvin Kumar
Neha Kumar head shot
Neha Kumar
Daniel Liu head shot
Daniel Liu
Justin Liu head shot
Justin Liu
Michelle Liu head shot
Michelle Liu
Leheng Lu head shot
Leheng Lu
Lizzy Lu head shot
Lizzy Lu
Joe Macek head shot
Joe Macek
Mariam Mahmoud head shot
Mariam Mahmoud
Iman Malik head shot
Iman Malik
Kaily Metzhead shot
Kaily Metz
Rajeev Nag head shot
Rajeev Nag
Vishal Nayak head shot
Vishal Nayak
Hannah Niswander head shot
Hannah Niswander
Ashish Patel head shot
Ashish Patel
Shweta Pati head shot
Shweta Pati
Michael Peng head shot
Michael Peng
Wenzhao Qiu head shot
Wenzhao Qiu
Divya Ramamoorthy head shot
Divya Ramamoorthy
Akshaya Ravikumar head shot
Akshaya Ravikumar
Anwesha Sarangi head shot
Anwesha Sarangi
Natasha Saputra head shot
Natasha Saputra
Sebastian Schab head shot
Sebastian Schab
Gabriel Severance head shot
Gabriel Severance
Omid Shahidi head shot
Omid Shahidi
Gurish Sharma head shot
Gurish Sharma
Stella Shi head shot
Stella Shi
Joshua Siegel head shot
Joshua Siegel
Will Soltas head shot
Will Soltas
Ann Stone head shot
Ann Stone
Claire Sun head shot
Claire Sun
Pulak Taneja head shot
Pulak Taneja
James Weng head shot
James Weng
Qinjuan Xie head shot
Qinjuan Xie
Bright Xu head shot
Bright Xu
Chris Zhang head shot
Chris Zhang
Kami Ziolkowski head shot
Kami Ziolkowski