Model AI Assignments

EAAI-2017: The Seventh Symposium on Educational Advances in Artificial Intelligence

San Francisco, California, USA (collocated with AAAI-17)
February 5-6, 2016

          Sponsored by the Association for the Advancement of Artificial Intelligence

2017 Call for Assignments

Project Archive

2017  EAAI-2017: The Seventh Symposium on Educational Advances in Artificial Intelligence, San Francisco, California, USA (collocated with AAAI-17) February 5-6, 2016 
An Introduction to Monte Carlo Techniques in AI - Part II Todd Neller Learn about Bayesian network reasoning with Gibbs Sampling, a Markov Chain Monte Carlo technique, through implementation and experimentation.
Git Planner Joshua Eckroth Students build a PDDL planning library of common tasks supported by the Git version control tool, and make use of the Fast Downward planning engine to produce plans consisting of Git actions that update a repository to a specified goal state. 
Implementing a Hidden Markov Model Toolkit Sravana Reddy To facilitate learning about the application of Hidden Markov Models (HMMs) to Natural Language Processing (NLP), these assignments break the task into modular parts, allowing customized assignment coverage.
An Introduction to Behavior-Based Robotics Joshua Ziegler, Jason Bindewald, and Gilbert Peterson Students implement a behavior-based simulated tank agent in the AutoTank environment with a reactive behavior-based architecture built using the Unified Behavior Framework (UBF).
Machine Learning for Everyone: Introduction to Classification and Clustering Thomas Way, Paula Matuszek, Lillian Cassel, Mary-Angela Papalaskari, and Carol Weiss An introduction to Classification and Clustering aimed at a beginner, non-technical student audience. Materials for hands-on exercises and pre- and post-test quizzes are included. 
Organic Pathfinding Joshua Eckroth Students develop a “human-like” pathfinding technique by specializing a generic search algorithm with custom action cost and heuristic cost functions. Students apply classical search algorithms and reflect on example organic paths to achieve “human-like” pathfinding.
Visual Servoing Ariel Anders and Sertac Karaman Students use Image Based Visual Servoing to program a mobile robot to park in front of solid color objects, with control based on input from a standard monocular camera. Students leverage open source software tools like OpenCV and ROS to implement this reactive planner.

EAAI-2016: The Sixth Symposium on Educational Advances in Artificial Intelligence Phoenix, Arizona, USA (collocated with AAAI-16) February 13-14, 2016 
A Genetic Algorithm for Robby the Robot James Marshall Implement a genetic algorithm in Python to evolve strategies for Robby the Robot to collect empty soda cans that lie scattered around his rectangular grid world.
An Introduction to k-Means Clustering Todd Neller, Laura E. Brown Learn the practical basics of k-means clustering experientially through programming, use of common data mining tools, on-line demo apps, and observation.
Python Console-Animation Suite Lisa Torrey Apply five core AI algorithms to five classic puzzles and games within a consistent Python framework.
An Introduction to Classification: A CS2 Object-Oriented Programming Project Nate Derbinsky Develop a flexible framework for evaluating classification algorithms, "mixing and matching" any classification algorithm with any training/testing-pair evaluation dataset. 
A Simple Genetic Algorithm James Marshall Implement a basic genetic algorithm to evolve binary strings of 0s and 1s. 
Adventures with Prolog: Entering the Dungeon Lord's Lair Thomas E. Allen, Andrew A. Ward, Judy Goldsmith, and Nahom Muluneh Use Prolog to navigate a maze, avoiding or overcoming obstacles and enemies and accumulating treasure.

EAAI-2014: The Fifth Symposium on Educational Advances in Artificial Intelligence Quebec City, Quebec, Canada (collocated with AAAI-14) July 28-29, 2014 
An Introduction to Monte Carlo Techniques in Artificial Intelligence - Part I Todd Neller Learn the strengths and weaknesses of Monte Carlo simulation and Monte Carlo reinforcement learning (RL) through game AI exercises.
Multi-Player Games: Introducing Assignments with Open-Ended Strategies in CS2 James Heliotis, Sean Strout, Ivona Bezáková Students apply data structures (arrays, lists, trees, and graphs) and algorithms to interesting and open-ended board game strategy problems.
Strimko by Resolution Bikramjit Banerjee, Daniel Thompson Develop a Strimko solver by repeated and systematic application of the resolution inference procedure.
Party Affiliation Classification from State of the Union Addresses Laura E. Brown Explore and implement Text Classification with Naive Bayes methods using the multinomial and Bernoulli models to predict US President's party affiliation from their State of the Union addresses (SOTU).
Comparing Brute-Force Searching versus the MRV Heuristic in Sudoku Puzzles  Roger L. West Compare the performances of a brute-force search and a search employing the Minimum Remaining Values (MRV) heuristic in solving Sudoku puzzles.

 EAAI-2013: The Fourth Symposium on Educational Advances in Artificial Intelligence Bellevue, Washington, USA (collocated with AAAI-13) July 15-16, 2013  
Recreating Tesauro's TD-Gammon Devika Subramanian Tesauro's TD-Gammon is recreated, implementing TD(lambda) in neural net backgammon player.
Tsunami Warning System: A Case Study of Intelligent Agents in Action Stephanie August This case study analyzes a tsunami warning system (TWS) from the perspective of an intelligent agent, the Tsunami Activity Reporter (TWR). Students receive a description of the TWR and an overview of a warning system from the National Oceanic and Atmospheric Administration, then design an intelligent agent using the PEAS framework.
An Introduction to Counterfactual Regret Minimization Todd Neller, Marc Lanctot Learn the game-theoretic regret-based techniques that spurred a revolution in competitive computer poker.

 2012  EAAI-2012: The Third Symposium on Educational Advances in Artificial Intelligence, Toronto, Ontario, Canada (collocated with AAAI-12), July 23-24, 2012 
Vitro - A Simulation and Visualization Framework to Engage Learning: Reversi Model Assignment Exemplar Laura E. Brown, John Earnest, and Jason Hiebel The classic two-player board game Reversi (also called Othello™) will be the domain for learning and implementing adversarial search methods. Students will implement minimax and alpha-beta pruning algorithms and design evalutaion functions for this domain. A Tic Tac Toe domain is also provided for illustrating concepts in a small scale and for testing purposes.
Music Genre Classification Douglas Turnbull Students explore the engaging topic of content-based music genre classification while developing practical machine learning skills.
Solving the Dice Game Pig: an introduction to dynamic programming and value iteration Todd Neller Pig, a popular folk jeopardy dice game, serves as a fun focus problem for this introduction to dynamic programming, value iteration, and basic concepts of reinforcement learning.

 2011  EAAI-2011: The Second Symposium on Educational Advances in Artificial Intelligence, San Francisco, California (collocated with AAAI-11), August 9-10, 2011
Clue Deduction: an introduction to satisfiability reasoning Todd Neller The popular boardgame Clue (a.k.a. Cluedo) serves as a fun focus problem for this introduction to propositional knowledge representation and reasoning.
Mastermind Project Marie desJardins, Tim Oates As a final project for an introductory AI course, students work in small groups to design a scalable guessing algorithm for the game of Mastermind. There are three "challenges": a fixed-size problem, a "scalability challenge" , and a "learning challenge".
The Mario Project Matthew Taylor This assignment is appropriate for a course with a reinforcement learning component (i.e., Introductory AI or Machine Learning). In it, students are asked to implement, test, and evaluate multiple reinforcement learning algorithms within the Generalized Mario domain.

 2010  EAAI-2010: The First Symposium on Educational Advances in Artificial Intelligence, Atlanta, Georgia (collocated with AAAI-10), July 13-14, 2010
The Pacman Projects Software Package for Introductory Artificial Intelligence John DeNeroDan Klein The Pac-Man projects apply an array of AI techniques to playing Pac-Man.
A Project on Fast Trajectory Replanning for Computer Games for "Introduction to AI" Classes Sven Koenig, William Yeoh In this project, the students need to code A* and then extend it to Adaptive A*. Adaptive A* is a fast path replanning algorithm which moves game characters in initially unknown gridworlds to a given target.
Getting Set with OpenCV Zachary Dodds This assignment asks students to build a program that plays the game of Set, making use of the OpenCV library, the largest and most ubiquitous software foundation for real-time vision processing.
Rook Jumping Maze Generation Todd Neller With Rook Jumping Maze generation as the fun central challenge, students integrate techniques from uninformed search, stochastic local search, and machine learning.
Assignment on CSPs for first undergraduate AI course Giuseppe Carenini, David Poole This assignment covers most of the basic principles and techniques involved in solving constraint satisfaction problems, with applications ranging from games (sudoku) to configuration and scheduling problems.
A Project on Gesture Recognition with Neural Networks for “Introduction to Artificial Intelligence” Xiaoming Zheng, Sven Koenig In this project, the students need to understand and extend an existing implementation of the back-propagation algorithm and use it to recognize static hand gestures in images.
Introduction to Genetic Algorithms Chris Brooks In this assignment, you will work with partially-completed code for a genetic algorithm, adding crossover, selection and mutation operators.
A Project on Any-Angle Path-Planning for Computer Games for "Introduction to Artificial Intelligence Sven Koenig, Kenny Daniel, Alex Nash In this project, the students need to code A* and then extend it to Theta*. Theta* is an any-angle path-planning algorithm which plans paths for game characters in known gridworlds.

Important Dates:

  • September 14, 2016: Author registration and electronic assignment submission deadline
  • November 11, 2016: Author notification
  • November 28, 2016: Final assignment abstract and assignment revisions due
  • February 5-6, 2016: Symposium

What is the Model AI Assignments Session?

The Model AI Assignments Session seeks to gather and disseminate the best assignment designs of the Artificial Intelligence (AI) Education community.

One must learn by doing the thing; for though you think you know it, you have no certainty, until you try. - Sophocles

Recognizing that assignments form the core of student learning experience, we invite AI educators to submit draft assignment materials that exemplify an approach to teaching AI topics at all levels.

Submission Ideas

Consider these challenges in assignment design:

  • Intro AI audience: Submit your favorite assignment that grounds one of the core AI concepts at the introductory level (e.g. search, constraint satisfaction, knowledge representation and reasoning, planning, probabilistic reasoning, machine learning, robotics, machine vision, etc.).
  • K-12/CS1/CS2 audience: Some AI assignment experiences are designed to communicate the techniques, potentials, and challenges of the discipline.  Submit an assignment that you believe will be most likely attract the next generation of AI practitioners.
  • Emerging topics: When a new algorithm has high impact in a research area, there is a need to introduce the algorithm not only to students, but to all AI researchers as well.  The creation of initial high- quality assignments to teach such groundbreaking techniques can accelerate research advancements and keep AI material fresh at all levels.  Submit an assignment which introduces an recent new algorithm or emerging subfield.

Whether sharing the best of your time-tested assignment designs, or offering a timely new creation, please consider how your creative assignment ideas can attract and prepare the next generation of AI researchers, or accelerate the advancement of the current generation.


The Model AI Assignment Session is a part of EAAI-17: The Sixth Symposium on Educational Advances in Artificial Intelligence.  This will be held February 5-6, 2016 in conjunction with AAAI-17 in San Francisco, California, USA.

Registration: To register for EAAI-17, participants can register for AAAI-17 ( and include EAAI-17 as an additional (free) item in their registration cart. Participants may also register for EAAI alone.

EAAI-17 Organizing Committee:

Sven Koenig (co-chair), University of Southern California (
Eric Eaton (co-chair), University of Pennsylvania (
Zachary Dodds, Harvey Mudd College (
Todd Neller, Gettysburg College (
Matthew Taylor, Washington State University (
Sheila Tejada, University of Southern California (

Model Assignment Considerations

As with SIGCSE's Nifty Assignments, EAAI Model AI Assignments should be:

  • Adoptable - Provide materials to make the assignment easy for other instructors to adopt.  Materials might include handouts in common formats (e.g. HTML, PDF), starter source code, data files, suggestions for use, etc. 
  • Engaging - Model assignments often have a playful "fun factor" or impressive outcome.  The applications spark interest in the topic, lead to deeper understanding, and are accomplishments likely to be shared with others.
  • Flexible/Scalable - Language/platform independence, while not required, would allow more widespread use over time.  Suggestions of possible follow-on projects, further readings, or other open ends invite continued learning.  Advise for variations in assignment design can help other instructors create unique (i.e. not easily plagiarized) assignment experiences for their students.


Model Assignment submissions must be made in two parts:

Assignment submission directions: Create a directory named with your last name, a hyphen, and the name of the assignment (e.g. Dodds-SetOpenCV).  Place all of your materials in this directory, and create an index.html file.   (Our goal is to create an archive of assignments, rather than link to resources elsewhere.  We will gladly update materials in our archive as authors direct.)  In this index.html file, create a table like the one below filled in with brief information about your assignment (replace the italicized text with your own):

Summary Describe your assignment in a few sentences here.
Topics List the AI topics relevant to the assignment.
Audience Describe the intended audience (e.g. Introduction to AI, K-12, Advanced AI)
Difficulty Describe the perceived assignment difficulty and time needed for the audience to complete the assignment.
Strengths Describe the assignment strengths.
Weaknesses Describe the assignment weaknesses.
Dependencies List the necessary prerequisite topic knowledge.  Describe computing requirements, such as necessary operating system(s) and/or programming language(s), if any.
Variants In a few sentences, describe possible ways in which other instructors can vary the assignment, learn from its design, and/or encourage follow-on assignment work.

Then add links to the assignment materials in your directory (e.g.  handouts in common formats (e.g. HTML, PDF), starter source code, data files, suggestions for use, etc.).  These need not be polished for submission; a draft is sufficient. Assignments should be anonymous for blind review. (Your directory will be renamed with a number before review.)

Finally, zip the directory (e.g., and email it to Todd Neller ( with the subject line "Model Submission: " followed by the filename. (Please add "Model" to the subject line for all Model Assignments Session email.)

Abstract submission instructionsCreate a 200 word PDF abstract describing your assignment according to the AAAI author instructions.  Submit your anonymous abstract according to the paper submission instructions on the EAAI site via the EAAI EasyChair submission site.  Accepted submission abstracts will be included in an extended abstract of the Model AI Assignments Session.