Advanced C++ course project