Student led social and employability events and networking.Find out more
Software Engineering at Aberdeen encompasses both the theory as well as the practice of computing, with special emphasis given to Distributed Information Systems and Knowledge Technologies.
This programme is studied on campus.
Electronic Engineering is at the core of the modern world, from computers, to digital circuits, photonics and a wealth of electronic devices. This exciting new programme delivers the ideal marriage between Electronic engineering and Software engineering, allowing graduates to pursue a wide range of engineering interests and career choices. You will use your imagination, creativity and knowledge to provide society with the complex electronic systems it needs as well as the software required to operate these systems optimally. In your future career you may design the machines that supply our energy needs, digital control systems for aircrafts, internet-enabled sensors, design complete computer systems on a silicon chip, photonics to instrument the ocean depths, create stunning electronic displays, or design the latest communications satellite or mobile phone.
Students will learn how to design, analyse and implement large-scale software solutions, factoring in hardware and electronics specifics. The courses will cover core computing topics such as computer architecture, programming, programming languages, algorithms, databases, software project management, and software engineering tools and techniques. Advanced computing topics include distributed (autonomous) systems, knowledge technologies, Internet-of-Things, sensor networks, robotics, and security.
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.
The aim of the course is to introduce basic concepts of electrical & electronics within a context of general engineering. The topics covered are kept at an elementary level with the aim of providing the foundational material for subsequent courses at levels 1 and 2. The course adopts the philosophy of application oriented teaching. During each topic the students will be provided with examples of day-to-day devices. Topics covered include dc circuit analysis, electronic amplifiers, digital circuits, optoelectronics, and ac theory.
The course is designed to introduce the students to different methods of communication in the process of interchanging ideas and information. Oral presentation and writing of technical reports are introduced. The importing data from web-based and library-based sources will be integrated through information retrieval and investigative skills training. Professional ethics are covered on plagiarism, copyright and intellectual property. Engineering drawing skills and knowledge of relevant British and International Standards will be developed through intensive training in the use of computer aided design and modelling package, SolidWorks. Standard drawing formats including 3D depiction of stand alone parts and assemblies are covered.
Engineering design depends on materials being shaped, finished and joined together. Design requirements define the performance required of the materials. What do engineers need to know about materials to choose and use them successfully? They need a perspective of the world of materials. They need understanding of material properties. They need methods and tools to select the right material for the job. This course will help you develop knowledge and skills required for the successful selection and use of engineering materials.
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 provides an introduction to the design and analysis techniques used within electronic engineering, and to the major active components (diodes and transistors). The course opens with a description of charges, the forces between charges and the concept of electric fields. The second part of the course deals with semiconductor devices, opening with fundamental properties of doped semiconductors.
The course presents fundamental mathematical ideas useful in the study of Engineering. A major focus of the course is on differential and integral calculus. Applications to Engineering problems involving rates of change and averaging processes are emphasized. Complex numbers are introduced and developed. The course provides the necessary mathematical background for other engineering courses in level 2.
Engineering Mechanics is concerned with the state of rest or motion of objects subject to the action of forces. The topic is divided into two parts: STATICS which considers the equilibrium of objects which are either at rest or move at a constant velocity, and DYNAMICS which deals with the motion and associated forces of accelerating bodies. The former is particularly applied to beams and truss structures. The latter includes a range of applications, such as car suspension systems, motion of a racing car, missiles, vibration isolation systems, and so on.
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
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.
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 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 follows Engineering Mathematics 1 in introducing all the mathematical objects and techniques needed by engineers. It has three parts:
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 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.
Electronics systems are discussed from basic concepts of digital logic to highlights of embedded microcontrollers. The journey begins with the elementary building blocks of Boolean algebra (logic gates and flip-flops) that are used to design combinatorial/sequential logic circuits, e.g. implementing a simple calculator or a temperature control circuit. The design of complex system is addressed introducing embedded microcontrollers, discussing their core components (e.g. timers, memory) and required programming operations.
Hands-on lab sessions (and relative assignments) include software-based simulations and hardware implementation of systems that allow students to test and deepen their understanding of the subject.
A general engineering course that provides an insight into the principles of engineering design process, computer programming in MATLAB and its application in parametric study and basic design optimisation, environmental ethics and sustainability in the context of design, and Computer Aided Design (CAD) using Solidworks. The course also includes hands-on exercises on the manufacture of simple parts using a variety of machine tools and joining processes.
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.
The aim of the course is to provide students with a basic understanding and concepts of control systems. The course starts by introducing basic concepts of feedback control systems using a number of practical examples. Mathematical modelling of physical systems and representing them in block diagrams with transfer functions are presented. Basic control system response characteristics (stability, transient response, steady state response) and analysis and design procedures are introduced using first and second order systems. Analysis of control systems using Routh-Hurwitz criterion, root locus, and Bode plot methods are considered.
How can the dynamic behaviour of a mechanical mass-spring-damper system be similar to an electrical resistance-capacitance-inductance circuit? Motivated by this question, this course introduces the signals – systems framework that helps in describing the dynamic behaviour of systems for a variety of inputs (signals). Useful analysis tools both in the frequency- and the time-domain are also introduced. In the later part of the course, these concepts will be used to understand basic signal processing in the form of both analog and digital filter design.
Modern engineering analysis relies on a wide range of analytical mathematical methods and computational techniques in order to solve a wide range of problems. The aim of this course is to equip students with the necessary skills to quantitatively investigate engineering problems. Examples applying the methods taught to practical situations from across the full range of engineering disciplines will feature heavily in the course.
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.
Digital systems design principles;HW implementation of Combinational logic;Clocked sequential systems and Finite State Machines;Design, implementation and testing of a synchronous system;Applications of Digital Systems in communications and robotics.
A short course teaching fundamentals of digital communications engineering. The course focuses on remote control of equipment. It starts with asynchronous data, and use with a GPS device (to identify location and time), then studies the Digital Multiplex (DMX) control bus (a standard in the live entertainment industry) followed by the bi-directional Remote Device Management (RDM) protocol. It concludes with the synchronous the Controller Area Network (CAN) for industrial/transport applications.
Teaching will be supported by demonstrations of equipment and practical laboratory exercises. Accessible to students of computer science and electrical/electronic engineering.
This course provides design, analysis and control of digital systems (hardware/Software) through practical implementation. This course involves three practical design projects. Each project relates with practical applications encounters in our daily life. The course begins with a discussion of different sensors commonly employed by the industry. The hardware aspects are explained with specific reference to the task of interfacing sensors to a microcontroller; the operation and programming of integrated systems is implemented using C++ code. The elements of writing well-structured software are introduced. Sustainability, environmental issue and ethics considerations are studied for embedded system design.
To course aims to provide students with an awareness of purpose, principals, fundamental concepts and strategies of safety and project management.
To provide the student with the opportunity of pursuing a substantial and realistic exercise in the practice of engineering at or near a professional level, and to further enhance the student's critical and communication skills. The project will usually be carried out at the University of Aberdeen but may be carried out at industry or other research location.
Computational Intelligence covers a wide range of issues that developed in parallel with, or in competition to, symbolic AI. The major constituents of the field are bio-inspired computing – which deals with an ever expanding number of biologically related techniques – and fuzzy logic – which deals with reasoning under conditions of vagueness. In this course we will explore a number of topics that are core to Computational Intelligence (e.g. neural nets and evolutionary computing) and these will lead into some state-of-the-art approaches (such as fuzzy model-based reasoning and learning).
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 various programming exercises.
The course introduces sensing and instrumentation for various engineering applications. Major part of the course will consider case studies of sensing and instrumentation for various engineering applications and is suitable for all engineering and non-engineering students to learn about sensing and instrumentation.
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.
This course explores the techniques for packet data communication using Internet technologies. It starts by understanding Ethernet local network standards and how this developed from a cable bus to a switched high-speed network. It then proceeds to describe the operation of the network and transport layers, using examples from Internet Engineering to explain how a packet switched network can provide services that can be used by applications. The course is accessible to students of computer science and electronic engineering.
This course is a concentrated design and reporting exercise which requires application of project management and team liaison skills in addition to technical design ability. Specific exercises will include interdisciplinary aspects and will relate to design requirements arising from the professional activities of the School of Engineering or its industrial contacts. Written and oral presentations form part of the course.
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.
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.
You can find further information under the Engineering tab on the Undergraduate Entry Requirements page.
Further detailed entry requirements for Engineering degrees.
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.
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.
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.
Student led social and employability events and networking.Find out more
TAU (Team Aberdeen University) Racing was established by a group of undergraduate engineers at the University. The goal each year is to design and build a single seat racing car to compete at Silverstone in the Formula Student competition.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.