As part of the degree, students undetake a year-long placement in industry.
Are you the 'go to' person to help with computer problems? Are you fascinated by computer back end systems and front end applications? Have you tried different computer languages to invent your own interface? This programme can give you a solid foundation towards a highly in demand subject area, giving you programme language, data management, understanding of different systems, games, robotics and problem solving. Additionally you can apply your knowledge to help a business thrive.
This programme is studied on campus.
Computing degree programmes at Aberdeen are influenced by our internationally recognised research in artificial intelligence and advanced web technologies. The programme provides a breadth of coverage which encompasses both the theory as well as the practical elements of Computing. The highly relevant curriculum and strong links with industry at local, national and international levels, allows graduates an advantage in a competitive job market.
A degree in Computing is taught via a selection of compulsory and optional courses to enhance your learning and prepare you for a future career or further study. In each year you will take courses adding up to 120 credits. Depending on the number of compulsory and optional courses offered by your degree, you can also choose other eligible courses which fit your timetable.
Students will be exposed to the basic principles of computer programming, e.g. fundamental programming concepts, algorithms, and maths (e.g. logic, set theory, graphs). The course consists of lectures where the principles are systematically developed; as the course does not presuppose knowledge of these principles, we start from basic intuitions. In addition to the lectures, there will be weekly practicals to work with the concepts. Understanding the principles behind computer programming gives one the framework to learn new programming concepts, adapt to changing circumstances, and engage in theoretical research in Computing Science.
This course is aimed at people who want to learn the basics about the major problems that need to be solved to enable computers to be more useful companions in our daily lives, e.g. to get them to be able to understand our normal speech when we talk to them, or to be able to see and recognise the important objects in the world, or to be able to act as a helper in the home, like a robotic maid that could cook and clean.
Beginning with digital logic gates and progressing to the design of combinational and sequential circuits, this course use these fundamental building blocks as the basis for what follows: the design of an actual MIPS microprocessor. In addition, students will get hands on experience on programming Intel 8086 assembly language which is the inner language spoken by the processor. By the end of the course, students will have a top-to-down understanding of how a micropressor works. The course is taught without prerequisites; students are taught with plenty of exercises from lectures, tutorials, practical and tests every week.
This course, which is prescribed for level 1 students and optional for level 2 students, is studied entirely online and covers topics relating to careers and employability, equality and diversity and health, safety and wellbeing. During the course you will learn about the Aberdeen Graduate Attributes, how they are relevant to you and the opportunities available to develop your skills and attributes alongside your University studies. You will also gain an understanding of equality and diversity and health, safety and wellbeing issues. Successful completion of this course will be recorded on your Enhanced Transcript as ‘Achieved’ (non-completion will be recorded as ‘Not Achieved’). The course takes approximately 3 hours to complete and can be taken in one sitting, or spread across a number of weeks and it will be available to you throughout the academic year.This course, which is prescribed for level 1 students and optional for level 2 students and above, is studied entirely online and covers topics relating to careers and employability, equality and diversity and health, safety and wellbeing. During the course you will learn about the Aberdeen Graduate Attributes, how they are relevant to you and the opportunities available to develop your skills and attributes alongside your University studies. You will also gain an understanding of equality and diversity and health, safety and wellbeing issues. Successful completion of this course will be recorded on your Enhanced Transcript as ‘Achieved’ (non-completion will be recorded as ‘Not Achieved’). The course takes approximately 3 hours to complete and can be taken in one sitting, or spread across a number of weeks and it will be available to you throughout the academic year
Select one of the following
Plus, select a further 60 credit points from courses of choice
This course will introduce you to programming and software development for the Web using the object-oriented scripting language Ruby. It will teach you how to develop software that underpins database-driven interactive Web and cloud applications, and give you a broad knowledge of the basics needed for professional software development such as testing and version control. The course uses examples based on real world applications. You will also learn a limited range of core theoretical concepts such as structured programming, variable declaration, conditional statements, iterative constructs, object-oriented programming and meta-programming.
This course builds on the basic programming knowledge already acquired in the first half-session and gears students up for going on to a career involving programming. It serves as a bridge between the basic introductory programming, and the full fledged software engineering that students will undertake in their level 3 software engineering project.
The emphasis here is on “quality programming in the small”, through various mini projects.
This course will be of interest to anyone who wishes to learn to design and query databases using MSAccess, MySQL and MongoDB. The course aims to teach the material using case studies from real-world applications both in lectures and lab classes. You will develop a broad knowledge about database connectivity using JDBC, PHP and Ruby. You will also learn core theoretical concepts such as relational algebra, file organisation and indexing. At the end of this course you will be able to design and build Web and cloud-based databases and have a broad awareness and understanding of how database-driven applications operate.
This course provides a basic-level introduction to some areas of Discrete Mathematics that are of particular relevance to Computing. The course starts with a simple introduction to formal languages (starting from Regular Expressions and Finite-State Automata); it continues with an introduction to Predicate Logic (assuming basic familiarity with Propositional Logic); it concludes with an introduction to probability, focussing on Bayesian reasoning.
This course provides the knowledge needed to understand, design and compare algorithms. By the end of the course, a student should be able to create or adapt algorithms to solve problems, determine an algorithm's efficiency, and be able to implement it. The course also introduces the student to a variety of widely used algorithms and algorithm creation techniques, applicable to a range of domains. The course will introduce students to concepts such as pseudo-code and computational complexity, and make use of proof techniques as well as the student’s programming skills.
This course looks at why a computer system that interacts with human beings needs to be usable. It covers a set of techniques that allow usability to be taken into account when a system is designed and implemented, and also a set of techniques to assess whether usability has been achieved. Weekly practical sessions allow students to practice these techniques. The assessed coursework (which is normally carried out by groups of students) gives an opportunity to go through the design process for a concrete computer system, with a particular focus on ensuring usability.
This course will introduce the fundamental features of modern programming languages and to equip students with necessary skills for the critical evaluation of existing and future programming languages. Additionally, students study the formal representation of syntax and semantics of programming languages, as well as mechanisms for the lexical and syntactic analysis of programs. Students will be exposed to programming languages from three specific paradigms, namely, object-oriented, functional and logic programming.
This course provides a basic-level introduction to computability via the notion of a Turing Machine. Some familiarity with imperative programming (e.g., in JAVA) and with the basics of set theory (e.g., the notion of a bijection) is assumed. The Functional language Haskell (familiar from earlier courses, including CS2013) is used to explore the concepts of infinity, recognisability and decidability, which are crucial to computability.
This course discusses core concepts and architectures of operating systems, in particular the management of processes, memory and storage structures. Students will learn about the scheduling and operation of processes and threads, problems of concurrency and means to avoid race conditions and deadlock situations. The course will discuss virtual memory management, file systems and issues of security and recovery. In weekly practical session, students will gain a deeper understanding of operating system concepts with verious programming exercises.
Students will develop large commercial and industrial software systems as a team-based effort that puts technical quality at centre stage. The module will focus on the early stage of software development, encompassing team building, requirements specification, architectural and detailed design, and software construction. Groupwork (where each team of students will develop a system selected using a business planning exercise) will guide the software engineering learning process. Teams will be encouraged to have an active, agile approach to problem solving through the guided study, evaluation and integration of practically relevant software engineering concepts, methods, and tools.
In this module, which is the follow-up of CS3028, student will focus on the team-based development of a previously specified, designed, and concept-proofed software system. Each team will build their product to industrial-strength quality standards following an agile process and applying the software engineering concepts, methods, and tools introduced in CS3028. The individual learning and practical experience acquisition process will be integrated by talks and seminars given by industrial stakeholders on topics of software engineering relevance, by guided student focus on professional issues, and by student presentations on selected technical topics.
Select three of the following courses:
Plus, select a further 15 credit points from one course of choice
Knowledge Representation (KR) is concerned with how knowledge can be represented symbolically and manipulated in an automated way by reasoning programs. In fact, KR has long been considered central to AI because it is a significant factor in determining the success of knowledge-based systems.
This course describes the formalisation of knowledge and its use in knowledge-based systems. It follows the whole "life-cycle" of knowledge, from the initial identification of relevant expertise, through its capture, representation (in ontology and /or rule languages), use (based on reasoning), evaluation, and reuse.
This course provides insight into the business reasons for large software systems such as loyalty card systems, backend systems integrating firms and their suppliers and larges systems that integrate payroll, finance and operational parts of a business. You also learn the entrepreneurial aspects of business during the practical sessions where you explore and develop your own business application idea using service design and lean startup approaches centred around customer development, which you will find useful in any future work. This course is open to anyone across the university and requires no programming experience.
This course surveys many of the core problems of robotics, and their solutions. By the end of the course, a student should be able to program robots that move in predictable ways, overcoming environmental uncertainties; that can interpret their surroundings; and that can plan their motion in order to achieve goals. Topics covered include robot motion; image processing and computer vision; localisation methods and computer based search and planning. Apart from using programming skills to implement robot algorithms, the students will learn how to mathematically model robots in order to understand why robot algorithms are designed as they are.
This course discusses core concepts of distributed systems, such as programming with distributed objects, multiple threads of control, multi-tire client-server systems, transactions and concurrency control, distributed transactions and commit protocols, and fault-tolerant systems. The course also discusses aspects of security, such as cryptography, authentication, digital signatures and certificates, SSL etc. Weekly practical sessions cover a set of techniques for the implementation of distributed system concepts such as programming with remote object invocation, thread management and socket communication.
Students can gain work experience in industrial, business or public sector organisations by taking up a 1-year placement / internship. Students are required to submit monthy reports as well as a final thesis summarising their work experience. Students who successfully complete such a placement will earn an advanced undergraduate degree (MSci in Computing Science with Industrial Placement).
We will endeavour to make all course options available; however, these may be subject to timetabling and other constraints. Please see our InfoHub pages for further information.
All courses are supported by web-based material, usually including full course notes. Lectures in the first two years commonly include live computer demonstrations. In third and fifth year, as well as completing a project, students enjoy a variety of lectures and practicals. Assessment is by a mixture of coursework and examination.
Students are assessed by any combination of three assessment methods:
The exact mix of these methods differs between subject areas, year of study and individual courses.
Honours projects are typically assessed on the basis of a written dissertation.
SQA Highers - AABB*
A Levels - BBB*
IB - 32 points, including 5,5,5 at HL*
ILC - 5H with 3 at H2 AND 2 at H3 OR AAABB, obtained in a single sitting. (B must be at B2 or above)*
*SQA Higher or GCE A Level or equivalent at grade B or better in Mathematics is required.
Advanced entry is considered on an individual basis depending on prior qualifications and experience. Applicants wishing to be considered for advanced entry should contact directly the Director of Studies (Admissions) at our Student Recruitment and Admissions Service office.
Further detailed entry requirements for Arts and Social Sciences degrees.
To study for a degree at the University of Aberdeen it is essential that you can speak, understand, read, and write English fluently. Read more about specific English Language requirements here.
You will be classified as one of the fee categories below.
For international students (all non-EU students) entering in 2017/18, the 2017/18 tuition fee rate will apply to all years of study; however, most international students will be eligible for a fee waiver in their final year via the International Undergraduate Scholarship.
Most RUK students (England, Wales and Northern Ireland) on a four year honours degree will be eligible for a full-fees waiver in their final year. Scholarships and other sources of funding are also available.
|Home / EU||£1,820|
|Students Admitted in 2018/19 Academic Year|
|Students Admitted in 2018/19 Academic Year|
View all funding options in our Funding Database.
Our next Open Day will be onFind out More
Our degrees develop an ability to understand new and complex computer systems and to communicate this to others. Our graduates can choose from a variety of employment opportunities in industry, commerce or research. Some of the organisations which employ our recent computing graduates include: Amazon, IBM, BP, Conoco, Hewlett Packard, EDS, Logica CMG, SAIC, British Telecom, QinetiQ, Microsoft, Prudential, the Health Service, and Local Councils.
Employment prospects for our graduates are excellent and, furthermore, the entrepreneurial spirit of some of our graduates has led them to establishing successful companies.
The British Computer Society (BCS) recognises our Single Honours degrees for professional membership without additional examinations.
You will be taught by a range of experts including professors, lecturers, teaching fellows and postgraduate tutors. Staff changes will occur from time to time; please see our InfoHub pages for further information.
As part of the degree, students undetake a year-long placement in industry.
The Aberdeen Software Factory is a student-run software house. Students can gain experience working on larger software projects and benefit from work experience, while clients will benefit from a flexible, cost effective solution to suit their needs.Find out more
Unistats draws together comparable information in areas students have identified as important in making decisions about what and where to study. The core information it contains is called the Key Information Set.
You can compare these and other data for different degree programmes in which you are interested.