ORIE Python Wiki
Welcome to the ORIE Python Wiki!
This wiki is designed to help students majoring in ORIE (Operations Research and Information Engineering) at Cornell University with the programming language Python. It contains advice on courses, information on tools and libraries, and pointers on useful concepts.
This code for this wiki is available on GitHub. Anyone with a GitHub account can submit changes as pull requests. If you see an error you want to fix, do it yourself and submit a pull request!
Why does this wiki exist?
Within the past couple of years, the ORIE department decided to make the switch from using AMPL (and a couple other languages) in labs and assignments to using a standard programming language across all classes. This language happened to be Python. But even within this "standard", there are lots of different ways in which Python is used across the department. Some courses use Python as a frontend to an ILP (Integer Linear Program) solver, and nothing else. Others use it for data science and/or machine learning. Still others may use it exclusively for implementations of algorithms, or for event simulations.
Because of this variability, it is difficult for an ORIE major (or anyone taking courses in the ORIE department) to truly say whether they are "prepared" for a course as far as knowledge of Python goes. And while this usually isn't too much of an issue, as Python tends to be pretty straightforward, there are definitely cases in which students will want to brush up on the coding-related material prior to entering a course. Also, since students enter courses with varied levels of fluency in Python, it is a burden on the professors of each course to ensure that even the least fluent student is brought up to speed, which can waste valuable class time in the beginning of the semester.
This wiki is designed to alleviate some of these issues. Students can look through the wiki's descriptions of courses to see what parts of Python they should know (or should expect to learn) for the course. They can be referred to specific wiki pages for pointers on libraries, rather than having to fish around for obscure documentation online. They can read through examples to better their understanding of a typical submission, minimizing time spent on writing (and grading!) incorrect or messy code.
Professors can also use this site, of course. Rather than spending time during lab on learning Python, or creating handouts or slides designed to ensure students all have the same understanding of the language, professors can direct students to this wiki. It may be ambitious, but a goal of this wiki is to allow professors to "outsource" the repetitive (and distracting) task of teaching students how to use these tools, so they don't have to deal with it and students don't have to sit through it.
This wiki is a work in progress
As with all wikis, this one is a constant work in progress. As it is right now, it is probably unsuitable for many of the lofty goals aspired to above. But that can change with your help!