Machine Learning


Stanford School of Engineering

Machine Learning


In this era of big data, there is an increasing need to develop and deploy algorithms that can analyze and identify connections in that data. Using machine learning (a subset of artificial intelligence) it is now possible to create computer systems that automatically improve with experience. This technology has numerous real-world applications including robotic control, data mining, autonomous navigation, and bioinformatics.

This course features classroom videos and assignments adapted from the CS229 graduate course as delivered on-campus at Stanford in Autumn 2018 and Autumn 2019. In order to make the content and workload more manageable for working professionals, the course has been split into two parts, XCS229i: Machine Learning and XCS229ii: Machine Learning Strategy and Intro to Reinforcement Learning.

This course description and enrollment page is for XCS229i: Machine Learning.

What you will learn

  • Supervised Learning (Linear and Logistic Regression, General Linearized Models (GLMs), Gaussian Discriminant Analysis (GDA), Generative/Discriminative Learning, Neural Networks, Support Vector Machines (SVM))
  • Unsupervised Learning (Expectation-Maximization (K-Means, etc.), Principal Component Analysis (PCA), Dimensionality Reduction)

Reinforcement Learning and Machine Learning Strategy from the original CS229 graduate course will be covered in XCS229ii: Machine Learning Strategy and Intro to Reinforcement Learning.


  • Proficiency in Python: All class assignments will be in Python. If you have extensive programming experience in a different language (C/C++/MATLAB/Java/JavaScript) we recommend you familiarize yourself with Python basics before you begin your first course. Some assignments will require familiarity with basic Linux command line workflows.
  • College Calculus, Linear Algebra: You should be comfortable taking (multivariable) derivatives and understanding matrix/vector notation and operations. We strongly recommend you review this baseline problem set from the Fall 2018 graduate course upon which much of this course is based. You should be familiar with the topics covered before enrolling in XCS229i.
  • Basic Probability and Statistics: You should know the basics of probabilities, gaussian distributions, mean, and standard deviation.


This professional online course, based on the on-campus Stanford graduate course CS229, features:

  • Classroom lecture videos edited and segmented to focus on essential content
  • Coding assignments enhanced with added inline support and milestone code checks
  • Office hours and support from Stanford-affiliated Course Assistants
  • Cohort group connected via a vibrant Slack community, providing opportunities to network and collaborate with motivated learners from diverse locations and professional backgrounds

How is this different from the machine learning course on Coursera?

The Machine Learning MOOC offered on Coursera covers a few of the most commonly used machine learning techniques. XCS229i explores these concepts in greater depth and complexity, in addition to several other concepts. XCS229ii will cover completely different topics than the MOOC and include an open-ended project. You may gain a better sense of comparison by examining the CS229 course syllabi linked in the Description Section above and the course lectures posted on YouTube.

Time Commitment

Expect to commit 10-14 hours/week for the duration of the 10-week program.


Andrew Ng
Adjunct Professor of Computer Science

Guest Lecturers

Kian Katanforoosh, Adjunct Lecturer of Computer Science
Anand Avati & Raphael Townshend, CS229 Head TAs


Upon completing this course, you will earn a Certificate of Achievement in Machine Learning from the Stanford Center for Professional Development.

You may also earn a Professional Certificate in Artificial Intelligence by completing three courses in the Artificial Intelligence Professional Program.

Grading and Continuing Education Units

This course is graded Pass/Fail, and letter grades are not awarded. By completing this course, you'll earn 10 Continuing Education Units (CEUs). CEUs cannot be applied toward any Stanford degree. CEU transferability is subject to the receiving institution’s policies.


Prior to enrolling in your first course in the AI Professional Program, you must complete a short application (15-20 minutes). The application allows you to share more about your interest in joining this cohort-based course, as well as verify that you meet the prerequisite requirements needed to make the most of the experience. If you have previously completed the application, you will not be prompted to do so again.


Contact us at 650-204-3984



Enroll Now

Dates:July 12 - September 19, 2021
Delivery Option:
Online Course $1,595.00

This is a cohort-based program that will run from July 12, 2021 - September 19, 2021.

Online Program Materials 
Online program materials are available on the first day of the course cohort (July 12, 2021). A course syllabus and invitation to an optional Orientation/Q&A Webinar will be sent 10-14 days prior to the course start.

To successfully complete the program, participants will complete five assignments (mix of programming assignments and written questions). 

Course Evaluation
Participants are required to complete the program evaluation.

This course may not currently be available to learners in some states and territories.