Computer Science

shaabi and raluca

Computer science is a fascinating subject, which impacts on so many aspects of our daily lives. The introduction of personal computers, the internet, mobile devices and social networking have transformed the ways in which we work, communicate and use our recreational time.

The field of computer science is concerned with the scientific study of computation and information, and the design of practical computing systems. It therefore addresses challenges that are key to our development as a society - such as how to extract knowledge from the immense amount of data that is collected by businesses, social networks, government agencies and individuals. Tackling such challenges requires a deep understanding of mathematical concepts such as logic and probability. It also requires an understanding of how to process many kinds of data, such as written text, images, video, genomic information and recorded sounds such as speech. Computer science will also impact on our lives by driving developments in robotics, virtual reality and gaming, artificial intelligence, bioinformatics, healthcare and cloud computing.

Computer science offers many opportunities for developing your skills in problem solving and creative thinking - skills that are highly prized by employers. It is no surprise, then, that our graduates secure excellent jobs with big-name employers such as Google, IBM and Accenture.

What you'll study

Theoretical foundations. Discrete mathematics; set theory, logic, proof. Continuous mathematics; linear algebra, probability, statistics. Algorithms and data structures, complexity. Theory of computation. Concurrency, process algebra and verification.

Programming. Imperative programming in Java and JavaScript. Object-oriented programming in Java, Python and Ruby. Funcational programming in Haskell. Logic programming in Prolog. Concurrent programming for the web, using Java applets and servlets, Tomcat and JBoss.


Software engineering. The software lifecycle, tools and models for software development. Notation using UML. Agile methods. Information systems, databases, and human-computer interaction. Industrial projects in which you develop software for external clients. On-the-job experience in Genesys, our unique student-run software company.

Computer systems. Computer architecture, network architecture. Mainframe computing, tutored by experts from IBM. Computer security, encryption and forensics.

Enterprise culture. The web and the internet. Mobile apps for the iPhone and Android platforms. Marketing and strategy, accounting and finance. The next generation of intelligent web-based systems and cloud services.

Digital media. 2D and 3D graphics. User interfaces. Virtual reality, games technology and the latest research on computer simulation. Novel user interfaces based on speech input and motion tracking.

Project skills. Collaborative teamwork skills. You will do at least one of Darwin (a collaborative research project) or Genesys (a group-based software development project in our student-run software company).

BSc/MComp Computer Science

This course provides you with a broad knowledge base in the field of computing, with an emphasis on the scientific study of computation. The first and second year teach the foundations. The third year lets you specialise in exciting research-led areas such as computer graphics, machine learning, and speech technology. Fourth-year students can participate in Genesys Solutions, our unique student-run software company, and/or undertake a piece of original research in our Darwin project. The course contains lots of practical content and teamwork projects at all levels.

Click here for a detailed syllabus for these programmes.