EECS 280: Programming and Intro Data Structures

The University of Michigan
Winter 2025
Looking for 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

Week 2 Announcements
  • Project 1 is due on Monday, Jan 27th at 8pm.
  • The Entry Survey is due on Wednesday, Jan 29 at 8pm.
  • Labs begin on Thu, Jan 16. Attendance is required.
    Check your email for your lab group assignment.
  • Get started on the Setup Tutorial to get ready for EECS 280 projects. We'll also hold a live walkthrough session via Zoom Tue Jan 14 at 7pm. Recordings
  • Regularly scheduled Office Hours begin this week. The office hours schedule and queue link can be found under "Staff Office Hours" below.

  • If you're on the waitlist, don't worry. We'll add additional seats as needed.
  • Please direct questions on prerequisites, overrides, or the diagnostic project to CSE UG Advising (ugadmin@eecs.umich.edu). Course faculty are not involved in these processes.
Lectures
Live, In-Person  
James Juett
MW 11:30am-1pm
1230 USB (Central)
Saquib Razak
MW 1:30pm-3pm
2505 GGBL (North)
Sofia Saleem
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.
Assignments
Project 1: Statistics
Due Mon, Jan 27 at 8pm
Entry Survey
Due Wed, Jan 29 at 8pm
Lab 1
Labs start on Thu Jan 16

Due 8pm the day after your lab
Get Help & Connect
Staff Office Hours   Join
Today's Schedule:
Professor Office Hours
See calendar below.
Tutoring CSE
Mentoring RenewCS
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 6 No Lab
Tue Jan 7
Wed Jan 8 1. Course Introduction, Intro to C++
Thu Jan 9
Fri Jan 10
Week 2Mon Jan 13 2. Types, Control Structures, and Procedural Abstraction
Tue Jan 14 Setup Walkthrough Sessions
Tue Jan 14 at 7pm
Wed Jan 15 3. Machine Model, Part 1
Thu Jan 16 1. Intro to Lab, C++ Fundamentals, Pragmatics
Fri Jan 17
Week 3Mon Jan 20 No Class -- MLK Day
Tue Jan 21
Wed Jan 22 4. Machine Model, Part 2
Thu Jan 23 2. Machine Model, Pointers/References, Call Stack, UTF Tutorial
Fri Jan 24
Week 4Mon Jan 27 5. const, Structs, and C-Style ADTs Project 1
Due Mon Jan 27 at 8pm
Tue Jan 28 Add/Drop Deadline
Tue Jan 28
Wed Jan 29 6. Streams and I/O Entry Survey
Due Wed Jan 29 at 8pm
Thu Jan 30 3. C-style ADTs, Streams and I/O, Assertions+UB Tutorial
Fri Jan 31
Week 5Mon Feb 3 7. TBD
Tue Feb 4
Wed Feb 5 8. Abstract Data Types in C++
Thu Feb 6 4. Classes, C++ ADTs, Mini-Project
Fri Feb 7
Week 6Mon Feb 10 9. Derived Classes and Inheritance
Tue Feb 11
Wed Feb 12 10. Polymorphism Project 2
Due Wed Feb 12 at 8pm
Thu Feb 13 5. Inheritance, Polymorphism, Debugging Tutorial
Fri Feb 14
Week 7Mon Feb 17 11. Arrays, Pointer Arithmetic, C-Style Strings
Tue Feb 18
Wed Feb 19 12. Array-Based Data Structures, Time Complexity
Thu Feb 20 6. Array-Based Data Structures
Fri Feb 21
Week 8Mon Feb 24 13. Sorted Data Structures Project 3 Checkpoint
Due Mon Feb 24 at 8pm
Tue Feb 25
Wed Feb 26 14. Containers and Iterators
Thu Feb 27 No Lab
Fri Feb 28
Week 9Mon Mar 3 Spring Break
Tue Mar 4
Wed Mar 5
Thu Mar 6
Fri Mar 7
Week 10Mon Mar 10 15. Memory Models and Dynamic Memory 7. Containers, Iterators
Tue Mar 11
Wed Mar 12 16. Managing Dynamic Memory Project 3
Due Wed Mar 12 at 8pm
Thu Mar 13
Fri Mar 14
Week 11Mon Mar 17 No Class - Midterm Exam No Lab Midterm Exam
Mon Mar 17, 7-9pm
Tue Mar 18 Alternate Midterm Exam
Tue Mar 18, 7-9pm
Wed Mar 19 17. Deep Copies and The Big Three
Thu Mar 20
Fri Mar 21 Withdraw Deadline
Fri Mar 21
Week 12Mon Mar 24 18. Linked Lists 8. Dynamic Memory, Deep Copies
Tue Mar 25
Wed Mar 26 19. Iterators
Thu Mar 27
Fri Mar 28 Project 4
Due Fri Mar 28 at 8pm
Week 13Mon Mar 31 20. Functors and Impostor Syndrome 9. Linked Lists, Functors
Tue Apr 1
Wed Apr 2 21. Recursion and Tail Recursion
Thu Apr 3
Fri Apr 4
Week 14Mon Apr 7 22. Structural Recursion 10. Recursion, Trees
Tue Apr 8
Wed Apr 9 23. Binary Search trees, Sets, and Maps
Thu Apr 10
Fri Apr 11 Project 5
Due Fri Apr 11 at 8pm
Week 15Mon Apr 14 24. TBD - Recursion 11. TBD
Tue Apr 15
Wed Apr 16 25. Error Handling and Exceptions
Thu Apr 17
Fri Apr 18
Week 16Mon Apr 21 No Class No Lab Project 6
Due Mon Apr 21 at 8pm
Tue Apr 22
Wed Apr 23
Thu Apr 24
Fri Apr 25 Final Exam
Fri Apr 25, 10:30am-12:30pm
Alternate Final Exam
Fri Apr 25, 1:30pm-3:30pm

People

Faculty

Steve Bogaerts head shot
Steve Bogaerts
he/him

bogaerts@umich.edu

James Juett head shot
James Juett
he/him

jjuett@umich.edu

Saquib Razak head shot
Saquib Razak
 

razak@umich.edu

Sofia Saleem head shot
Sofia Saleem
she/her

sofias@umich.edu

IAs and GSIs

Mihir Arya head shot
Mihir Arya
he/him
Faizan Bhagat head shot
Faizan Bhagat
he/him
Abby Cremers head shot
Abby Cremers
she/her
Kyle Fick head shot
Kyle Fick
he/him
Kartikeya Gupta head shot
Kartikeya Gupta
he/him
Katelyn Ha head shot
Katelyn Ha
she/her
Téa Hajratwala head shot
Téa Hajratwala
she/her
Holden Halucha head shot
Holden Halucha
he/him
Faranak Hematti head shot
Faranak Hematti
she/her
Ayla Janiga head shot
Ayla Janiga
she/her
Kedi Jiang head shot
Kedi Jiang
she/her
Vishnu Kannan head shot
Vishnu Kannan
he/him
Ishan Kumar head shot
Ishan Kumar
Jung Min Lee head shot
Jung Min Lee
she/her
Tessa Lee head shot
Tessa Lee
she/her
Lobster head shot
Lobster
Course Mascot
Fionnuala MacKercher head shot
Fionnuala MacKercher
she/her
Tanishka Nalawade head shot
Tanishka Nalawade
she/her
Nidhil Nayudu head shot
Nidhil Nayudu
he/him
Allison Okimoto head shot
Allison Okimoto
she/her
Rakshith Raja head shot
Rakshith Raja
he/him
Armaan Randhawa head shot
Armaan Randhawa
he/him
Danny Samuel head shot
Danny Samuel
he/him
Ann Stone head shot
Ann Stone
she/her
Claire Sun head shot
Claire Sun
she/her
Ria Tandon head shot
Ria Tandon
she/her
HQ Wang head shot
HQ Wang
she/her
Isabel Wang head shot
Isabel Wang
she/her
Yu Wang head shot
Yu Wang
he/him
Vincent Wei head shot
Vincent Wei
he/him
Emily Yuan head shot
Emily Yuan
she/her
Moneeb Zuberi head shot
Moneeb Zuberi
he/him