This paper describes a system to automatically mark student programs. It is a real time examination system that provides an environment for the compilation and execution of software and then marks it according to criteria and solutions provided by the examiner. It has been designed as a client server system supporting many simultaneous clients, with a modular structure that provides flexibility, allowing components to be added for new courses and kinds of questions without having to change the existing core structure. It is hoped that by sharing this software with others, a set of modules can be constructed to examine a range of programming questions. This report outlines the structure of the system. It is currently being evaluated in class assessments for software courses in network programming.