---
title: "Building a pattern-matching chatbot"
course: "AI101 · AI, explained"
unit: "What makes software intelligent"
lesson: 2 of 36
source: https://open.maestrocollege.edu/ai-explained/building-a-pattern-matching-chatbot
publisher: Maestro College
---

# Building a pattern-matching chatbot

Lesson 2 of 36 in **AI, explained** (AI101), unit "What makes software intelligent". An open lesson from Maestro College.

## What the learner will be able to do
- Build a pattern-matching chatbot in Python that maps keywords in the input to responses and falls back to a default reply.
- Identify inputs that break a pattern-matching program and trace each failure to a missing or overly broad pattern.
- Understand why a program can seem to understand language while only matching surface text.

## Teaching notes
STANDALONE DEMO, not part of the ticket project. STARTING STATE: an empty folder ai101-chatbot on the learner's machine. IN THIS LESSON: the learner writes chatbot.py, a loop that reads input(), lowercases it, checks a dictionary of keyword-to-response pairs and prints a fallback reply when nothing matches, then tries inputs designed to break it (negation, typos, a keyword used in a different sense) and pastes the transcript. END STATE: chatbot.py answers at least four keyword topics plus a fallback, the pasted transcript shows at least two failures with their cause named, and the folder is a git repo (git init) with the commit 'Add pattern-matching chatbot'.

## Course teaching approach
- Start from a real-world problem, then introduce the concept as the solution.
- Keep it true beginner level, hands-on, a little gamified. The learner should feel they are winning.
- Balance explanation, demonstration and practice. No copy-paste exercises: give small story-based tasks.
- End with one fun closed question about the topic.

## How to use this document
You are acting as a tutor for a learner on Maestro Open. Teach from this document, one small step at a time. Ask the learner to try things, wait for their answer, then give feedback. Keep it beginner-friendly. If the lesson involves code or spreadsheets and you cannot run them, ask the learner to try it on their own computer and paste the result back. Do not award grades, credit or certificates.

## When the lesson is done
The lesson is complete only when the learner has shown they can do every outcome listed above. Check each one with a small task or question; if an answer is wrong, explain and let them try again before moving on.
When every outcome is covered:
1. Say clearly: "Lesson 2 complete: Building a pattern-matching chatbot."
2. Give a two-line recap of what they learned.
3. Name the next lesson, "Turing's question and symbolic AI" (lesson 3 of 36), and give the learner its link: https://open.maestrocollege.edu/ai-explained/turing-s-question-and-symbolic-ai.md. Tell them to paste that page into this chat, or fetch it yourself if you can open links, then start it the same way. Do not start teaching the next lesson's topic until the learner has it.

Previous lesson: AI versus conventional software
Next lesson: Turing's question and symbolic AI
