Getting Started with EECS 183 Python

Author

Steven Bogaerts

Welcome to EECS 183 Python! I’m Steve, and I’m super glad you’re taking this course!

We have a few things for you to do, to get set up and acquainted with our tools and procedures. Please read through this entire document within 1 day of the first lecture (or within 1 day of adding the course, if you’re adding late).

Here’s what’s covered:

1 This Course Assumes NO Prior Experience!

If you do not have prior experience in programming, then this is the course for you! We’ll start from the very beginning.

… you may stay in the class if you wish, but it might not be the best fit for you. Some things to consider:

  1. Do you feel confident in topics like classes, constructors, methods, instance variables (aka fields, member variables), and nested loops to process two-dimensional lists (arrays)?

    • If “no”, then you should definitely take EECS 183.
  2. Have you written programs (without AI) that are hundreds of lines long?

    • If “no”, you should most likely take EECS 183.
  3. Do you have experience in topics like comprehensions, numpy, pandas, and overviews of AI concepts (e.g., linear regression, neural networks)?

    • If “no”, then keep in mind that you can learn these concepts in EECS 183 Python. But you could possibly also learn them on your own if you wanted, as long as you already know the topics from question (1).
  4. What would happen if you skip the course? Is it required for your major (or potential / intended major)? Can you get a waiver? Might you have to swap it for a different course? Do you want to do that? Talk with an advisor in your major about these things. If you need to talk with a computer science advisor (they’re super nice!), you can reach out to the Computer Science and Engineering (CSE) department Undergraduate Advising Office (UAO)(opens in new tab).

  5. EECS 280 is the follow-up course to EECS 183. It’s a step up in difficulty for everyone. You can skip EECS 183 and take EECS 280 instead if you pass an exam. You may want to read about the process for skipping to EECS 280.

If you’d like to talk about this further, please come chat in office hours!

2 Do This If You’re Adding the Course Late

If you’re adding the course after the start of the semester, welcome! We’re glad you’ve joined us. We move quickly, so there’s a lot to do to get caught up. Please follow the instructions for adding the course late.

3 Read This If You’re Wondering About Python vs. C++ for EECS 280 and Upper-Level CS Courses

Some sections of EECS 183 are taught in C++, and some are in Python. If you’re reading this, you’re most likely in a Python section.

If you’re planning on taking EECS 280 later, or minoring or majoring in computer science, then yes, EECS 183 Python is a great start to your computer science studies. If you’re interested, read these details comparing EECS 183 Python and C++(opens in new tab). Feel free to ask me about this more in office hours as well.

4 Visit Office Hours

My (Steve’s) office hours start in week 1. All other staff office hours start in week 2. We’re all happy to help you!

5 Take Note of How to Get Help

Get familiar with the Where to Go for Help page. Feel free to email me when needed; I’m glad to help! Before doing so, please check the help page to see if your need should actually be addressed via Piazza or the Admin Form instead.

6 Read the Syllabus

The syllabus is very important. With such a large class, we need to hold strictly to the policies stated there. It’s very readable, so I’ll ask you to read it on your own; in lecture I’ll focus on other things instead.

7 Register for Course Tools

There are many tools we’ll use this semester. Complete the instructions for accessing course tools.

8 Complete Tutorials 1-4

I recommend you work through tutorials 1-4 as soon as possible. Try to finish these long before the due date, so that you have time to ask for help from me in office hours and/or your lab instructor in lab. You’ll be glad once your computer is all set up!

9 Watch the Schedule for Due Dates

The course schedule is super important. Please take note of due dates and special events. Most items on the schedule are links taking you to more details.

Note

Note the deadlines early in the semester for the Pre02 reading, Tools Registration, and then Lab 0, Pre03, Post02, etc. Also note the day that project 1 will be released, and plan to start working on it that day.

10 Learn the Task Pattern

There are various tasks you’ll complete as you master the material of this course. Let NN represent a lecture number, like 02 for lecture 2. The pattern is as follows:

  • Before LecNN, complete PreNN. This is a zyBooks reading. I’m sorry that zyBooks is not free; you must pay for it. See the zyBooks instructions for details on how to complete a zyBooks assignment.
  • After LecNN, complete PostNN. These are PrairieLearn exercises.
Note

Pre02 is due the day before lecture 2; don’t let that take you by surprise!

For Tuesday lectures only, the Post assignment has two deadlines: an earlier extra credit deadline (before the next lecture) and a later regular deadline. Hitting the earlier one keeps you best prepared for the next lecture, but the regular deadline gives you flexibility when life gets busy. See the course schedule for examples.

Note

For each item in the course schedule “Due” column, the default due time is 11:59 PM unless otherwise specified when you follow the link to the item.

11 Gain the Most from Each Lecture

This course is very cumulative. The best way to understand LecNN is to first be solid on all the previous lectures. Thus, staying current pays off much more than cramming later. Before each lecture, aim to have the previous post-lecture assignment, lab, and project tasks well in hand, and to have previewed the upcoming material via the pre-lecture assignment. We’re all happy to help in office hours, so don’t be shy about stopping by! When you’re well-prepared by following these steps, you’ll get the most out of each lecture, saving you time in the long run. (Getting the most out of a lecture means less studying of that lecture material is needed later!)

12 Find Lecture Recordings and Slides

  • Lecture recordings will be available on Canvas about one day after each lecture occurs.
    • The location of lecture recordings on Canvas is dependent on the particular classroom’s recording capability; they are available in the “Media Gallery” section and/or in a “Lecture Recordings” section in the left sidebar.
  • Lecture slides are available on Google Drive.
Tip

You will need to be logged in with your @umich.edu email account to access the EECS 183 Python Google Drive folder. If Google says you don’t have access, you just need to switch from your personal Gmail account to your umich.edu one. No need to request access; I can’t grant access to non-umich email addresses.

13 Explore the Course Website

The course website contains answers to most questions you likely have at this time. I recommend you explore it so that you know what’s available. Also remember where to go for help for different kinds of things you may need to discuss.

Tip

Use the course website as your main source of information, not Canvas. The information on Canvas is consistent and correct, of course, but full details are always on the course website. Canvas is mainly just for tracking your grades.

14 Welcome to the Course!

Once again, welcome to the course! We’re going to work through a lot of great things together.