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 .
Lectures
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.
Assignments
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

People

Reach us at eecs280admin@umich.edu

Faculty

Amir Kamil head shot
Amir Kamil
he/him

akamil@umich.edu

James Juett head shot
James Juett
he/him

jjuett@umich.edu

Sofia Saleem head shot
Sofia Saleem
she/her

sofias@umich.edu

Saquib Razak head shot
Saquib Razak
 

razak@umich.edu

IAs and GSIs

Ibrahim Abouarabi head shot
Ibrahim Abouarabi
he/him
Raiyan Ahmed head shot
Raiyan Ahmed
she/her
Faizan Bhagat head shot
Faizan Bhagat
he/him
Jared Diaz head shot
Jared Diaz
he/him
Maria Fields head shot
Maria Fields
she/her
Daniel Gorelik head shot
Daniel Gorelik
he/him
Kartikeya Gupta head shot
Kartikeya Gupta
he/him
Tea Hajratwala head shot
Téa Hajratwala
she/her
Faranak Hematti head shot
Faranak Hematti
she/her
Jenna Jaehnig head shot
Jenna Jaehnig
she/her
Sam Jaehnig head shot
Sam Jaehnig
she/her
Kedi Jiang head shot
Kedi Jiang
she/her
Vishnu Kannan head shot
Vishnu Kannan
he/him
Jaewoo Kim head shot
Jaewoo Kim
he/him
Oh Jun Kweon head shot
Oh Jun Kweon
he/him
Nicole Lam head shot
Nicole Lam
 
Parker Mathena head shot
Parker Mathena
he/him
Adviti Mishra head shot
Adviti Mishra
she/her
Viroshan Narayan head shot
Viroshan Narayan
he/him
Allison Okimoto head shot
Allison Okimoto
she/her
Shweta Pati head shot
Shweta Pati
she/her
Michael Peng head shot
Michael Peng
he/him
Wenzhao Qiu head shot
Wenzhao Qiu
she/her
Armaan Randhawa head shot
Armaan Randhawa
he/him
Julie Shah head shot
Julie Shah
she/her
Zalan Shah head shot
Zalan Shah (I go by my last name)
he/him
Gurish Sharma head shot
Gurish Sharma
he/him
Joshua Siegel head shot
Joshua Siegel
he/him
Ravi Somvanshi head shot
Ravi Somvanshi
he/him
Vanessa Su head shot
Vanessa Su
 
Claire Sun head shot
Claire Sun
she/her
Zhixiang Teoh head shot
Zhixiang Teoh
he/him
Ankith Udupa head shot
Ankith Udupa
he/him
HQ Wang head shot
HQ Wang
she/her
Andy Wang head shot
Andy Wang
he/him
Yu Wang head shot
Yu Wang
he/him
Vincent Wei head shot
Vincent Wei
he/him
Norman Wen head shot
Norman Wen
he/him
Emily Yuan head shot
Emily Yuan
she/her
Chris Zhang head shot
Chris Zhang
he/him
Elaine Zhang head shot
Elaine Zhang
she/her
Moneeb Zuberi head shot
Moneeb Zuberi
he/him