EECS 183: Elementary Programming Concepts
University of Michigan
EECS 183 is an introductory course to computer science and programming, covering the basics of computing as well as problem-solving and algorithmic thinking.
This Week
Week | Monday | Tuesday | Wednesday | Thursday | Friday | Next Week |
---|---|---|---|---|---|---|
Apr 22 - Apr 26 |
No Monday labs |
No Tuesday labs No Lecture Last day of classes |
|
EECS 183 Showcase Event Tuesday, April 30th Showcase - 4/30 Michigan League Ballroom - 10:30 am to 3:30 pm |
Current Projects and Labs
- Reach due 4/23
- Elevators Spec
- Arduino Spec
Resources for Class
Winter 2024 Exams and Major Deadlines
Exam 1: February 20, 6PM
For exam schedule conflicts, request Exam 1 alternate here
Exam 2: March 27, 6PM
For exam schedule conflicts, request Exam 2 alternate here
There is no final exam.
Tuesday, April 30
Michigan League Ballroom
You and your team of 4 will attend one of four, 60-minute sessions, to be scheduled later in the semester.
Project 1: January 26
Project 2: February 9
Project 3 Checkpoint: February 23
Project 3 Final: March 8
Project 4: March 22
Final Project Core: April 12
Final Project Reach: April 23
Final Project Showcase: April 30
EECS 183 is an introductory course in computer programming for computer science majors and non-majors alike. Topics include control flow, introductory data structures, algorithms using selection and iteration, basic object-oriented programming, testing and debugging. We primarily use C++ as a programming language. There are no prerequisites. EECS 183 assumes no prior programming experience.
By the end of this course, a successful student will be able to:
- Read a specification and translate it to a computer program
- Follow a process of writing one small part of a program at a time
- Comfortably use Visual Studio or XCode to write and debug code
- Write test cases that test the full range of code functionality
- Design an algorithm to generate a given output
- Write functions using both pass by reference and pass by value parameters
- Use file streams and standard streams to read input and write output
- Write a class and successfully access private and public member variables
- Run test inputs to a program and compare them to test outputs to verify a program works correctly
- Format a program according to a style guide