Model Assignment Description - ConnectFour

Summary

We designed a variation of ConnectFour game for students to understand the scope of adversarial and stochastic games.
Throughout this assignment, students will implement alpha-beta pruning and expectimax search algorithms and are provided with a GUI to test the performance of their algorithms.

Topics

adversarial games
stochastic games
minimax algorithm
expectimax algorithm

Audience

The target audience of this assignment is undergraduate computer science/engineering students taking artificial intelligence course.
The prerequisites for the course include programming (in Java and/or Python), data structures, algorithms, and probabilities and statistics courses.

Difficulty Medium
Strengths Adoptable, modular, interactive, effective in showing the differences and similarities between adversarial games and stochastic games
Weaknesses The GUI can be improved
Dependencies Python programming language
Variables

This assignment is easily adoptable by instructors and is implemented in a modular structure.
Instructors will have the flexibility of assigning any of the two modules in the assignment (AIPlayer playing against a RandomPlayer (stochastic agent) or a HumanPlayer (adversary agent)).
The assignment also provides the structure that can be modified by instructors to work with any other board game.

Assignment PDF Link
Starter Code Link