15 credits
Level 1
First Term
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.
15 credits
Level 1
Second Term
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.
15 credits
Level 2
First Term
This course builds on the previous course so that you can build more complex database driven web applications using a suitable framework to guide you. This also continues to round out your computing science craftsmanship skills with more emphasis on learning appropriate practices such as version source control, testing and group collaboration, so that you can build good habits, which will help your further during your degree.
15 credits
Level 2
Second Term
This course builds on the previous course so that you can build more complex database driven web applications using a suitable framework to guide you. This also continues to round out your computing science craftsmanship skills with more emphasis on learning appropriate practices such as version source control, testing and group collaboration, so that you can build good habits, which will help your further during your degree.
15 credits
Level 5
First Term
This course will be of interest to anyone who wishes to learn about the processes associated with modern systems analysis and design. In the course you will develop a critical understanding of how to analyse and evaluate systems, and to design and specify corresponding functionalities in a succinct and official way. The course will introduce you to the tools and techniques used by business and system analysts/designers and cover the fundamental issues associated with software engineering and project management.
15 credits
Level 5
First Term
This course presents the fundamental techniques of Artificial Intelligence, used in system such as Google Maps, Siri, IBM Watson, as well as industrial automation systems, and which are core to emerging products such as self-driving vehicles. This course will equip the student to understand how such AI technologies operate, their implementation details, and how to use them effectively. This course therefore provides the building blocks necessary for understanding and using AI techniques and methodologies.
15 credits
Level 5
First Term
Artificial intelligence has helped solve complex practical problems such as
driving a car, translating text from/to different languages, understanding and
answering questions, and playing games such as chess and Go. This course will
provide students of our MSc in AI with skills to help them engineer AI
systems, equipping them with solid programming skills, and using
state-of-the-practice languages, tools and technologies
15 credits
Level 5
First Term
This course presents the fundamental as well as the most popular Machine Learning theories and algorithms, used in a wide range of applications such as classification, prediction, regression, and those are core to the design of for instance computer Go player AlphaGo. This course provides the building blocks for understanding and using Machine Learning techniques and methodologies and prepares students to work in data science and general AI systems.
15 credits
Level 5
First Term
How do we assess whether an AI system works and is effective? Indeed, what does it mean for an AI system to be effective? In this course, we will look at different ways of evaluating AI systems, including performance on benchmark data sets, usefulness at helping users achieve a task, and subjective opinions (ie, do people like the system). Much of the course is devoted to statistics (including the R programming language), experimental design, and ethical issues. In practical and assessment work, students will evaluate deployed AI systems, and also critique evaluations in published AI research papers.
15 credits
Level 5
First Term
This course will be of interest to anyone who wishes to learn about the processes associated with modern systems analysis and design. In the course you will develop a critical understanding of how to analyse and evaluate systems, and to design and specify corresponding functionalities in a succinct and official way. The course will introduce you to the tools and techniques used by business and system analysts/designers and cover the fundamental issues associated with software engineering and project management.
15 credits
Level 5
First Term
This course will be of interest to anyone who wishes to learn to design and query databases. The course aims to teach the material using case studies from real-world applications. You will develop a critical understanding of the principal theories, principles and concepts, such as modelling techniques used in the design, administration and security of database systems. 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 critical understanding of how database-driven applications operate.
15 credits
Level 5
First Term
This course will be of interest to anyone who wishes to learn to design and query databases. The course aims to teach the material using case studies from real-world applications. You will develop a critical understanding of the principal theories, principles and concepts, such as modelling techniques used in the design, administration and security of database systems. 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 critical understanding of how database-driven applications operate.
15 credits
Level 5
First Term
This course provides a comprehensive introduction to techniques for engineering secure information systems. Identity theft and fraudulent scams are some examples where computer systems have been utilised and compromised, and information exploited in ways not intended or authorized. In addition to developing critical knowledge of the theories, principles and concepts associated with information security and systems, this course will enhance your understanding of core topics such as access control, usability and psychology, security policy, ethical hacking, and cryptography. Students study how users and organisations must become better prepared to best exploit emerging technologies and issues arising.
15 credits
Level 5
First Term
This course provides a comprehensive introduction to techniques for engineering secure information systems. Identity theft and fraudulent scams are some examples where computer systems have been utilised and compromised, and information exploited in ways not intended or authorized. In addition to developing critical knowledge of the theories, principles and concepts associated with information security and systems, this course will enhance your understanding of core topics such as access control, usability and psychology, security policy, ethical hacking, and cryptography. Students study how users and organisations must become better prepared to best exploit emerging technologies and issues arising.
15 credits
Level 5
Second Term
Software Project Management skills are fundamental in current software-centric industrial development projects, whether these focus on purchasing and customising an off-the-shelf application or on developing a complete system from scratch. However, computer science courses and programmes typically teach specific technical skills that tend to leave out SWPM principles and the practice. This course thus addresses such shortcomings, providing students with much project management skills for the software sector that are highly sought in the job market for CS graduates and post-grads.
15 credits
Level 5
Second Term
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.
15 credits
Level 5
Second Term
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.
15 credits
Level 5
Second Term
Software Project Management skills are fundamental in current software-centric industrial development projects, whether these focus on purchasing and customising an off-the-shelf application or on developing a complete system from scratch. However, computer science courses and programmes typically teach specific technical skills that tend to leave out SWPM principles and the practice. This course thus addresses such shortcomings, providing students with much project management skills for the software sector that are highly sought in the job market for CS graduates and post-grads.
15 credits
Level 5
Second Term
This course will provide students of our MSc in AI with knowledge of core data mining and visualisation approaches, tools, techniques and technologies. The students will be enhanced with data science skills for their future career.
15 credits
Level 5
Second Term
Artificial intelligence has helped solve complex practical problems such as driving a car, translating text from/to different languages, understanding and answering questions, and playing games such as chess and Go. This course will provide students of our MSc in AI with knowledge of core natural language generation concepts, approaches, tools, techniques and technologies.
15 credits
Level 5
Second Term
Recent advances in AI have changed the perception of what machines can do, from on-line search to answering questions. An underlying feature of many AI systems concern how knowledge is acquired, represented, and reasoned with. Companies such as Google, IBM, and Facebook have been developing sophisticated tools for knowledge representation and reasoning. This module provides the theory and practice of knowledge representation and reasoning, also presenting cutting-edge technologies, libraries and tools. At the end of the course students will be able to design, implement and evaluate knowledge-intensive AI systems.
15 credits
Level 5
Second Term
The global autonomous systems market is expected to be valued at over £13 billion by 2025, involving both software systems and robots. Such autonomous systems act to achieve goals with no human intervention, and are already found in Tesla's self-driving cars, NASA space probes and systems such as Amazon's Echo. This course provides the student with a solid grounding in the theory and tools which underpin such systems, teaching them both how to develop such systems, and use them effectively as part of a larger product.
15 credits
Level 5
Second Term
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.
15 credits
Level 5
Second Term
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.
60 credits
Level 5
Second Term
This course will provide students of our MSc in AI programme with the opportunity to develop their own AI research project, under the supervision of a member of staff. Typical projects include extending, improving or adapting existing AI theories or techniques to solve different problems, comparing competing techniques or tools to solve a particular problem, and so on. Students will improve their problem-solving and communication skills, as well as broaden, deepen and consolidate knowledge obtained in other components of the degree.
60 credits
Level 5
Second Term
The Project in Information Technology is a group project where you will work with a number of fellow students to build an application for an external client. In order to do this successfully you will follow practices that produce successful projects, which will be introduced to you during the first week of the project, and continued during the rest of the summer.
Past teams have worked with Survival International, Grampian Fire and Rescue, the Small Isles, local volunteer groups, and an Edinburgh film company.
60 credits
Level 5
First Term
The Project in Information Technology is a group project where you will work with a number of fellow students to build an application for an external client. In order to do this successfully you will follow practices that produce successful projects, which will be introduced to you during the first week of the project, and continued during the rest of the summer.
Past teams have worked with Survival International, Grampian Fire and Rescue, the Small Isles, local volunteer groups, and an Edinburgh film company.
We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to switch off compatibility mode for this site or upgrade your browser.