Chris Ho

Oregon State University ENGR+ Strategic Course Load Guide

Published: Dec. 10, 2023

At Oregon State University, all first years in the College of Engineering are required to go through the Engineering+ series, a set of 3 introductory engineering classes meant to be taken in Fall, Winter, and Spring term respectively.

The School of EECS (Electrical Engineering and Computer Science) is grouped under the College of Engineering, meaning that computer science majors are not exempt and must also take it. A majority of the ENGR+ classes do not have computer science topics, meaning that some computer science majors may not even touch programming until Spring term.

This guide will help you understand how to 1. Strategically set up your class load so that you can start taking Computer Science courses ASAP and 2. Take the more Computer Science focused ENGR+ courses.


The ENGR+ series consists of three classes:

ENGR 100 THE OREGON STATE ENGINEERING STUDENT (3 credits)

ENGR 102 DESIGN ENGINEERING AND PROBLEM SOLVING (3 credits)

ENGR 103 ENGINEERING COMPUTATION AND ALGORITHMIC THINKING (3 credits)


However, there are ways to quicken the workload.

Part 1. Ways to Speed Up the ENGR+ Series:

1. Take ENGR 100 & ENGR 102 Simultaenously in Fall Term.

Not many people know about this, but ENGR 100 is not a prerequisite to taking ENGR 102, meaning that you can take both of them together in the Fall Term. This allows you to take ENGR 103 a term earlier, moving up your courseload progression a term earlier too.

You can see how there's no prerequisite arrow for ENGR 102 in this degree progression sheet.

2. AP Computer Science A Credit can be exchanged for ENGR 103

According to https://admissions.oregonstate.edu/credit-opportunities, AP Computer Science A Credit covers CS 160 and CS 161, not ENGR 103. However, if you ask your advisor they can help you exchange it for ENGR 103.

If you do have AP credit and are deciding whether to skip ENGR 103 or take it to review and see, I would highly recommend you do skip ENGR 103, as it assumes you have no prior programming knowledge. The next class (CS 162) starts off with conditional if statements and loops and gradually ramps up. If you feel like you can handle that and are willing to start learning the C++ programming language, skip ENGR 103.

Part 2: Which ENGR+ Courses Are CS Focused:

ENGR+ courses are not all the same. They all cover various engineering topics. The professor that you choose determines the content of the course, so make sure to choose a professor whose course content that sounds interesting to you.

ENGR 100

There are no ENGR 100 courses completely focused on programming.

ENGR 100: Automating the Future: Using Sensors for Control
Learn how to solve real-world problems by designing sensors that enable signal processing devices to interact with the world autonomously. As the creator of future innovations; you start early by exploring how to solve real-world problems by thinking critically, creatively, collaborating with others, and using methods from the field of engineering. Campus: Corvallis | Instructor: Jason Clark

Jason Clark's Automating the Future does very briefly touch upon MATLAB a little bit, but it mostly focuses on COMSOL, a physics simulation software. Other than that there's no programming in ENGR 100.

ENGR 102

There are some ENGR 100 courses completely focused on programming.

ENGR 102: Solving Computational Sustainability Problems
Apply problem-solving strategies for developing algorithms to solve computational sustainability problems related to climate, water, energy, agriculture, forestry, and social/human factors.
Campus: Corvallis Instructor: Jennifer Parham-Mocello

Although it is not mentioned, this course does use C++, which is good and I will expand on this reason in the next section. But be on the lookout, as this course may not be offered every term.

ENGR 102: Computational Foundations in Engineering
Explore foundational engineering concepts such as design principles, usability, problem solving, computational thinking, and logic. Gain knowledge of Boolean algebra, truth tables, circuit diagrams, and Python. Start building skills to find a job, and boost teamwork, communication, and technical writing skills through group projects focusing on design and use of software in diverse ways.
Campus: Ecampus Instructor: Eric Vogel

Another option is ENGR 102 with Eric Vogel as this class covers Python programming and software development. As an ecampus course, this should be available every term. I took this class and recommend it.

ENGR 103

ENGR 103 is meant to be an introductory programming course, being the first programming class that some students have ever taken. Different professors will teach differently. Different courses can cover different programming languages such as Python, C++, and I even saw one class that was taught in Java.

Ideally, you should aim to choose a course taught by 1. A Computer Science focused Professor. 2. With the C++ programming language.

If you don't choose wisely, you may not be fully prepared to handle CS 162 Introduction to Computer Science II, the first CS course you take after ENGR 103. It's taught in C++ and assumes you already have some programming knowledge as it starts off with conditional if statements and loops.

Here are some examples of ENGR 103 Courses that cover C++:

Computational Engineering for One Planet
Familiarize yourself with core programming concepts, such as variables, expressions, conditions, control structures, functions, and simple 1-d and 2-d structures. Then put your new knowledge to the test, solving sustainability problems using computation. Programming language: C++.
Campus: Corvallis Instructor: Jennifer Parham-Mocello

ENGR 103: Computational Thinking by Tinkering with Python and C++
Learn programming in Python by taking apart code examples to dissect, reverse engineer, modify, and adapt them. Then, solidify your understanding of the patterns you've discovered by designing new programs from scratch. Programming language: Python, with a transition to C++
Campus: Corvallis Instructor: Tim Alcon

Smarter World: Internet of Things
Explore programming by seeing how the Internet of Things is built. IOT improves health, environmental monitoring, and safety. This course uses hands-on experiments using electronics and programming. Focus on creating, not just learning.
Programming languages: C
Campus: Corvallis Instructor: Donald Heer

Interactive Physical Computing
Build interactive systems that can sense and respond to the world around you. You'll learn fundamental programming in the Arduino IDE to program CircuitPlayground boards to make light shows, songs, a smart plant, and handheld video game. Programming language: C/C++
Campus: Corvallis Instructor: Chet Udell

If you choose not to take an ENGR 103 class with C++, that's totally okay. Personally, one of my first programming languages I learned was Python. I think it's a great programming language if you've never programmed before. Python is also used for a lot of modern applications (Data Science, Machine Learning, Artificial Intelligence, Automation) and it's also one of the most popular programming languages for Leetcode, a platform used for coding question interview preparation. It's also not impossible to make the switch from Python to C++, but keep in mind you will have to eventually learn C++ for CS 162 and other classes.


Keep in mind that there's a lot of different content covered depending on the professor in ENGR+ and you should choose courses that sound interesting to you and courses that will prepare you for future programming classes.

As a computer science major, I hope this guide will help incoming computer science first-year students at OSU.