Home About
Courses Concepts Tools
GitHub

CS Courses

There are many courses in CS that it is possible (or recommended, or required) to take as an ORIE major. This page goes through each of them and offers some information and advice on taking each.

Note that this list is (obviously) not a complete list of CS courses, and only contains the ones that are either commonly taken in conjunction with the ORIE major or commonly taken in general. The list is not meant to be exhaustive as it is intended to focus on guiding the general student toward making decisions, not the entire student body.

Links:

Introductory CS courses

CS 1110

CS 1110 is one of two possible choices for intro CS courses offered to ORIE majors. The course is taught in Python, and is an introduction to computing and specifically to the Python language.

CS 1112

CS 1112 is the other possible choice of an intro CS course offered to ORIE majors. The course is taught in MATLAB, which is a proprietary programming language (meaning that it's not free unless your company or university is paying for it for you). [There is of course Octave, a free and open source alternative to MATLAB with very similar syntax, but it's not the same language.]

CS 1133

CS 1133 is a less-well-known 2-credit version of CS 1110 that only consists of a subset of the lab activities covered in CS 1110 (and a couple lectures). The course is designed to teach the basics of Python to someone who either:
  1. Needs to know the bare minimum in writing code and does not plan on going further in the CS, or
  2. Already has programming experience in another language and wants to learn the syntax for Python in a classroom setting.

Recommendation

It's recommended to take CS 1110. The content of CS 1112 is rather useless unless you plan on minoring or double majoring in some area within which it is heavily used (although many fields of study are probably already moving towards the use of Python due to its versatile and open nature). CS 1133 is a possible option for students who have already taken CS 1112 and want an introduction to Python from a classroom setting, although it's probably better not to waste that time and instead spend a couple minutes reading the tutorial on the Python website instead.

Intermediate CS courses

CS 2110/ENGRD 2110

This course (or rather, its ENGRD counterpart, which ORIE majors must take) is an introduction to data structures and object-oriented programming, taught in Java. This course is very useful for interviews (for internships or otherwise), so it's recommended that you take it early in your academic career. It is also a prerequisite for many ORIE courses, making it even more important to get it over with early.

CS 2112

This course is a (much) harder version of CS/ENGRD 2110, also taught in Java. The material taught in this course is not more useful for the typical ORIE major, and overall it is recommended that students majoring in ORIE take CS/ENGRD 2110 instead.

CS 2800

This course is an introduction to discrete mathematics. It's not required for ORIE majors but teaches techniques (proofs) which will be useful in higher level ORIE courses (and elsewhere).

CS 3110

This course is an introduction to functional programming, taught in OCaml. The material in this course is not relevant at all in undergraduate ORIE courses, although it is a prerequisite for CS 4820.

Recommendation

It's recommended that all students majoring in ORIE take ENGRD 2110 and CS 2800. These two courses are the most useful of the four listed above. There is no reason to take CS 3110, even given the fact that it is a prerequisite for CS 4820 (see below).

Advanced CS courses

CS 4820

This course is an introduction to the analysis of algorithms, taught in Java.

Recommendation

It is not recommended that ORIE students take CS 4820, unless they really want to. The material in CS 4820 largely overlaps with material taught in ORIE 3310, and CS 4820 itself is a lot of work, so it does not benefit the typical ORIE student to take it. For students planning to minor in CS, CS 4820 may be a reasonable choice of a course (along with CS 3110), as the overlap with ORIE 3310 may make the course a little easier (but will likely not decrease the workload by too much).

Relevant Links