Assignments

The course's assignments apply an array of AI techniques to playing Pac-Man. However, these assignments don't focus on building AI for video games. Instead, they teach foundational AI concepts, such as informed state-space search, probabilistic inference, and reinforcement learning. These concepts underly real-world application areas such as natural language processing, computer vision, and robotics.

The assignments allow you to visualize the results of the techniques you implement. They also contain code examples and clear directions, but do not force you to wade through undue amounts of scaffolding. Finally, Pac-Man provides a challenging problem environment that demands creative solutions; real-world AI problems are challenging, and Pac-Man is too.

Technical Notes

The Pac-Man assignments are written in pure Python 3.6+ and do not depend on any packages external to a standard Python distribution, except the Logic and ML assignments.

Help

Questions, comments, and clarifications regarding the assignments should NOT be sent via email to the course staff. Please use the class discussion board on Campuswire instead.

Submission

Each student is required to submit their own unique solution i.e., assignments should be completed alone. Assignments will by default be graded automatically for correctness, though we will review submissions individually as necessary to ensure that they receive the credit they deserve. Assignments can be submitted as often as you like before the deadline; we strongly encourage you to keep working until you get a full score by the autograder.

Credits

The assignments were developed by John DeNero, Dan Klein, and Pieter Abbeel at UC Berkeley.