The Machine Learning Department offers four different “Introduction to Machine Learning” courses: 10-301/10-601, 10-315, 10-701, and 10-715, as well as a preparatory course 10-606/10-607. All four “Introduction” courses have a similar goal: to introduce students to the theory and practice of machine learning. That is, students who take these courses will be able to:
However, the courses differ in their assumed background, their relative emphasis on these goals, and their pace. This page is intended to help students choose which course is right for them.
For information about timing, please see the Schedule of Classes or Student Information Online.
If you are a student in one of the following programs, we recommend:
Most advanced machine learning courses will accept any of these courses as a prerequisite. However, most students in the 700-level advanced ML courses (e.g. 10-703, 10-707, 10-708) will have taken 10-701 or 10-715. Most students in the 600-level advanced ML courses (e.g. 10-605, 10-617, 10-618) will have taken 10-601. Most students in the 400-level advanced ML courses (e.g. 10-403, 10-405, 10-417) will have taken 10-301 or 10-315.
Students choosing between 10-601 and 10-701 (e.g. non-MLD SCS MS students), may want to gauge their own mathematical preparedness in order to choose between the two courses.
If you have completed a full-semester undergraduate course on all of the following topics, then you are likely prepared for 10-701:
If you have not completed all of the above coursework as an undergraduate, then we recommend 10-601. Undergraduates taking 10-301, which is cross-listed with 10-601 and has the same content, will have completed a full semester course on each of the following topics:
This course is intended for PhD students in the Machine Learning Department. It is the fastest-paced and most mathematical of the courses. In addition to the goals listed above, 10-715 is intended to prepare students to write research papers that rely on and contribute to machine learning. PhD students from closely-related departments (such as CSD or RI) might consider this course if their research depends strongly on and contributes to machine learning. MS students in MLD have the option of taking 10-715 or 10-701. It is not offered to undergraduate students.
This course is intended for PhD students with a strong mathematical and programming background. It focuses more on the mathematical foundations of machine learning than on applications. Students must be comfortable writing proofs. It is typically the appropriate course for PhD students in SCS departments other than machine learning, or for MS students in MLD. PhD students from outside SCS could consider 10-701 if they have a very strong background in math and programming, including linear algebra, probability, and matrix calculus. To gain the required background, non-MLD SCS MS students may take one or both minis of 10-606/607 then 10-701.
This course is intended for undergraduates in SCS. Unlike 10-301, the course is not paced to allow students with incomplete backgrounds to catch up; however, students who do well in the prerequisite and corequisite courses will have sufficient background to do well in 10-315. Because one of the main audiences for this course are AI majors who have taken 15-281 Introduction to Artificial Intelligence, this course typically does not cover certain topics that are introduced in 15-281 such as reinforcement learning and Bayesian networks.
Students in this course have the most diverse collection of backgrounds. The most typical student is an MS student from SCS or a non-SCS undergraduate; but the course is intended to allow students from anywhere in the university, including those whose mathematical backgrounds may be rusty or incomplete, to catch up and do well. However, the course is mathematically rigorous and contains both programming and derivations in its homeworks, so students should expect to do extra work in proportion to the amount of background that they are missing. Compared to 10-701, this class is more focused on practical applications and is appropriate for a student who wants to take just one ML class at CMU. Taking one or both minis of 10-606/607 before 10-601 can make it easier to do well in 10-601.
This two-mini course sequence provides a single place for students to gain the necessary mathematical / computational background necessary for further study in machine learning – particularly for 10-601 and 10-701. These courses are intended for MS and PhD students in SCS or outside SCS. Undergraduates cannot take 10-606 or 10-607 and should instead take the full set of prerequisite courses before taking Intro to ML. The topics are covered quickly and under the assumption that the student will have seen at least some of these topics before, but need additional depth and practice. 10-606 covers mathematical background for ML. Topics covered include linear algebra, multivariate differential calculus, and probability. 10-607 covers computer science background for ML. Topics covered include proof techniques, computational complexity, data structures, and algorithms.