Introduction

The MSci is an integrated Master's programme that adds a year-long placement in industry to the degree.

This programme is studied on campus.

Helping doctors to treat a newborn baby, analysing the huge volume of data from the human genome, tracking jet engines in flight and ensuring that maintenance is planned accordingly, and making online shopping easier and more secure - these are just some of the challenges that computer scientists rise to every day by using their technical analysis, design and programming skills that they learn at university to create better and more intelligent tools.

The highly relevant curriculum, along with strong industry links, ensures that computing programme graduates have an advantage in a competitive market place. The British Computer Society (BCS) recognises our single Honours degrees for professional membership without additional examinations. The employment record of our graduates is excellent with the vast majority entering occupations of their choice within three months of graduation, in sectors as diverse as banking, pharmaceuticals and computer game development.

With us you will learn about cutting edge topics, such as artificial intelligence, from your first year. You will also gain a great mix of theory and practical skills. This is possible in part because of an excellent staff-student ratio and strong record of supporting students find work placements.

Degree marketing image

Key Programme Information

At a Glance

Learning Mode
On Campus Learning
Degree Qualification
MSci
Duration
60 months
Study Mode
Full Time
Start Month
September
UCAS Code
G401

What You'll Study

Year 1

Year 1

Compulsory Courses

Computer Programming and Principles (CS1022) - 15 Credit Points

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.

View detailed information about this course

Computer Architecture (CS1520) - 15 Credit Points

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.

View detailed information about this course

Grand Challenges of Computing and Artificial Intelligence (CS1024) - 15 Credit Points

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.

View detailed information about this course

Professional Skills Part 1 (PD1001)

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

View detailed information about this course

Optional Courses

Select one of the following

  • Web Application Development (CS1025)
  • Web Technology (CS1522)
  • Object-Oriented programming (CS1527)

Plus, select a further 60 credit points from courses of choice

Web Application Development (CS1025) - 15 Credit Points

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.

View detailed information about this course

Web Technology (CS1522) - 15 Credit Points

This course will be of interest to anyone who wishes to develop a Web presence. It will touch on several of the fundamental technologies associated with the Web and will give you the opportunity to build an interactive Website with the knowledge gleaned. In addition to developing a broad knowledge of the principles associated with good Web design and Website management and accessibility, you will enhance your understanding of a limited range of core technologies including XHTML, CSS, JavaScript, DOM and PHP.

View detailed information about this course

Object Oriented Programming (CS1527) - 15 Credit Points

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.

View detailed information about this course

Year 2

Year 2

Compulsory Courses

Data Management (CS2015) - 15 Credit Points

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.

View detailed information about this course

Human Computer Interaction (CS2506) - 15 Credit Points

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.

View detailed information about this course

Modern Programming Languages (CS2510) - 15 Credit Points

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.

View detailed information about this course

Algorithmic Problem Solving (CS2521) - 15 Credit Points

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.

View detailed information about this course

Optional Courses

Progression from First Year:

  • Mathematics for Computing Science (CS2013)

Direct Entrant:

  • Computer Programming and Principles (CS1022)

Plus, select one of the following

  • Computer Architecture (CS1520)
  • Human-Computer Interaction (CS2506)

Plus, select a further 45 credit points from courses of choice

Mathematics for Computing Science (CS2013) - 15 Credit Points

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.

View detailed information about this course

Computer Programming and Principles (CS1022) - 15 Credit Points

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.

View detailed information about this course

Computer Architecture (CS1520) - 15 Credit Points

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.

View detailed information about this course

Human Computer Interaction (CS2506) - 15 Credit Points

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.

View detailed information about this course

Year 3

Year 3

Compulsory Courses

Operating Systems (CS3026) - 15 Credit Points

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.

View detailed information about this course

Languages and Computability (CS3518) - 15 Credit Points

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.

View detailed information about this course

Principles of Software Engineering (CS3028) - 15 Credit Points

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.

View detailed information about this course

Software Engineering and Professional Practice (CS3528) - 15 Credit Points

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.

View detailed information about this course

Optional Courses

Select three of the following

  • Knowledge-Based Systems (CS3025)
  • Robotics (CS3027)
  • Distributed Systems and Security (CS3524)
  • Enterprise Computing and Business (CS3525)

Plus, select a further 15 credit points from courses of choice

Robotics (CS3027) - 15 Credit Points

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.

View detailed information about this course

Knowledge Based Systems (CS3025) - 15 Credit Points

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.

View detailed information about this course

Enterprise Computing and Business (CS3525) - 15 Credit Points

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.

View detailed information about this course

Distributed Systems and Security (CS3524) - 15 Credit Points

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.

View detailed information about this course

Year 4

Year 4

Compulsory Courses

Business and Industrial Applications of IT (CS50IP) - 120 Credit Points

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).

View detailed information about this course

Year 5

Year 5

Compulsory Courses

Research Methods (CS4040) - 15 Credit Points

Does this new algorithm improve query performance? Will this protocol ensure our system is robust to attack? How does response time vary with server load? Understanding behaviour – the performance of a task by a computing system in an environment – is critical in both industrial and scientific practice. In this course, you will conduct an individual research project into the behaviour of a computing system. You will develop knowledge and understanding of rigorous methods to: explore computing system behaviour; identify questions about behaviour; design experiments to answer those questions; analyse experimental results; and report on the outcomes of your research.

View detailed information about this course

Single Honours Computing Project (CS4527) - 45 Credit Points

Consists of a supervised project which provides experience of investigating a real problem in computing science, or a computing application/technology. Presenting the results obtained is an integral part of the investigation.

View detailed information about this course

Optional Courses

  • Select a further 45 credit points from level 4 Computing courses
  • Select a further 15 credit points from courses of choice

Course Availability

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.

How You'll Study

Learning Methods

  • Group Projects
  • Individual Projects
  • Lectures
  • Research
  • Seminars
  • Tutorials
  • Workshops

Assessment Methods

Students are assessed by any combination of three assessment methods:

  • coursework such as essays and reports completed throughout the course;
  • practical assessments of the skills and competencies learnt on the course; and
  • written examinations at the end of each course.

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.

Why Study Computing Science?

Why Computing

  • Flexible degrees available, including; Single/Joint Honours BSc, MA or MSci degrees.
  • Extra-curricular activities - Studying Computing is not just about programming. We run a variety of social and professional events regularly including; ACM programming Contest, Code The City and Global Service Jam.
  • Aberdeen Software Factory - students get paid to work on client projects as a means to develop their software development skills.
  • We run a hugely successful Computing Student Society, where students socialise and enhance their communication skills, and knowledge of hardware and software.
  • Students are given the opportunity to develop their transferable skills and abilities as independent learners.
  • Prizes for academic excellence are awarded in each year of study. These are sponsored by O’Reilly, the British Computer Society, CGI, EDS and Amazon. Projects are often successfully entered for national competition.
  • Industrial Placements – about 50% of our students took part in placements, receiving very good feedback from the employers.
  • We are a very close knit department of students and staff and you will be given the freedom to develop your skills and learning whilst being supported along the way.
  • Our research expertise in Data Science and Data Analysis is at its strongest when we work in close partnership with other disciplines, such as Physics, Maths, Geography, Health and Biology.
  • The Department of Computing Science is a thriving centre of teaching and research, particularly in areas related to Artificial Intelligence and Knowledge-Based Information Management.

Entry Requirements

Qualifications

SQA Highers - AABB*
A Levels - BBB*
IB - 32 points, 5 at HL*
ILC - AAABB (B1 or B2 required)*

*SQA Higher or GCE A Level or equivalent at grade B or above in Mathematics is required and good performance in one other science subject.

Advanced Entry - Advanced Highers ABB or A Levels ABB, or IB 34 points (6 at HL), including a science subject and preferably Mathematics

Further detailed entry requirements for Sciences degrees.

English Language Requirements

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.

Fees and Funding

You will be classified as one of the fee categories below.

Fee Waiver

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.

Fee information
Fee category Cost
Home / EU £1,820
All Students
RUK £9,250
Students Admitted in 2018/19 Academic Year
International Students £18,400
Students Admitted in 2018/19 Academic Year

Additional Fees

  • In exceptional circumstances there may be additional fees associated with specialist courses, for example field trips. Any additional fees for a course can be found in our Catalogue of Courses.
  • For more information about tuition fees for this programme, including payment plans and our refund policy, please visit our InfoHub Tuition Fees page.

Our Funding Database

View all funding options in our Funding Database.

Careers

There are many opportunities at the University of Aberdeen to develop your knowledge, gain experience and build a competitive set of skills to enhance your employability. This is essential for your future career success. The Careers Service can help you to plan your career and support your choices throughout your time with us, from first to final year – and beyond.

What our Alumni Say

  • Vlad-Tudor Marchis
    Vlad-Tudor Marchis, at

    Vlad-Tudor Marchis

    Graduated
    My placement year with Wincom was more than I could have hoped for. On top of all this, I have gotten the opportunity to return and work there after graduation, so I can very easily say that this has been an invaluable experience for me.

Our Experts

Information About Staff Changes

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.

Features

Image for Year-long placement
Year-long placement

Year-long placement

As part of the degree, students undetake a year-long placement in industry.

Image for Aberdeen Software Factory
Aberdeen Software Factory

Aberdeen Software Factory

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

Key Information Set (KIS)

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.

Get in Touch

Contact Details

Address
Student Recruitment & Admissions Service
University of Aberdeen
University Office
Regent Walk
Aberdeen
AB24 3FX