Project One: Eight queens puzzle

The eight queens puzzle is the problem of placing eight chess queens on an 8×8 chessboard such that none of them are able to capture any other using the standard chess queen's moves. The queens must be placed in such a way that no two queens would be able to attack each other. Thus, a solution requires that no two queens share the same row, column, or diagonal.

Project Two: Gobang contest

Task: The students are requested to develop a gobang computer program. The requirements and interfaces are provided in another file of interface specification. Students can work in team with maximum three students.

Contest: Two programs developed by different teams are run in one computer; each move is decided by the computer programs. Two programs play in the interleave way. The winner will give the highest score for the course project.

Submitted materials: Source codes, the executable program and design specification. The design specification file should include system structures and the detailed descriptions of the search methods used in the program.

Deadline: Submit your results before June 30, 2010.

1. Flow Chart  English
2. Interface  中文  English

Project Three: Go contest

In this project, your team will write a computer program that plays Go and beat the other team. Your program will use GTP (Go Text Protocol) to communicate and play with other programs.

Learn GTP
GTP is a famous text based protocol for Go programming which is implemented by many of the most popular Go applications in the world. You can read the documents of its specification to learn this protocol.

Server, Engine and Sample Code
There're two kinds of programs engaged in GTP: the server and the engine. Server is the platform on which two competitors play Go against each other. Engine is the AI competitor who plays against a human or another engine:

    Engine A <--> Server <--> Engine B
    (They communicate via GTP)

In our project's contest, we will hold engine vs. engine games to decide your team's performance, the server is GoGui which will be set up by TA. Your task is to write your engine and beat other teams' engines. You may get a good sample if you read the source code of Brown, a simple engine which plays random moves in the game. The gtp.c and gtp.h files in Brown contain the generic codes for GTP-based application and can be used in your engine.