Artificial Intelligence: Principles and Techniques

XCS221

Stanford School of Engineering


Artificial Intelligence: Principles and Techniques

Description

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)

Prerequisites

  • 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.

Notes

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 8-12 hours/week for the duration of the 10-week program.

Instructors

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

Dorsa Sadigh
Assistant Professor of Computer Science and Electrical Engineering

Certificate

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.

Continuing Education Units

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.

Application

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.

Questions?

Contact us at 650-204-3984
scpd-ai-proed@stanford.edu

Course Outline

$1,595

001 Open for Enrollment Online

Enroll Now

Delivery Option:
Online
Fees:
Online Course $1,595.00
Notes:

Cohort

This is a cohort-based program that will run from NOVEMBER 19, 2020 - JANUARY 31, 2021.

This normally 10-week course will be delivered over a 12-week period, with a two-week Stanford Winter Closure from Monday, December 21. 2020 - Friday, January 1, 2021. During this break learners will have access to course materials and assignments, however staff support will be unavailable.

Online Program Materials 
Online program materials (slides etc.) are available for download from the course page. All materials are available for printing and review upon enrollment. Videos in the course are not downloadable however full length versions of the classroom videos are available on YouTube. 

Assignments
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.