COMP3004 Coursework