Year 1
You will undertake five computer science modules, which cover programming, the characteristics of computers and computing systems, and the mathematical foundations of the subject. You will also be introduced to the concept and philosophy of computational thinking and explore cutting-edge technological applications of recent research. You will undertake an elective module, which will be from elsewhere within the Faculty or University.
Once you complete your first year you will have had a thorough introduction to the fundamentals of computer science and to the principles, practices and methodologies that make computer science unique to a scientific subject. You will also have had a glimpse at aspects of computer science research that have enabled major technological advances in society.
Compulsory modules:
Year 2
You will study six modules covering a core set of topics. One module Software Engineering involves a team software development project and enables you to usually work with external organisations and gain practical software development experience.
Other compulsory topics include, for example, aspects of artificial intelligence including bias, machine learning, data science, cybersecurity, computer networks, parallel and distributed computing, concurrency, data structures, algorithms and complexity, image processing, different programming paradigms, systems programming, security, human-computer interaction and computer graphics.
The topics taken in the second year will prepare you with an excellent grounding in a wide range of fundamental subjects within computer science, ready for subsequent specialisation in your final third year. By the end of the second year, you should be in a position to make informed judgments as to which particular aspects of the subject you might wish to focus on.
Compulsory modules:
-
Networks and Systems
-
Programming Paradigms
-
Software Engineering
-
Artificial Intelligence
-
Data Science
-
Theory of Computation.
Year 3
A key element of the fourth year is the advanced project (which you spend half of your time on), and the preparation for it begins already in the third year. In the compulsory project preparation module, you will work on essential research skills including researching a topic, writing, and presenting, and will begin preparation specific to your own advanced project.
In the fourth year, the project will be undertaken under the direct supervision of a member of staff and gives you the opportunity to tackle a specific computing task in much greater depth than is possible for other modules. In the third year, you will work on developing the project from a proposed theme. You are given a considerable amount of choice as to the subject of your projects; indeed, you can suggest specific projects yourself. In addition to preparing for your project, you get to choose the other modules that you undertake in the third year.
Year 4
You will now undertake the advanced project that you prepared for in Year 3 (you will spend half of your time on the project). It is possible that the resulting research might be published in a journal or at a conference, possibly as a prelude to a postgraduate degree in Computer Science. Just as in the third year, you will get to choose the other modules that you undertake in the fourth year; again, just as in the third year, there is a range of modules offered, including more advanced versions of some of the third-year modules and further topics which have, in recent years, included blockchain, cryptocurrencies, natural language processing, learning analytics, probabilistic methods, network analysis, and automated reasoning.