CSML Course Trees

The course trees shown below are designed to help you understand the range of Princeton courses offered in Data Sciences, Machine Learning, Optimization, Probability and Statistics, and to assist students and faculty advisors in planning course selections.  All of the courses listed are full semester, graded courses.

Please note that courses may not be are offered every semester nor every year. In addition, some courses have limited enrollment and fill up quickly. To check if a course is being courses offered in a particular semester, and its enrollment cap, please check the Registrar’s website, or the website of the home department. 

Machine Learning



  • The following ML courses are cognates: ELE 435, ELE 535
  • Except for the cognate courses above, the following ML courses are complementary: COS 324, ORF 350, COS 424, ELE 435, COS 485, COS 511, COS 513, ELE 535, ELE 571
  • ELE 364 can be taken as an introduction to ML prior to taking courses from the list above.  However, it doesn’t make sense to first take a more advanced ML course and then take the introductory course ELE 364.

Data Science, Statistics, Probability


  • Modern statistics frequently relies on programming and high performance computing: 
    • (R) indicates a course using the programing language R.                            
    • (+R) indicates a course that teaches and uses R.                     
    • (P) indicates a course using the prog. language Python.                   
  • Other statistics packages include STATA and SPSS.
  • The following statistics courses differ in style and example domains, but are otherwise effectively cognates: ECO 202, ORF 245, POL 345/SOC 305, PSY 251, WWS 200
  • Statistics courses that employ a modern programing language are more helpful for students who want to pursue additional courses in modern data science and statistics.
  • Students who want to take SML 201, should do so prior to taking a more advanced statistics course since SML 201 teaches R within the course, taking SML 201 and then a more advanced statistics course makes sense. Taking these courses in the reverse order is not recommended.