This project describes the design and implementation of an object-oriented chess-playing program, based on current software engineering practice, recent advances, including the MTD(f) search algorithm, and time-honored techniques perfected by artificial intelligence pioneers since the late 1960's, like the transposition table, the history heuristic and an evaluation function slanted towards material advantage. Where appropriate, a comparative survey of alternative algorithms not implemented in this project is also included.