School of Informatics typically offers to its students 60 different undergraduate courses.
Theory and application
Our courses range from the strong technological subjects to the strong application subjects.
Example theoretical courses:
Algorithmic Game Theory and Its Applications - this course aims to bring together as a coherent body of knowledge the game theoretic algorithms & models that underpin several flourishing subjects at the intersection of computer science, economics and e-commerce, & AI.
Automated Reasoning - the general aim of the course is to describe how reasoning can be modelled using computers. Its more specific aim is to provide a route into more advanced uses of theorem proving in order to solve problems in mathematics and formal verification.
Blockchains and Distributed Ledgers - blockchain technology and distributed ledgers have been hailed as a turning point in scaling information technology services at a global level. Although the digital currency Bitcoin is the best-known Blockchain application today, the technology is set to play a much broader role in cyber security innovation. This course is an introduction to the design and analysis of blockchain systems and distributed ledgers.
Extreme Computing - this course deals with the principles, systems and algorithms behind Web-scale problem solving. This touches upon the technologies and techniques used by companies such as Google, Facebook, Amazon, and Microsoft, using warehouse-scale computing and massive datasets.
Introduction to Quantum Computing - the aim of this course is to give students a basic overview of the rapidly growing field of Quantum Computation (QC).
Example application courses:
Computing in the Classroom - in this course students work with teachers to design appropriate teaching material and practical projects for computing education in schools. In the process, students gain a critical understanding of the theory and practice of computer science pedagogy as appropriate for different stages of school learners. The course offers an in-depth, sustained experience in the classroom to students contemplating a career in education.
Computer Animation & Visualisation - two major topics of Visualisation and Computer Animation are covered in this course: visualization part of the course is very practical. Techniques are illustrated with applications in the cientific, engineering and medical domains. Information visualisation and visual data-mining are also covered. The computer animation part focuses on technological aspects for 3D computer animation for applications such as games and virtual environments. Techniques of character animation such as synthesizing their body movements, facial expressions and skin movements, and behaviors in crowded scenes are included as well.
Human-Computer Interaction - the study of Human-Computer Interaction (HCI) seeks to combine perspectives and methods of enquiry drawn from disciplines such as Interaction Design, Psychology and Sociology with the tools, techniques and technologies of Computer Science to create an approach to design which is both relevant and practical.
Master Level Courses
There are another 30 Masters level courses also available for fourth and fifth year student with special permissions.
In addition to these courses, third year students take a large practical course, the System Design Project which is intended to give students practical experience of building a large scale system and working as members of a team. The project involves applying and combining material from several courses to complete a complex design and implementation task. At the end of course each group demonstrates its implemented system and gives a formal presentation to an audience of the students, supervisors, and visitors from industry.
All fourth year students have an individual project supervised by an academic staff member (or a two year project for MInf students).