EECS 280: Programming and Intro Data Structures

The University of Michigan
Fall 2024
Looking for the upcoming Winter 2025 term?

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 14 Announcements
  • Project 6 is out! It is due on Monday Dec 9 at 8pm.
  • Office Hours on Tuesday Nov 26 5pm onwards through Sunday Dec 1 are canceled due to Thanksgiving break.
  • Practice Final Exams can be found on the course Drive .
Lectures
Live, In-Person  
Saquib Razak
MW 10:30am-12pm
1571 GGBL (North)
Amir Kamil
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)
Asynchronous Lectures
James Juett
Self-paced, interactive
 Available Online
Lecture Notes
Textbook-style coverage.
Assignments
Project 6: BST and Map
Due Mon Dec 9 at 8pm
FAQ Overview
No Lab this week!
Get Help & Connect
Staff Office Hours   Join
Professor Office Hours
See calendar below.
Tutoring CSE
Mentoring RENEW-CS
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 Aug 26 Course Introduction, Intro to C++ No Lab
Tue Aug 27
Wed Aug 28 Types, Control Structures, and Procedural Abstraction Setup Walkthrough Sessions
Wed Aug 28 at 7pm
Thu Aug 29
Fri Aug 30
Week 2Mon Sep 2 No Lecture - Labor Day 1. Intro to Lab, C++ Fundamentals, Pragmatics
Tue Sep 3
Wed Sep 4 Machine Model, Part 1
Thu Sep 5
Fri Sep 6 Lab Due each Sunday 8pm
Week 3Mon Sep 9 Machine Model 2, Part 2 2. Machine Model, Pointers/References, Call Stack, UTF Tutorial
Tue Sep 10
Wed Sep 11 Const, Structs, ADTs in C
Thu Sep 12
Fri Sep 13 Project 1
Due Fri Sep 13 at 8pm
Week 4Mon Sep 16 Streams and I/O 3. C-style ADTs, Streams and I/O, Assertions+UB Tutorial Add/Drop Deadline
Mon Sep 16
Tue Sep 17
Wed Sep 18 Catch-up lectures 1-6, Miscellaneous
Thu Sep 19 Entry Survey
Due Thu Sep 19 at 8pm
Fri Sep 20
Week 5Mon Sep 23 Abstract Data Types in C++ 4. Classes, C++ ADTs, Mini-Project
Tue Sep 24
Wed Sep 25 Derived Classes and Inheritance
Thu Sep 26
Fri Sep 27 Project 2
Due Fri Sep 27 at 8pm
Week 6Mon Sep 30 Polymorphism 5. Inheritance, Polymorphism, Debugging Tutorial
Tue Oct 1
Wed Oct 2 Containers, Iterators
Thu Oct 3
Fri Oct 4
Week 7Mon Oct 7 Time Complexity, Arrays, Pointer Arithmetic 6. Containers, Iterators, Data Structures
Tue Oct 8
Wed Oct 9 Array-Based Containers, Part I Project 3 Checkpoint
Due Wed Oct 9 at 8pm
Thu Oct 10
Fri Oct 11
Week 9Mon Oct 14 No Lecture - Fall Break No Lab
Tue Oct 15
Wed Oct 16 Array-Based Containers, Part II
Thu Oct 17
Fri Oct 18
Week 9Mon Oct 21 Memory Models and Dynamic Memory 7. Array-Based Data Structures
Tue Oct 22
Wed Oct 23 Managing Dynamic Memory Project 3
Due Wed Oct 23 at 8pm
Thu Oct 24
Fri Oct 25
Week 10Mon Oct 28 No Lecture - Midterm Exam No Lab Midterm Exam
Mon Oct 28 at 7-9pm
Tue Oct 29 Alternate Midterm Exam
Tue Oct 29 at 7-9pm
Wed Oct 30 Deep Copies and The Big Three
Thu Oct 31
Fri Nov 1
Week 11Mon Nov 4 Linked Lists 8. Dynamic Memory, Deep Copies
Tue Nov 5
Wed Nov 6 Iterators
Thu Nov 7
Fri Nov 8
Week 12Mon Nov 11 Function Objects and Impostor Syndrome 9. Linked Lists, Functors
Tue Nov 12 Project 4
Due Tue Nov 12 at 8pm
Wed Nov 13 Recursion and Tail Recursion
Thu Nov 14
Fri Nov 15
Week 13Mon Nov 18 Structural Recursion 10. Recursion, Trees
Tue Nov 19
Wed Nov 20 Binary Search Trees, Maps, String Data Representation
Thu Nov 21
Fri Nov 22
Week 14Mon Nov 25 Error Handling and Exceptions No Lab Project 5
Due Mon Nov 25 at 8pm
Tue Nov 26
Wed Nov 27 No Lecture - Thanksgiving Break
Thu Nov 28
Fri Nov 29
Week 15Mon Dec 2 No Lecture 11. Lab Topic TBD
Tue Dec 3
Wed Dec 4 No Lecture
Thu Dec 5
Fri Dec 6
Week 16Mon Dec 9 No Lecture No Lab Project 6
Due Mon Dec 9 at 8pm
FAQ Overview
Tue Dec 10 Exit Survey
Due Tue Dec 10 at 8pm
Wed Dec 11
Thu Dec 12 Final Exam
Thu Dec 12 10:30am-12:30pm
Alternate Final Exam
Thu Dec 12 1:30pm-3:30pm
Fri Dec 13

People

Faculty

James Juett head shot
James Juett
he/him

jjuett@umich.edu

Amir Kamil head shot
Amir Kamil
he/him

akamil@umich.edu

Saquib Razak head shot
Saquib Razak
 

razak@umich.edu

IAs and GSIs

Ammar Ahmed head shot
Ammar Ahmed
he/him
Ben Antonow head shot
Ben Antonow
he/him
Mihir Arya head shot
Mihir Arya
he/him
Nikhil Ayyadevara head shot
Nikhil Ayyadevara
he/him
Faizan Bhagat head shot
Faizan Bhagat
he/him
Abby Cremers head shot
Abby Cremers
she/her
Jared Diaz head shot
Jared Diaz
he/him
Aryaman Goenka head shot
Aryaman Goenka
he/him
Kartikeya Gupta head shot
Kartikeya Gupta
he/him
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
Sam Jaehnig head shot
Sam Jaehnig
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
he/him
Oh Jun Kweon head shot
Oh Jun Kweon
he/him
Tessa Lee head shot
Tessa Lee
she/her
Samuel Lim head shot
Samuel Lim
he/him
Justin Liu head shot
Justin Liu
he/him
Jane Luo head shot
Jane Luo
she/her
Tanishka Nalawade head shot
Tanishka Nalawade
she/her
Kathryn Nichols head shot
Kathryn Nichols
she/her
Allison Okimoto head shot
Allison Okimoto
she/her
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
Max Tennant head shot
Max Tennant
he/him
HQ Wang head shot
HQ 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
Elaine Zhang head shot
Elaine Zhang
she/her
Moneeb Zuberi head shot
Moneeb Zuberi
he/him