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.

Final Project Reach

Due Wednesday 12/6

  1. Submit your Reach
  2. There are no late days for the final project.

Special Topics Labs - Monday 11/27 through Friday 12/1

The teaching staff have put together a series of special topics labs to celebrate the end of the semester! You are encouraged to attend one or more of these sections based on your interest. You can assume that lab sections not listed are cancelled.

Monday 11/27 Tuesday 11/28 Wednesday 11/29 Thursday 11/30 Friday 12/1

Software Development Process

Bioinformatics: How to Get Started!

1) Intro to Machine Learning

2) EECS & SI Course Planning!

3) CS, DS, & SI Overview

Crash course on the CS major, minor or other related programs + How to recruit for Internships

1) Python Data Sets and HTML/CSS/Javascript

2) Super Casual Intro to EECS 280

3) Basics of Web Dev + Its Applications To Industry/Internships

Topic Description Staff Time Location
Software Development Process Learn about the software development process out of college (what to expect in software dev internships and jobs). Sowmya Monday, 11/27, 12:00pm to 2:00pm G020 SPH2
Bioinformatics: How to Get Started! Learn about bioinformatics: what it is and how to get into it! We will discuss the types of data that are analyzed, such as DNA and protein sequences, as well as the tools used to analyze them. Sarah Golts Tuesday, 11/28, 4:00pm to 6:00pm 1170 SPH2
CS, DS, & SI Overview Learn about some of the different 'tech' pathways at UMich & how to plan for them! Rithi & Anika Wednesday, 11/29, 12:00pm to 2:00pm 2752 SSWB
Intro to Machine Learning Intro to Machine Learning Aakanksha & Nolan Wednesday, 11/29, 1:00pm to 3:00pm G580 DENT
EECS & SI Course Planning! Go through the next EECS or SI courses and get scheduling tips! Kelly & Abby Wednesday, 11/29, 3:00pm to 5:00pm R0320 BUS
Crash course on the CS major, minor or other related programs + How to recruit for Internships Learn about how the CS program works, course scheduling, and ways to be involved in CS outside of declaring the major/outside of classes, and a QandA section. We'll also talk about the recruiting process for those who want to recruit for internships!! Krithika Thursday, 11/30, 4:00pm to 6:00pm 1449 MH
Super Casual Intro to EECS 280 Come watch us ramble over some 280 topics so you'll have an idea of some stuff is before learning it in depth. We'll go over some class logistics and give overviews of material you'll learn in 280. Alan & Fanny Friday, 12/1, 12:00pm to 2:00pm R2210 BUS
Basics of Web Dev + Its Applications To Industry/Internships Learn about some brief fundamentals of web development, and possibly make a small project on your own together! We can talk more about how full-stack web development is used in the industry (see some examples), and how you can prepare for your interview hunt (i.e. how web dev may come up in interviews/your internship). Angela Friday, 12/1, 1:00pm to 3:00pm R0230 BUS
Python Data Sets and HTML/CSS/Javascript Learn about the code behind websites and working with databases in Python! This will introduce HTML, CSS, and Javascript, then data set manipulation and plotting with Python! Lynn, Krithika, Therron Friday, 12/1, 2:00pm to 4:00pm 2185 NQ

This Week (Nov. 27 - Dec. 1)

Week Monday Tuesday Wednesday Thursday Friday
Nov. 27 - Dec. 1

Lecture 23 zyBooks Special Topics Labs This Week

Lab 10 Special Topics

Lecture 23: Python 3

Final Project Showcase Registration Due

Lecture 24: Python 4

Current Projects and Labs

Final Project Reach

Arduino Specification

Elevators Specification

Due 12/6

Resources for Class

Fall 2022 Exams and Major Deadlines

Exam Dates
Project Deadlines

Project 1: September 15

Project 2: September 29

Project 3: October 20

Project 4: November 3

Final Project Core: November 20

Final Project Reach: December 6

Final Project Showcase: December 11

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