Peter Norvig

Distinguished Education Fellow at Stanford HAI, Research Director at Google. Co-author of Artificial Intelligence: A Modern Approach, the leading AI textbook used in 1,500+ universities worldwide.
[email protected] / resume / github / medium / photo gallery / legacy homepage

Featured Work

Teach Yourself Programming in Ten Years
Essay
A counter-argument to "learn programming quickly" books, translated into 20+ languages
How to Write a Spelling Corrector
Tutorial
Implementation of a spelling corrector in 21 lines of Python
Solving Every Sudoku Puzzle
Tutorial
Constraint propagation and search algorithms for Sudoku solving in Python
Lispy: Scheme Interpreter in Python
Tutorial
How to write a Scheme interpreter in 90 lines of Python
The Gettysburg PowerPoint Presentation
Humor
Satirical take on poor presentation practices using Lincoln's famous address
The Unreasonable Effectiveness of Data
Research
How large-scale data transforms natural language understanding (IEEE, 2009)
World's Longest Palindrome
Project
Computational exploration of palindromic sequences

Books

Artificial Intelligence: A Modern Approach
Book
Co-authored with Stuart Russell. 4th edition. The comprehensive introduction to AI theory and practice.
Paradigms of AI Programming: Case Studies in Common Lisp
Book
In-depth study of AI programming techniques and algorithms through Lisp implementations.
Data Science in Context
Book
Foundations and Challenges of Data Science, with Alfred Z. Spector, Chris Wiggins, and Jeannette M. Wing
Verbmobil: A Translation System for Face-to-Face Dialog
Book
Research on speech-to-speech translation systems
Intelligent Help Systems for UNIX
Book
Early work on intelligent user assistance systems

Open Source Software

pytudes
Jupyter Notebooks
Python programs for learning and practice - computational essays on various topics
JScheme
Software
Scheme interpreter in Java
AIMA Code
Software
Implementations of AI algorithms from the textbook in multiple languages (Python, Java, JavaScript, etc.)
Natural Language Corpus Data
Data
Code and data to accompany the chapter Natural Language Corpus Data from the book Beautiful Data (Segaran and Hammerbacher, 2009).

Courses

Introduction to Artificial Intelligence
Online course with Sebastian Thrun, one of the first MOOCs, with 160,000+ enrolled students (2011)
Udacity 212: Design of Computer Programs
Learn how to model problems, and how to optimize performance by using some of the advanced features of Python (2022)
CS 139: Human-Centered Artificial Intelligence
Stanford course (2025)

Selected Podcasts & Videos

Ted Talk: The 100,000-student classroom
(2012)
How Peter and Sebastian Thrun taught an AI class to 160,000 students online
Peter Norvig at Startup School 2008
Talk (2008)
Leveraging the power of data and technical challenges in Google projects
Artificial Intelligence: A Modern Approach
Lex Fridman Podcast #42 (2019)
In-depth conversation covering AI education, programming, and Google's early days
Large Language Models and the Future of Programming
Stanford HAI Talk (2023)
How LLMs are changing software development and the future of programming
AI Safety in Generative AI
AI Explained Podcast (2024)
Discussion on AI safety, testing, and best practices for generative AI systems
Singularity Is in the Eye of the Beholder
Gradient Dissent Podcast (2025)
Evolution of deep learning, pytudes, and the unreasonable effectiveness of data
Simple Ways to Grow Your Business with AI
Young and Profiting Podcast #307 (2024)
Human-centered AI, Google's early days, and practical AI applications
Beyond the Textbook: The Future of AI Literacy
The AI Forecast Podcast (2024)
AI education transformation and the overwhelming pace of AI development
A Modern Approach to AI
Foresight Institute Radio
History of the AI textbook and the evolution from logic to probability in AI
Artificial Intelligence and You (Part 1)
Podcast (2024)
Evolution of AI from symbolic processing to neural networks

Other Popular Pages

Python IAQ: Infrequently Asked Questions
Reference
Answers to infrequently asked questions about Python
Java IAQ: Infrequently Asked Questions
Reference
Answers to infrequently asked questions about Java
Doing the Martin Shuffle (with your iPod)
Essay
Optimal navigation strategy for iPod Shuffle
Beal's Conjecture
Research
Search for counterexamples to Beal's Conjecture
English Letter Frequency Counts: Mayzner Revisited
Article
Analysis of letter frequencies in modern English text
Google's Hybrid Approach to Research
Article
Published in ACM, discussing research methodology
Design Patterns in Dynamic Languages
Slides
How dynamic languages change design patterns
Einstein's 1905 Performance Review
Humor
Humorous take on corporate performance reviews