There are different objectives when working on this kind of project. In order to well understand the problem, it is very important to proceed of a good investigation of what has been already done and what was a success. Then, one not so small task is to implement the game of GO in C++. This task has to be well thought because the algorithm based on Monte-Carlo will run a big number of entire games. With a bad implementation of this engine, it could takes twice more time to run a game (or more). With this engine ready, the next step would be the implementation the UCT method to build the tree and the Monte-Carlo method to evaluate a given position of the Goban. Then, the last step would be the improvement of the methods used in order to compete with other famous Go Computer.