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
  • Senior research (taken over two semesters; counts as two electives)
  • A two-course sequence (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.

No course in the Machine Learning Minor, other than the pre-requisites, may be counted towards another SCS minor. Additionally, at least 3 courses must be used for only the Machine Learning Minor, not for any other major or minor.

Take as many of these courses as desired:

  • 10-405/-605/-805 Machine Learning with Large Datasets (12 units)
  • 10-701 Machine Learning (12 units)
  • 10-702 Statistical Machine Learning (12 units)
  • 10-703 Deep Reinforcement Learning & Control (12 units)
  • 10-707 Topics in Deep Learning (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-381 Artificial Intelligence: Representation and Problem Solving (9 units)

Plus one of:

  • 08-537 Artificial Intelligence Methods for Social Good (9 units)
  • 15-388/-688 Practical Data Science (9/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)