production
Skip to Content

Postgraduate Computing Science 2017-2018

CS1026: WEB APPLICATION DEVELOPMENT (DISTANCE LEARNING)

15 credits

Level 1

First Sub Session

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.

CS1524: WEB APPLICATION DEVELOPMENT (DISTANCE LEARNING)

15 credits

Level 1

Second Sub Session

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.

CS2014: ADVANCED WEB APPLICATION DEVELOPMENT (DISTANCE LEARNING)

15 credits

Level 2

First Sub Session

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.

CS2514: ADVANCED WEB APPLICATION DEVELOPMENT

15 credits

Level 2

Second Sub Session

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.

CS5037: SYSTEMS ANALYSIS & DESIGN

15 credits

Level 5

First Sub Session

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.





CS5060: FOUNDATIONS OF AI

15 credits

Level 5

First Sub Session

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.

CS5061: ENGINEERING AI SYSTEMS

15 credits

Level 5

First Sub Session

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, equiping them with solid programming skills, and using state-of-the-practice languages, tools and technologies.

CS5062: MACHINE LEARNING

15 credits

Level 5

First Sub Session

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 face detection, anomaly detection, and which 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.

CS5063: EVALUATION OF AI SYSTEMS

15 credits

Level 5

First Sub Session

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 evaluation concepts, approaches, tools, techniques and technologies.

CS5071: SYSTEMS ANALYSIS AND DESIGN

15 credits

Level 5

First Sub Session

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.





CS5097: DATABASE SYSTEMS AND BIG DATA

15 credits

Level 5

First Sub Session

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.





CS5098: DATABASE SYSTEMS AND BIG DATA

15 credits

Level 5

First Sub Session

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.





CS5099: INFORMATION SECURITY

15 credits

Level 5

First Sub Session

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.

CS50AH: INFORMATION SECURITY

15 credits

Level 5

First Sub Session

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.

CS551A: FUNDAMENTALS OF SOFTWARE PROJECT MANAGEMENT

15 credits

Level 5

Second Sub Session

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 marlet for CS graduates and post-grads.

CS551B: ENTERPRISE COMPUTING AND BUSINESS

15 credits

Level 5

Second Sub Session

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.



CS551C: ENTERPRISE COMPUTING AND BUSINESS

15 credits

Level 5

Second Sub Session

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.



CS551D: FUNDAMENTALS OF SOFTWARE PROJECT MANAGEMENT

15 credits

Level 5

Second Sub Session

​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 marlet for CS graduates and post-grads.

CS551G: DATA MINING AND VISUALISATION

15 credits

Level 5

Second Sub Session

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 data mining and visualisation approaches, tools, techniques and technologies.

CS551H: NATURAL LANGUAGE GENERATION

15 credits

Level 5

Second Sub Session

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.

CS551J: KNOWLEDGE REPRESENTATION AND REASONING

15 credits

Level 5

Second Sub Session

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.

CS551K: SOFTWARE AGENTS AND MULTI-AGENT SYSTEMS

15 credits

Level 5

Second Sub Session

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.

CS5541: HUMAN COMPUTER INTERACTION

15 credits

Level 5

Second Sub Session

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.



CS5586: HUMAN COMPUTER INTERACTION

15 credits

Level 5

Second Sub Session

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.

CS5917: MSC PROJECT IN ARTIFICIAL INTELLIGENCE

60 credits

Level 5

Second Sub Session

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

CS5942: PROJECT IN INFORMATION TECHNOLOGY

60 credits

Level 5

Second Sub Session

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.




CS5974: PROJECT IN INFORMATION TECHNOLOGY

60 credits

Level 5

First Sub Session

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.




Compatibility Mode

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.