One of CS440’s many AI projects. Two agents play a turn-based capture game on a grid; the AI uses Minimax with alpha-beta pruning to look several plies ahead and pick the move that maximizes its score under the assumption the opponent plays optimally. Alpha-beta pruning is the classic optimization that lets you skip branches of the search tree provably no better than ones already evaluated — the same idea that powers chess engines, just at toy scale.
I wrapped it in HTML and JavaScript to give it a real front-end instead of a console. Most of my course projects ran in a terminal, so this was a small detour into making the AI’s decisions visible move-by-move.