Overview
Take a look at artificial intelligence through philosophical and science fiction lenses, and review Python basics. Then explore AI algorithms through studying rational agents and common search algorithms like A* search. Complete short coding assignments in Python.
Syllabus
- Module 1: Artificial Intelligence Overview
- In the first module of the course, we will introduce AI by delving into the philosophical underpinnings of artificial intelligence, integrating the work of important thinkers from Descartes to Alan Turing. We’ll also look at how Science Fiction often foretells the future of artificial intelligence, including examples of AI from hit 1970s and 1980s films that, decades later, have become a reality. We will also start refreshing our Python knowledge to prepare for our coding assignments later in the course.
- Module 2: Task Environment and Python Review
- This module, we will set us up for some key considerations we’ll make when designing our own AI systems and how they should behave. Should they act like humans do, or think like humans do, or act and think rationally? We'll define what rational agents are and explore task environments before completing our Python review. At the end of the module, you will work on your first of three programming assignments.
- Module 3: Uninformed Search
- In artificial intelligence, a surprising number of tasks that we want to solve can be cast as search problems. This module, we will introduce the formal definition of search problems, and examine some classic algorithms for solving search problems called shortest path algorithms. These are sometimes referred to as “uninformed” search algorithms or “blind” search algorithms, because they are run without any additional knowledge of where our goal lies. We’ll also look at some variants of these algorithms that have computational complexity guarantees.
- Module 4: Informed Search
- We can often find a solution to a search problem more quickly if we have some knowledge about how close we are to a goal state. This module, we’ll look at the process of incorporating such knowledge into search algorithms, which, when used optimally, can help focus our search efforts so that we avoid exploring actions that move us further away from the goal. We’ll examine the most famous informed search algorithm, A* search, which is guaranteed to find an optimal solution first.
Taught by
Chris Callison-Burch