Every year at my university, the Introduction to AI course (3rd year course) requires students to create a chess program from scratch along with a paper, and we covered a chapter about adversarial search in lecture so that students have enough knowledge to do it.
For us, the project can be done either on our own or with another (obviously expecting a better program if done with a partner, such as deeper ply, etc.).
Because the Computer Graphics course is also a 3rd year course, students are allowed to combine the final project of that with the final project of the AI course.
Since I happen to be in my 3rd year and am taking both courses (which have now ended with the first semester), I teamed up with a friend who's also in both courses and we've been working on the program since the end of our exams (which was around Dec. 21) and it's due on Jan. 11.
It's completely doable within a month (especially as a graduate project). We're making a 3d chess program thus it requires more work than just a chess engine of course.
The hardest parts will be deciding on a board representation, implementing all the rules (en passant, castling, promotion, etc.), creating a heuristic function, and the game tree (which is usually done with alpha-beta pruning).
Here is the site which we're using to document progress, and later host the code and the paper once we're done (it's a bit empty right now). http://sites.google.com/site/chessatbrock/