Welcome to the Department of Industrial Engineering's Master of Science program! We are committed to providing you with the best education possible and to preparing you for a successful professional career.  

You will probably find the academic system here at Pitt to be a lot different from what you are accustomed to as an undergraduate, and while the faculty and staff will always help you adjust, it will also require effort on your part.  Our experience is that it would benefit you greatly to use any time you have between now and your start date to (a) improve your English as much as possible if you are a non-native speaker, and (b) do some self-study on three topics: computer programming, linear algebra, and statistics. 

This is completely optional and does not affect your admission status in any way – it is just a suggestion to maximize your chances of being successful in your studies. 


Computer Programming

Choose one of these three technical computing languages to learn/review. Python (SciPy), R, and Matlab are all built on well established linear algebra and other numerical libraries. After you learn one, it is not difficult to move to another of these three.  Each of these has a base language, but the true capabilities of each language platform are the libraries and packages that are available. In practice, the choice of language should be based on how available packages match the specific task.  Note that Python and R packages tend to be free, while Matlab packages need to be purchased separately.

For each language, we recommend an online workshop (Software Carpentry, which focuses on technical computing), a freely available book for reference (can be used if the online course is not available), and we provide additional references for using the language with linear algebra and statistics.  We also suggest a fuller course if you have time.

Other than Matlab, the software and the books listed are freely available for a variety of operating systems. Python is used in a wide range of technical and non-technical areas including optimization, numerical methods, statistics, data manipulation and analysis, and many specialized areas of mathematics. Matlab/Octave is used in areas of numeric computation, such as optimization and other numeric methods (Note that Matlab is limited in statistics compared to R or Python without additional purchased libraries). R is principally used in statistics and data analysis. (Note: R is used in IE 2005, 2007, 2064) 

If your programming background is deficient or unsure, we suggest you learn one language this summer as it will help get your mind used to learning on your own outside of class instruction, which is the biggest difference between graduate school and your undergraduate education.

For the language you select, you will need to (a) obtain the language and integrated development environment (IDE), and (b) go through a short workshop on scientific programming.  We also identify some references that you can download.

  • Python (Scipy). Note that Python is heavily used in a number of different scientific and mathematical domains in addition to the general computing that it is most known for. You should get Python and learning materials from sources that focus on the needs for technical computing (as opposed to general or internet applications). Get version 3.x (2.x is still available, but is only in use where applications were developed from before 3.x.).  Make sure that the resources you use are geared towards scientific and technical computing, as the needs of scientists and engineers are different from an IT worker or general programmer.
    • Obtaining Python. Choose one of these for use in technical computing.

Continuum Anaconda (recommended) - https://www.anaconda.com/download/

Alternative - Enthought Canopy transition to the Enthought Deployment Manager (EDM) and Visual Studio Code.


This text focuses on using probability and computer simulation to motivate and explain fundamental concepts, in contrast to the arithmetic equations that most of you were taught in statistics. You should do all exercises using your technical computing environment of choice. The references in Python, R, or Matlab will help you. Note that Matlab has limited statistics capability without purchasing the Statistics and Machine Learning Toolbox.

  1. Introductory Statistics with Randomization and Simulation by Diez, Barr, and Çetinkaya-Rundel https://www.openintro.org/stat/textbook.php?stat_book=isrs

Linear Algebra  

This should be a review for most of you. Your goal should be to understand the concepts then solve the numerical exercises in Python, R, or Matlab. The references below will help you implement the linear algebra methods in Python, R, or Matlab.

  1. Linear Algebra by Hefferon - http://joshua.smcvt.edu/linearalgebra/
Contact Us
IE Graduate Programs