Degree Overview

All of our programmes start with a common core of mathematics courses and informatics courses, with increasing options for specialisation in later years depending on your interests.

Each year you will have 120 credits worth of courses spread across two semesters. Some of these credits will go into compulsory courses and the remaining can be used on optional courses. Depending on the particular programme you choose, your compulsory courses will vary, as well as the number of optional courses you can take. You can take a closer look at our compulsory courses for our 4-year Honours degrees below.

The information provided reflects the current structure and content of our programmes and courses, and may change in future years based on the needs of the School and its students.

Year 1

Our first year courses are designed to introduce you to studying mathematics at University level and introduce some of the basic principles of programming and computation. The computing courses are suitable for all levels, including complete beginners, then will progress fairly quickly.

 

The compulsory courses in your first year are almost the same across all Informatics degrees as they all require a strong foundation of both mathematics and computation. Students studying Cognitive Science or on joint degrees will have varying requirements but will take a subset of the courses listed below along with courses from their other degree area. 

 

Introduction to ComputationAn introduction to concepts of programming and computation, using Haskell functional programming language, finite-state machines and propositional logic.
Introduction to Object Orientated ProgrammingA conceptual and practical introduction to object-oriented programming and software engineering practices. As well as providing a grounding in the use of Java, the course will cover general principles of programming in imperative and object-oriented frameworks.
Introduction to Linear AlgebraYou will learn more about vectors, matrices and systems of linear equations. You may have met some of the early ideas at school but throughout the course you will learn about new abstract concepts. You will use the mathematical ideas encountered in practical contexts but also lay the foundations for your study in subsequent years. 
Calculus and its ApplicationsCalculus is the most fundamental tool in the study of mathematics and is vital for many of its applications including computation. This course will revise some of the calculus you studied at school and develop it further but will treat it with the rigour required at university level. 

You will develop your knowledge by exploring more advanced programming concepts and data structures as well as some of the ethics behind computing in the real world. 

Students on most Informatics degrees are required to take the following compulsory courses in Year 2. If you are studying Cognitive Science or are on a joint degree, you may take fewer of courses listed below, but instead take some courses in your joint degree area.

Introduction to Computer Systems You will learn about the design, implementation and engineering of Digital computer systems. You will create programmes replicating the behaviour of basic computer systems using C programming language and assembly language.
Discrete Mathematics and ProbabilityThe first part of this course covers fundamental topics in discrete mathematics that underline many areas of computer science and presents standard mathematical reasoning and proof techniques. The second part of this course covers discrete and continuous probability theory, including standard definitions and commonly used distributions.
Foundations of Data ScienceThis course introduces you to a core set of knowledge, skills and ethical principles and ways of thinking that are needed for data science and machine learning using Python. The mathematics you studied in Year 1 and will study in Year 2 are instrumental in helping you understand many of the statistical techniques used in this field.
Introduction to Algorithms and Data StructuresYou will learn some of the standard algorithms and data structures that underlie all areas of computation and put them into practice through various Python based courseworks. You will also apply some mathematical concepts to analyse both the theoretical complexity of algorithms and their practical behaviour.
Software Engineering and Professional PracticeTeaches the practice of small team software development, equipping you to participate in a modern tech company or a software-dependent research team in accord with your professional and legal obligations. You will gain experience developing a software system from scratch using some of the key concepts of Java and object-oriented programming studied in Year 1.

Your studies will become more focused and you will have more choice in selecting specialised courses according to your interests. 

Students on most Informatics degrees are required to take the following compulsory courses. If you are studying Cognitive Science or are on a joint degree, you will normally do a subset of these.

Informatics Large PracticalThe Informatics Large Practical exposes students to the problems that arise with the design and implementation of large-scale software systems, and to methods of coping with such problems using Java.
Professional IssuesThe aim of the course is to highlight and allow students to develop and understanding of key aspects of the wider context in which their practice as Informatics professional will occur.
Computer SecurityComputer Security is concerned with the protection of computer systems and their data from threats which may compromise integrity, avialability, or confidentiality; the focus is on threats of a malicious nature rather than accidental. This course uses Python and assembly language. 

You will have the opportunity to specialise, having covered much core material in previous years. Specialisation is available in the form of a wide range of course options and through the project/dissertation/thesis, which is undertaken on an individual's preferred topic, agreed with a supervisor. 

The Honours Project will be your only compulsory course for most Informatics degrees other than Cognitive Science (BSc) and joint honours degrees with other Schools.

Honours ProjectThis is a major project and is intended to allow students to demostrate their ability to organise and carry out a substantial piece of work. The project is conducted individually by you, but will be under the supervision of a member of teaching staff. The projects specification is usually provided by a member of staff, but you may be able to develop your own specification if approved by a member of staff.

Optional Courses

The rest of your credits can be spent on optional courses and the number of optional courses you can take will depend on the number of credits you have remaining. These can either be outside subjects or optional Informatics courses. Outside courses can be chosen from across the University, provided the timetable fits. Popular outside choices include, but are not limited to, physics, mathematics, economics, business, philosophy and languages.  

Degree Regulations and Programmes of Study (DRPS)

For a more detailed look at your specific programme and course descriptions, including a detailed breakdown on what compulsory and optional courses are available, delivery information, and assessment information and learning outcomes, be sure to look at the Degree Regulations and Programmes of Study (DRPS).

 

Please note: the above links are for the current academic year and are subject to change in future years.