Model AI Assignments

EAAI-2021: The Eleventh Symposium on Educational Advances in Artificial Intelligence

Vancouver, British Columbia, Canada
(collocated ONLINE with AAAI-21)
February 6-7, 2021

          Sponsored by the Association for the Advancement of Artificial Intelligence

2021 Call for Assignments


Project Archive

2021   EAAI-2021: The Eleventh Symposium on Educational Advances in Artificial Intelligence Online (collocated with AAAI-21) February 6-7, 2021
ScalarFlow: Implementing Reverse Mode Automatic Differentiation Nathan Sprague Students gain a better understanding of deep learning algorithms and frameworks by programming an automatic differentiation engine and then modifying machine learning code built on top of that engine.
Rushhour: Designing and comparing A* heuristics for a children's puzzle John Maraist This assignment uses the Rush Hour puzzle to explore the design of heuristics for A* search. Students construct different heuristics for Rush Hour, and calculate the effective branching factor and other metrics for each of their heuristics, as well as for naive BFS.
Text Denoising Autoencoder for News Headlines Lisa Zhang and Pouria Fewzee In this assignment, students combine the techniques learned through a deep learning course to build a denoising autoencoder for news headlines. Students then use this denoising autoencoder to query similar headlines, and interpolate between headlines.
“Unplugged” Semantic Networks and Knowledge Representations Duri Long, Jonathan Moon and Brian Magerko In this “unplugged” assignment, learners create their own semantic networks by gluing down printable cards containing concepts and arrows containing relationships. Provided card decks contain concepts related to animals, family, and musical instruments.
Using Markov Chain Text Generators to Facilitate Found Poetry Creation Alex Leto, Toni Lefton and Tom Williams This flexible educational module simultaneously teaches students about AI techniques and Found Poetry techniques. It asks students to reflect on both the nature of authorship in human-AI creative interaction, and the effect of AI on humans' creative process.
Introducing AI Worksheet Activity Duri Long, Jonathan Moon and Brian Magerko What is AI? Where have you used it before? How do you feel about it? How does it work? In this activity students will explore questions like these through an interactive group worksheet activity.

2020   EAAI-2020: The Tenth Symposium on Educational Advances in Artificial Intelligence New York, New York, USA (collocated with AAAI-20) February 8-9, 2020
Predicting and Preventing Deaths in the ICU: Designing and Analyzing an AI System Stephen Keeley and Michael Guerzhoy Students fit a logistic regression classifier to predict patient death in the ICU. Students estimate the percentage of patients who could be saved in the test set assuming that a simulation model's assumptions hold.
A Project on Multi-Agent Path Finding (MAPF) Wolfgang Hoenig, Jiaoyang Li, and Sven Koenig Students implement multi-agent path finding (MAPF), where agents must move to their respective goal locations without colliding with the environment or each other. MAPF is a key task for autonomous warehousing and just-in-time manufacturing.
A Module for Introducing Ethics in AI: Detecting Bias in Language Models Ameet Soni and Krista Thomason Students are introduced to word embedding models, how they encode cultural biases, and Word Embedding Association Test, a tool for uncovering these biases. Students analyze the ethical issues that arise in real-world applications of machine learning.
Gesture Recognition using Convolutional Neural Networks Lisa Zhang and Bibin Sebastian Students build a Convolutional Neural Network (CNN) to recognize American Sign Language (ASL) hand gestures, and learn how to collect, clean, and split data into training/validation/test sets, debug NNs, and related skills.
Wasserstein GAN - Depth First Learning Cinjon Resnick, Avital Oliver, Surya Bhupatiraju, Kumar Krishna Agrawal, and James Allingham Students thoroughly absorb a recent seminal paper in ML, "Wasserstein GAN", by traversing the dependencies that led to that paper. Students will gain a thorough understanding of how generative modeling and Generative Adversarial Networks work.
PyPlat: A Flexible Platform Game Project Sejong Yoon PyPlat is a small, game-based AI project where students design and implement Python platform-game-playing agents. Students can either implement instructor-chosen search/planning algorithms or develop their own and compete with peers.
Exploring Unfairness and Bias in Data Jonathan Chen, Tom Larsen, Marion Neumann and Introductory data science students complete a Jupyter Notebook-based assignment exploring how bias can be introduced into a model using an example of gender bias in credit history used to predict creditworthiness.
Playing Against Adversary and Stochastic agents in ConnectFour Game Narges Norouzi and Ryan Hausen Students learn adversarial and stochastic games through the implementation of alpha-beta pruning and expectimax search for playing a variation of the game Connect 4. Students are provided with a GUI to test the performance of their algorithms.
Graphical Networked Checkers Bots Assignment Matthew Evett Networked Checkers Bot Competition - build a minimax-based AI that plays checkers against other bots via a provided RMI-based intermediary.

2019  EAAI-2019: The Ninth Symposium on Educational Advances in Artificial Intelligence, Honolulu, Hawaii, USA (collocated with AAAI-19) January 28-29, 2019
Implementing a Recommender system using MapReduce Raja Sooriamurthi Students gain hands-on experience with recommender systems, modeling the core computation in a spreadsheet, and then expressing the recommender algorithm in the MapReduce paradigm using mrjob with  the Movielens data set.
Building a Fake News Detector Michael Guerzhoy and Lisa Zhang Students use Machine Learning to classify news headlines as "real" or "fake". Students build and compare several standard classifiers. A classwide competition is held for the best fake news detector.
Using Ultimate Tic Tac Toe to Motivate AI Game Agents Paul Talaga In this assignment students extend a Tic Tac Toe program to Ultimate Tic Tac Toe and implement a different search strategy than the example code.
RISK AI Project Christopher Archibald Students design and implement agents for the board game of RISK which then compete in a class tournament for extra credit. Two preliminary assignments are also included, where students implement uniform cost search and decision trees within the context of RISK.
The Minecraft Projects Adam Summerville and Joseph Osborn A package of interesting projects in Minecraft-like domains with applications to Minecraft itself. These assignments cover a variety of AI topics from path and task planning to constraint satisfaction.
Depth First Learning: DeepStack Cinjon Resnick, Avital Oliver, Surya Bhupatiraju and Kumar Krishna Agrawal Through six sessions, students will gain understanding of how to solve 1v1 games of incomplete information by traversing the tree of concept dependencies that led to DeepStack, the successful AI poker player.
Nearest Neighbor Classification (with almost no background) Nate Derbinsky and Elena Strange This assignment engages students in basic Machine Learning concepts and implementation, including classification and similarity-based search, with minimal background knowledge.
Introduction to Python for Data Science Marion Neumann and Jonathan Chen This is a sequence of two interactive guided labs introducing the basics of Python the data science workflow using the Iris dataset.
Introducing the Data Science Workflow using Sentiment Analysis Marion Neumann and Zac Christensen This is an interactive guided lab introducing the basic data science workflow by exploring sentiment analysis. The assignment highlights data acquisition and exploration using a given dataset of movie reviews.
A Gentle Introduction to the Backpropagation Algorithm and Feedforward Networks Michael Wollowski and Oscar Youngquist Students learn about feedforward neural networks and the backpropagation algorithm by implementing a perceptron network for AND and XOR Boolean functions and, given an implementation of a feedforward network, learn digit recognition using the MNIST data set.

2018  EAAI-2018: The Eighth Symposium on Educational Advances in Artificial Intelligence, New Orleans, Louisiana, USA (collocated with AAAI-18), February 3-4, 2018
Go for a Walk Zack Butler Real-world path planning for pedestrians. In the first part, students implement A* over a map that includes roads/paths as well as elevations. In the second part, students collect actual data through walking around the real world, and the cost model is then learned via regression techniques.
Solve a Maze via Search Nate Derbinsky A natural extension to the Pacman Project's Search assignment, this assignment involves formulating maze-solving as a search problem, image processing (via OpenCV) as a step in maze-solving, as well as guided performance/quality analysis of representational parameters.
A Module on Ethical Thinking about Autonomous Vehicles in an AI Course Heidi Furey and Fred Martin Within the context of an artificial intelligence course, students are taught to identify ethical issues within technical projects and to engage in moral problem solving with regard to such issues.
Neural Networks for Face Recognition with TensorFlow Michael Guerzhoy Students build feedforward neural networks for face recognition using TensorFlow. Students then visualize the weights of the neural networks they train. The visualization allows students to understand feedforward one-hidden layer neural networks in terms of template matching, and allows students to explore overfitting.
Understanding How Recurrent Neural Networks Model Text Michael Guerzhoy and Renjie Liao Students extend and modify existing code to generate "fake English" text from an RNN. Students explore how the RNN model is able to generate text that resembles the training text by analyzing the weights and architecture of the RNN. Optionally, students train the RNN themselves using a corpus of Shakespeare plays as the training set.
Robot Juggling Ariel Anders In this assignment students learn how to control a robot to juggle a ball by programming a velocity-controlled robot, such that it causes the ball to bounce with some desired periodic motion. Specifically, students will implement a hybrid controller that uses a mirror control law within the framework of a 2D physics simulator.
Biductive Computing: Several Variants of a Universal Paradigm Joshua Eckroth This assignment allows students to practice with logic programming and constraint programming in Prolog using a paradigm we call "biductive computing.", i.e. mixing deductive and abductive computing. This assignment includes four variants of biductive computing: database querying, planning, parsing, and probabilistic reasoning.

2017  EAAI-2017: The Seventh Symposium on Educational Advances in Artificial Intelligence, San Francisco, California, USA (collocated with AAAI-17), February 5-6, 2017
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.

2016
 
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.

2014
 
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.

2013
 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 evaluation 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:

  • July 15 – August 30, 2020: Authors register on the AAAI web site
  • September 1, 2020: Electronic 200-word abstracts due at 11:59 PM UTC-12 (anywhere on earth)
  • September 9, 2020: Model AI Assignment submissions due by email at 11:59 PM UTC-12 (anywhere on earth)
  • November 3-5, 2020: Author feedback window
  • December 1, 2020: Notification of acceptance or rejection
  • February 6-7, 2021: Symposium dates

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.

Venue

The Model AI Assignment Session is a part of EAAI-21: The Eleventh Symposium on Educational Advances in Artificial Intelligence.  This will be held February 6-7, 2021 in conjunction with AAAI-21 online in Vancouver, British Columbia, Canada.

Registration: To register for EAAI-21, participants can register for AAAI-21 (https://www.aaai.org/Forms/aaai-registration-form.php) and include EAAI-21 as an additional (free) item in their registration cart. Participants may also register for EAAI alone.

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.  Advice for variations in assignment design can help other instructors create unique (i.e. not easily plagiarized) assignment experiences for their students.

We especially encourage assignments that teach or demonstrate how AI can benefit humanity.

Submissions

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. Dodds-SetOpenCV.zip), and email it to Todd Neller (tneller@gettysburg.edu) 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.