How we teach is as (if not more) important as what we teach.
We believe that the best way of teaching you computer science is to make you practise what you learn. This is why our teaching of programming is very much 'hands-on'. We do not assume that, when you join us, you know how to program, but we offer you two laboratory-based courses – one on games and the other on robotics – during which you develop, at your own level, real applications using all your imagination and creativity. You learn a lot and you also have lots of fun. For that purpose, we have a fully-equipped lab: the latest additions are Gadgeteer kits donated by Microsoft. Lego also visits regularly and award prizes to the best robot projects.
Software engineering is also very much hands-on. You practise Scrum-based Agile Software Development using state-of-the-art tools in a team project, thus developing key skills that employers value very highly. You use Subversion, JUnit testing, and other techniques that most companies use for software development.
Otherwise, teaching and learning is mostly by means of lectures, small-group tutorials, practical and problem classes, supervised computing laboratory work, group work and coursework. Students support and build on these sessions through private study, guided independent study and research in the year-three independent project.
For lecture-based course units, assessment is usually by two- or three- hour examination at the end of the year in which the module is studied. Many course units are also examined by coursework, and students complete assessed project reports and oral presentations as well as the final stage project report.