This course is an integrated four year undergraduate Masters degree. It will enable you to gain a balanced understanding of the major areas of computer science with sufficient flexibility each year to select areas of study that will develop your knowledge, experience and skills appropriate to a range of computing-based careers. The focus of the course is on the theoretical and technical foundations of computing. The course encourages a general and abstract understanding of the underlying principles of computing with an emphasis on programming, data structures and algorithms.