Who is this class for?

This is a senior level class in Operations Research and Information Engineering. We expect that the class will be suitable for advanced undergraduates and masters students, and for early-year PhD students eager for some practical data science experience. The class may be of interest to students in ORIE, CS, IS, ECE, Statistics, Economics, and other disciplines. ORIE students will have enrollment priority if the class is oversubscribed; however, over the past several years all students who persisted in the class (completing homework, etc) were eventually able to enroll.

Hybrid format

ORIE 4741 will be taught in hybrid format this year. It is possible to complete all assignments and get full credit for the course without ever attending class in person. Students can attend lectures or recitation in person, on Zoom, or watch a recording of the class later. Quizzes, homework, and projects will be distributed and collected online. Office hours will be mixed: some remote, some in person.

As your instructors, our goal is to help you learn effectively. Please don't hesitate to let us know (on zulip) how the format is working for you and to suggest any possible improvements.

Course requirements and grading

The course grading scheme is designed to encourage students to keep up with the course content as it happens, and to join lectures synchronously if they're able.

  • Homework (30%): bi-weekly (or so) homework assignments

  • Quiz (15%): weekly (or so) quizzes

  • Project (40%): one final data analysis project

  • Participation (15%): students are expected to answer questions on each lecture (graded on completion, not correctness) and complete the course evaluation

These weights are approximate; we reserve the right to change them later.

Textbooks and readings

We will not require students to purchase any textbook; the information you need to know will be posted as lecture slides or notes. However, we heartily recommend all of the following, and will be drawing on ideas from many of these:

For a refresher on linear algebra, we recommend Appendix A of Convex Optimization by Boyd and Vandenberghe; or for a longer, but very thorough, applied treatment, try the book on Vectors, Matrices and Least Squares by the same authors.


Assignments for this class will use Python version 3.8. In previous years, the class used the Julia programming language, so if you read ahead you may see some demos and homework that use Julia. We will be releasing numerical portions of homeworks (and collecting completed homeworks) as Jupyter notebooks. This format makes it easy to embed plots, code and text in the same document.

You can use Python on Google Colab, or by installing it via the Anaconda software stack, which comes with the numerical and plotting libraries you'll need (scipy, numpy, and matplotlib).

Relation to other courses