Carnegie Mellon University

Undergraduate Minor in Machine Learning - Pre-2019 Curriculum

Machine learning and statistical methods are increasingly used in many application areas including natural language processing, speech, vision, robotics, and computational biology.  The Minor in Machine Learning allows undergraduates to learn about the core principles of machine learning.


Students should apply for admission at least one semester before their expected graduation date, but are encouraged to apply as soon as they have taken the prerequisite classes for the minor.  Grades from the core courses, 10-301/-315/-401/-601 and 36-401, are also welcomed with the application.  An admission decision will usually be made within one month.

This version of the curriculum applies to students outside SCS who began their undergraduate degree at CMU before 2019, or SCS majors who began before 2018. Students who entered in 2019 or later should refer to the updated ML Minor curriculum. SCS majors should instead consider the Machine Learning Concentration.

Requirements for the Minor

Grade Requirements:

  • All courses for the ML Minor, including pre-requisites, must be passed with at least a C.
  • The core courses (10-301/-315/-401/-601 and 36-401) must average to at least a 3.0 (i.e., 1 A and 1 C, or 2 Bs).
  • The student's overall, university-wide QPA must remain at least 2.5.


  • CS background:  15-122 Principles of Imperative Computation
  • One year calculus: 21-120 and 21-122 or equivalent
  • Probability & statistics:
    • Option 1: (36-217, 36-218, 36-225, 15-259, or 21-325) plus (36-226 or 36-326)
    • Option 2: 36-218 with at least a B

Double Counting Restrictions:

No course in the Machine Learning Minor may be counted towards another SCS minor.  Additionally, at least 3 courses (each being at least 9 units) must be used for only the Machine Learning Minor, not for any other major or minor. (These double counting restrictions apply specifically to the Core Courses and the Electives. Prerequisites may be counted towards other SCS minors and do not count towards the 3 courses that must be used for only the Machine Learning Minor.)


Core Courses - 21 units:

  • 10-301 (formerly 10-601) or 10-315 (formerly 10-401) Introduction to Machine Learning
  • 36-401 Modern Regression (This course is often oversubscribed, especially for non-statistics majors. ML minors should be aware of this and register immediately when slots are available.)

Electives - 3 courses (each being at least 9 units) from the options below



Students must take at least 3 electives of at least 9 units each in Machine Learning. This can be through a combination of:

  • Stand-alone courses in machine learning and data analysis
  • A year-long senior research project (taken over two semesters; counts as two electives)
  • A two-course sequence, where one provides an introduction to a field that uses machine learning methods and the second is in the same discipline and includes a significant machine learning component (both courses must be taken)

Courses outside of these lists may be allowed, but need prior approval from the Machine Learning Minor Director (

Students should note that many of these courses are primarily aimed at graduate students, and so should make sure that they are adequately prepared for them before enrolling.

Take as many of these courses as desired:

  • 10-335 Art and Machine Learning (12 units)
  • 10-403 Deep Reinforcement Learning & Control (12 units)
  • 10-405/-605/-805 Machine Learning with Large Datasets (12 units)
  • 10-414 Deep Learning Systems: Algorithms and Implementation (12 units)
  • 10-417/-617 Introduction to Deep Learning (12 units)
  • 10-418/-618 Machine Learning for Structured Data (12 units)
  • 10-613 Machine Learning Ethics and Society (12 units)
  • 10-701 Machine Learning (12 units)
  • 10-702/-716 Statistical Machine Learning (12 units)
  • 10-703 Deep Reinforcement Learning & Control (12 units)
  • 10-707 Topics in Deep Learning (12 units)
  • 10-708 Probabilistic Graphical Models (12 units)
  • 10-725 Convex Optimization (12 units)
  • 10-777 Historical Advances in Machine Learning (12 units)
  • 11-485/-785 Introduction to Deep Learning (9-12 units)
  • 11-777 Advanced Multimodal Machine Learning (12 units)
  • 15-826 Multimedia Databases and Datamining (12 units)
  • 15-853 Algorithms in the Real World (12 units)
  • 15-859 Section B: Machine Learning Theory (12 units)
  • 36-315 Statistical Graphics and Visualization (9 units)
  • 36-402 Advanced Data Analysis (9 units)
  • 36-461 Statistical Methods in Epidemiology (9 units)
  • 36-462 Data Mining (9 units)
  • 36-463 Multilevel and Hierarchical Models (9 units)
  • 36-464 Applied Multivariate Methods (9 units)
  • 36-700/-705 Statistics (12 units)

Note: Please be aware that not all graduate-level courses in the Machine Learning Department may be used as electives. In particular, 10-606/-607 Mathematical Background for Machine Learning may not be used as electives for the Machine Learning Minor.

Senior Research consists of 2 semesters of 10-500 Senior Research, totalling 24 units.

The research must be a year-long senior project, supervised or co-supervised by a Machine Learning Core Faculty member. It is almost always conducted as two semester-long projects, and must be done in senior year. Some samples of available Machine Learning Senior Projects are available here.

Interested students should contact the faculty they wish to advise them to discuss the research project, before the semester in which research will take place. Once both student and advisor agree upon a project, the student should submit a one-page research proposal to the Machine Learning Minor Director to confirm that the project will count for the Machine Learning Minor.

Your one-page research proposal should contain the following:

  • A working title, your name, and your advisor's name
  • The following 7 sections, using the section titles in bold below:
    1. Abstract (100 to 500 words)
    2. Motivation (why your research problem is important)
    3. Contributions (bulleted list of your research contributions)
    4. Related Work (brief mention of most relevant existing work)
    5. Expected Results (short description of likely outcomes)
    6. Timeline (detailed list of milestones over the next year)
    7. Bibliography
  • The signature of your research advisor, signifying endorsement of the project and willingness to supervise and evaluate it.

The student should expect to meet with the Minor Director during both Senior Fall and Spring to discuss the project, and will present the work and submit a year-end write-up to the Minor Director at the end of Senior year.

Students are encouraged to reach out to the Minor Director with questions at any time.

Introductory Course:

  • 15-281/-381 Artificial Intelligence: Representation and Problem Solving (9 units)

Plus one of:

  • 08-537/17-537 Artificial Intelligence Methods for Social Good (9 units)
  • 15-388/-688 Practical Data Science (9/12 units)
  • 15-482 Autonomous Agents (12 units)
  • 15-780 Graduate Artificial Intelligence (12 units)
  • 15-887 Planning, Execution, and Learning (12 units)
  • 15-892 Foundations of Electronic Marketplaces (12 units)

Take both courses in Computational Genomics:

  • 02-510 Computational Genomics (12 units)
  • 03-511 Computational Molecular Biology and Genomics (9 units)

Or take both courses in Biological Modeling:

  • 02-530 Cell and Systems Modeling (12 units)
  • 03-512 Computational Methods for Biological Modeling and Simultation (9 units)

Introductory Course:

  • 08-640 or 08-801 Dynamic Network Analysis (12 units)


  • 08-621 or 08-810 Computational Modeling of Complex Socio-Technical Systems (12 units)

Take one Introductory Course:

  • 16-311 Introduction to Robotics (12 units)
  • 16-385 Computer Vision (9 units)

Plus one of:

  • 15-463 Computational Photography (12 units)
  • 16-720 Computer Vision (12 units)
  • 16-725 Medical Image Analysis (12 units)
  • 16-823 Physics-Based Methods in Computer Vision (Appearance Modeling) (12 units)
  • 16-824 Visual Learning and Recognition (12 units)

Introductory Course:

  • 11-411 Natural Language Processing (12 units)

Plus one of:

  • 11-441/-641/-741 Machine Learning for Text Mining (9/12 units)
  • 11-442/-642 Search Engines (12 units)
  • 11-731 Machine Translation and Sequence-to-Sequence Models (12 units)
  • 11-751 Speech Recognition and Understanding (12 units)
  • 11-755 Machine Learning for Signal Processing (12 units)
  • 11-661/761 Language and Statistics (12 units)
  • 11-763 Structured Prediction for Language and Other Discrete Data (12 units)

Choose any two of:

  • 15-386/-686 Neural Computation (9/12 units)
  • 15-883 Computational Models of Neural Systems (12 units)
  • 36-759 Statistical Models of the Brain (12 units)
  • 85-419/-719 Introduction to Parallel Distributed Processing (9/12 units)

Take both of:

  • 10-830 Research Seminar in Machine Learning and Policy (6 units)
  • 10-831 Special Topics in Machine Learning and Policy (6 units)

Note: If interested in this option, please contact the Machine Learning Minor Director to confirm that 10-831 Special Topics will be offered during an appropriate semester for you. Note that these two courses combine to count as only one elective, since they are under 9 units each.

Introductory Course:

  • 16-311 Introduction to Robotics (12 units)

Plus one of:

  • 16-745 Dynamic Optimization (12 units)
  • 16-831 Statistical Techniques in Robotics (12 units)
  • 16-899 Section C: Adaptive Control and Reinforcement Learning (12 units)


The ML Director of Undergraduate Studies is Professor Matt Gormley and the ML Minor Program Coordinator is Laura Winter. They can both be reached at Please contact them about eligibility, curriculum, etc.

Laura Winter holds office hours during Spring and Fall. The Spring 2023 office hours are Wednesdays from 2 - 3 PM in GHC 9112. The office hours aren't held when classes aren't in session (e.g., holidays and breaks).

Professor Matt Gormley holds pre-registration office hours and is also available anytime at . 

How To Apply

Complete the Machine Learning Minor Application Google form. It asks for your contact information, basic information about your academic history, a proposed schedule of the courses you're planning to take for the Machine Learning Minor (which can be changed later), and a brief (150-250 word) Statement of Purpose describing your reasons for pursuing the ML Minor. Admissions decisions are usually made within one month.