In the first year you'll be taught how computers work from top to bottom and get a grounding in digital electronics (theoretical and practical). You'll also meet two programming languages (don't worry: most of our students haven't programmed before); get a grounding in the mathematical underpinnings of computing and the art of software design; and take a good look at how to evaluate and design algorithms (essentially puzzle solving). In a typical week, you might have roughly 15 lectures and up to five supervisions.
In the first year, you will also take practical classes. Each week the Computer Laboratory provides computer facilities and demonstrators to help you through a series of assessed exercises across a broad range of topics. This includes hands-on programming experience in ML and Java, as well as building a series of electrical circuits in the hardware practicals. Each practical contains a core set of tasks that everyone completes as well as a few optional exercises to challenge you if you found the core task easy.
The group project is one of the highlights of the second year. The year group is split into small teams, each provided with an exciting CS project to complete as well as a ‘customer’ for the end product. These are very popular with industry, who invariably provide us with the project and also play the role of customer. It’s not easy work, but our students typically love this aspect of the degree and we are always staggered by what they can achieve in such a short time.
The third year provides a large set of courses to choose from, each letting you explore specific areas in depth with an expert in that field. You also get to choose your own project to work on, and a supervisor will give you one-to-one help to achieve your goals.
The fourth year is designed to support students who are considering a career in either academic or industrial research.