Artificial Intelligence: Principles and Techniques


Stanford School of Engineering

Artificial Intelligence: Principles and Techniques


Artificial Intelligence has emerged as an increasingly impactful discipline in science and technology. AI applications are embedded in the infrastructure of many products and industries search engines, medical diagnoses, speech recognition, robot control, web search, advertising and even toys.

This professional course provides a broad overview of modern artificial intelligence. Learn how machines can engage in problem solving, reasoning, learning, and interaction. Design, test and implement algorithms. Gain an appreciation of this dynamic field.

Specific topics include machine learning, search, game playing, Markov decision processes, constraint satisfaction, graphical models, and logic. The main goal of the course is to equip you with the tools to tackle new AI problems you might encounter in life.

What you will learn

  • Search (tree search, dynamic programming, uniform cost search)
  • Constraint satisfaction problems (backtracking search, dynamic ordering, local search)
  • Markov decision processes (policy evaluation, reinforcement learning, function approximation)
  • Planning and game playing (evaluation functions, TD learning, Game theory)
  • Machine learning (linear classification, loss minimization, neural networks, unsupervised learning)
  • Bayesan networks
  • Graphical models
  • Logic (syntax versus semantics, first-order logic)


  • Proficiency in Python: All coding assignments will be written in Python. You should be familiar with numpy and matplotlib, as well as basic shell commands (ssh, scp, ls, cd, rm, mv, cp, zip, etc.).
  • Calculus and Linear Algebra: You should understand the following concepts from multivariable calculus and linear algebra: chain rule, gradients, matrix multiplication, matrix inverse.
  • Probability: You should be familiar with basic probability distributions and be able to define the following concepts for both continuous and discrete random variables: Expectation, independence, probability distribution functions, and cumulative distribution functions.
  • Basic CS Theory: This course assumes basic understanding of tree search, graph search, and greedy algorithms, as well as big-O notation. Those unfamiliar may enroll but must be prepared for additional self-study.


This course features classroom videos and assignments adapted from the CS221 graduate course delivered on-campus at Stanford. The content and workload have been modified to better suit working professionals. The course features:

  • Classroom lecture videos edited and segmented to focus on essential content
  • Problem sets enhanced with additional supports and scaffolding
  • 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

Time Commitment

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


Percy Liang
Associate Professor of Computer Science and Statistics (Courtesy)

Dorsa Sadigh
Assistant Professor of Computer Science and Electrical Engineering


Upon completing this course, you will earn a Certificate of Achievement in Artificial Intelligence Principles and Techniques 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:May 10 - July 18, 2021
Delivery Option:
Online Course $1,595.00

This is a cohort-based program that will run from May 10, 2021 - July 18, 2021.

Online Program Materials 
Online program materials are available on the first day of the course cohort (May 10, 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.