Jump to: SoftwareRelated CoursesMachine Learning at TuftsSelf-Study Resources


For this course, we require programming assignments to be implemented in Python 3.6+. Using a consistent language allows us to talk about implementation details in class and makes grading solutions more consistent and time-efficient.

Students are responsible for maintaining their own software environment on their personal computer. We highly suggest that you consider the free 'conda' environment manager from Anaconda, Inc.:

For detailed instructions, see the [Python Setup Instructions page]

Textbook toolbox

A toolbox for the PRML textbook has been implemented in the Matlab language: * *

Does not appear to be sponsored by the textbook author, but may be a useful resource.

Related Courses

Statistical Pattern Recognition (COMP 136) at Tufts

Previous offerings:

Related courses at other universities

Machine Learning at Tufts

For machine learning research activity at Tufts, see the ML Research Group Website:

For a recent listing of ML courses, see:

For current ML research opportunities for students, see:

Self-Study Resources

Here are some useful resources to help you catch up if you are missing some of the pre-requisite knowledge. Please contribute new resources by starting a topic on the class discussion forum.


First-order gradient-based optimization

Linear algebra

Basic supervised machine learning methods

  • Key concepts:
    • Linear regression
    • Logistic regression