ENGR 101 Course Description

This is an introductory computer programming course aimed at first-year engineering students. Our goal is to learn how to solve engineering problems using computing. Every engineering discipline uses computer programming, not just computer science and engineering. We want to make sure that all students have a solid base of computational knowledge that they can apply to future classes and jobs.

Projects

Our projects are all themed around different engineering disciplines:

Note: I know this table has terrible formatting, but this is the best I can do with little time to spend on this website.   

Please never submit a report or presentation with a table this bad.

Lecture, Lab, Office Hours

This section has a lecture component and a lab component. The lectures are a time when content is provided and/or practiced; they are taught in a large-lecture format, but we have a lot of hands-on exercises and demos, so we encourage you to bring a computer if you have one (and if you don't, then it's a good reason to make a new friend in lecture!). Labs are when you will practice the skills taught in lecture, this time with a smaller group of around 25 students instead of hundreds of people in lecture! Office hours are held by our excellent GSIs and IAs.  There are usually 30-40 total office hours per week, and you can go to as many as you want!  We have a dedicated space for office hours and we encourage you to come hang out with us while you do your ENGR 101 work (or other homework!); it's also a great time to talk with the GSIs and IAs about anything else you're interested in here at U-M.  

Course Content and Workload

The goal of ENGR 101 is to provide an opportunity for you to gain experience in applying computing skills to breaking down engineering problems into smaller tasks and then completing those tasks.  There are short weekly reviews to help with remembering basic concepts, labs to practice skills, and projects to put those skills to good use.  We try hard to make sure the course workload is appropriate for the number of course credits.  Fair warning: if you wait until the day before (or day of) a project is due, you will likely NOT be able to complete it.  In the words of pretty much every successful ENGR 101 student: START THE PROJECTS EARLY.   

Should you take this course?

If you have never programmed before, then ABSOLUTELY YES! We assume our students have zero prior knowledge of computer programming. If you have prior experience with programming, then you are still very welcome in ENGR 101, but you might also consider whether ENGR 151 (Fall term only) or EECS 280 might be a better fit for you. Please discuss your options with your EAC advisor.

If you are an LSA student looking to register for ENGR 101, please complete this form to request an override if we have space available. If you are an Engineering student looking for an override, please email the First-Year Programs Coordinator at engin-fyp@umich.edu to request an override.  DO NOT email the course instructors -- we have no control over this process.

Looking for more programming practice?

Unfortunately, we heavily re-designed the projects in Fall 2016 and don't have any projects that we have cycled out, yet. Here are the projects from F15; these are more CS-style projects and are provided as-is. You can also find many programming challenges in this book my friend José wrote (I get no money from this, it's just an easy way to point people to a whole lot of programming practice in one spot).