Postgraduate Computing Science 2015-2016

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.

CS5012: DATA MINING AND VISUALISATION

15 credits

Level 5

First Sub Session

This
course aims to make students familiar with basic data mining and visualisation techniques
and software tools. Students will learn how to analyse complex
datasets by applying data pre-processing, exploration, clustering and classification,
time series analysis, and many other techniques. This course will also cover
text mining and qualitative modelling. Through this course students will be
able to analyse real-world datasets in various domains and discover novel
patterns from them. This course is particularly suitable for those who are
interested in working as data analysts or data scientists in the future.

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.

This course provides
the underpinnings of the degree in software project management. It sets out the
framework of the enquiry about which processes are most useful and suitable for
software development as explored during the degree. It explores the tension
between traditional approaches and the agile approaches now used by many firms.

CS5054: MANAGING SOFTWARE TECHNOLOGIES (DISTANCE LEARNING)

15 credits

Level 5

First Sub Session

This
module provides an introduction to a variety of technologies that are suitable
for adoption in industrial software development. The module encourages students
to research and evaluate new technologies, identi fying issues affecting their
suitability for adoption in particular projects. It stimulatesdiscussion
between students, encouraging the exchange of personal knowledge and
experience. The module is assessed on topics proposed both by the tutor and by
the students, allowing further investigation into relevant subjects of
particular interest. In addition to the assessments, students are expected to
participate in the we ekly discussions for each unit on the module’s MyAberdeen
discussion board.

CS5071: SYSTEMS ANALYSIS AND DESIGN (DISTANCE LEARNING)

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.

CS5083: GROUP PROJECT IN SOFTWARE MANAGEMENT

15 credits

Level 5

First Sub Session

This
module is designed to stimulate the acquisition of skill in software project
management. Students will be put into small teams and will have to act as the
project management team for the assigned project. There will be no requirement
to produce any software as the emphasis is on project management strategies.
Students will be required to short list the projects they would like to work
on. The teams will have to take on the role of the project management team
dealing with a series of activities that constitute the life cycle of the
project.

CS5090: AGILE DIGITAL PRODUCT DEVELOPMENT

30 credits

Level 5

First Sub Session

Students join two
different teams and develop one major, and one minor, piece of software over
the term. The students learn the discover, design, develop, deliver process
using agile and lean development process along with a service design approach
to develop their product. This builds upon work previously done in other
modules, which is pulled together in a new manner. This is the main course this
term.

CS5091: ADVANCED AGILE DIGITAL PRODUCT DEVELOPMENT

30 credits

Level 5

First Sub Session

Students either join
two different teams, or continue with ones from the previous term, and develop
one major, and one minor, piece of software over the term. The students push
the discover, design, develop, deliver process further to explore deeper issues
in customer development and continuous improvement of their business offering.
This is the main course this term.

CS5092: SOFTWARE ENTREPRENEURSHIP: ISSUES IN STARTUPS

15 credits

Level 5

First Sub Session

Within this module
students deepen their understandings of the business startups through
a mixture of self-directed study and guided discussion with guest speakers. The
class under the guidance of the course organizer determines the classroom
topics of discussion. Suggestions topics could be finance, staffing, burnout
and motivation as well as customer development, risk and legal issues.

CS5093: SERVICE DESIGN AND INNOVATION

15 credits

Level 5

First Sub Session

Students study service
design and how co-creation of their product with customers will develop a
better experience and service for their users. This is a practical based
approach with regular workshops to learn the practices involved and how they
can be used with their business idea.

CS5095: DATA MANAGEMENT AND SECURITY

15 credits

Level 5

First Sub Session

This course will introduce the theory and practice of data
management and security as applied in the upstream oil and gas industry. The
course will build on the experience of students with a degree in Computing
Science and will include topics such as: Data and physical security, big data,
cloud computing, system integration, legacy management, data visualisation.
With use cases from upstream oil and gas contexts.

CS5096: INTELLIGENT AND AUTONOMOUS SYSTEMS

15 credits

Level 5

First Sub Session

This course will introduce the theory and practice of autonomous
intelligent systems as applied in the upstream oil and gas industry. The course
will build on the experience of students with a degree in Computing Science and
will include topics such as:Knowledge representation and reasoning, Human
Computer Interaction, Data mining, Knowledge management, Sensor networks,
Agent-based Computing, Modelling.

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.

CS50AB: SEMANTIC WEB ENGINEERING

15 credits

Level 5

First Sub Session

The World Wide Web (WWW) has become a major part of many people's lives. The Semantic Web is an evolving development of the World Wide Web in which the meaning (semantics) of information and services on the web is defined, making it possible for the web to understand and satisfy the requests of people and machines to use the web content. The goal of the course is to introduce advanced techniques for Web 1.0 (XML and XML Schema), Web 2.0 (AJAX and mashups) and Web 3.0 (RDF, OWL, microformats and microdata). It also covers some data exploitation techniques.

CS50AD: NATURAL LANGUAGE GENERATION

15 credits

Level 5

First Sub Session

The aim of the course is to introduce students who have some
background in computing to (1) the varied aims for which Natural Language
Generation (NLG) is pursued, (2) the main rule based and statistical
methods that are used in NLG, and (3) some of the main NLG algorithms and
systems. The course will cover NLG both as a theoretical enterprise (e.g., for
constructing models of language production) and as practical language
engineering, paying particular attention to the link between NLG and data
science. Some programming experience is expected.

CS50AE: INFORMATION EXTRACTION AND TEXT ANALYTICS

15 credits

Level 5

First Sub Session

An abundance of textual information
is available on the Internet. As it is dispersed over web pages, it is
difficult to extract the information and understand its overall meaning.
In this course, students will learn information extraction and text mining
theory and techniques, corpus construction, and programming tools (e.g. NLTK
and GATE) in order to extract and structure information from text. The emphasis
is hands-on and realistic. Using the techniques and tools, students will
be able to start to unlock the economic, cultural, and social value of
web-based textual information, gaining valuable skills in an expanding market.

CS50AH: INFORMATION SECURITY (DISTANCE LEARNING)

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.

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.

CS5548: WEB TECHNOLOGY

15 credits

Level 5

Second Sub Session

This course will be of interest to anyone who wishes
to develop a Web presence. It will cover 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 critical
knowledge of the theories, principles and concepts associated with good Web
design and Website management and accessibility, you will enhance your
understanding of core technologies including XHTML, CSS, JavaScript, DOM and
PHP.

CS5551: ENTERPRISE COMPUTING AND SECURITY

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.

CS5563: ADVANCED COMPUTER SCIENCE WORKSHOP

20 credits

Level 5

Second Sub Session

The module delivers practical experience in the technical issues
involved in creating an effective showcasing proof of concept for a real
product in the wider software sector. It is a follow-up of the CS5594 module,
where students have devised a business plan for a company centred around such
product. Students work in teams alreadyset up during CS5594, implementing the
requirements specifications for the product devised in that module. On the
final day of the module, an Industrial Assessment Group listens to the
technical presentation of the showcasing proof of concept developed as part of
this module and provides feedback.

CS5568: SOFTWARE PROJECT PLANNING AND CONTROL (DISTANCE LEARNING)

15 credits

Level 5

Second Sub Session

The course covers
methods and techniques currently adopted in the software sector to devise and
analyse software project plans and to control them. Industry standard software
tools will be explored throughout the course. This deepens the comparative
study of traditional and agile approaches to issues in software development in
order to better understand which approaches work better in which situations.

CS5569: SOFTWARE QUALITY ASSURANCE AND CONTROL

15 credits

Level 5

Second Sub Session

This module provides an overview of software quality assurance
activities at all stages of software development. It covers not only software
testing, but the broader topic of quality assurance and control, including
early quality assurance activities such as contract review, and the infrastructure
components that support quality assurance activities. The course looks at
well-established techniques, often rooted in the waterfall mindset, and
consider how these fit in an iterative development methodology. Students are
expected to undertake further reading when indicated by the course tutor, and
to participate in the weekly discussions for each unit on the module’s
MyAberdeen discussion board.

CS5570: INDIVIDUAL PROJECT IN SOFTWARE MANAGEMENT

30 credits

Level 5

Second Sub Session

This module, which spans two terms, delivers the
individual dissertation (the “thesis”) that each student must submit at the end
of the MSc course. It focuses on an individual topic of software project
management relevance agreed between the programme director and each student
during the preparatory part of the module itself, before a project supervisor
is assigned to the student. The research leading to the dissertation, which can
include a broad range of SWPM-relevant topics, focuses on specific projects the
student is currently working on (or has worked on, or expects to be working
on).

CS5572: SOFTWARE PROJECT PORTFOLIO (DISTANCE LEARNING)

15 credits

Level 5

Second Sub Session

This module focuses on software project management at portfolio
level, where suites of projects are managed in accordance with the broader
strategy of an organisation. The module guides students to appreciate the need
for and the benefits of a software project portfolio management system. It
introduces both the principles that must be adopted fo a portfolio management
system to operate successfully and the processes involved in defining a
portfolio of software projects. The module also focuses on the activities
required in order to ensure that the intended results of the portfolio
management are delivered.

CS5574: WEB TECHNOLOGY (DISTANCE LEARNING)

15 credits

Level 5

Second Sub Session

This course will be of interest to anyone who wishes
to develop a Web presence. It will cover 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 critical
knowledge of the theories, principles and concepts associated with good Web
design and Website management and accessibility, you will enhance your
understanding of core technologies including XHTML, CSS, JavaScript, DOM and
PHP.

This module provides an introduction to a number of
legal issues relevant to software development and exploitation. It aims to
increase students' awareness of commercial and legal issues relevant to their
own work in the context of the wider software industry sector.The module thus
focuses on legal topics relevant to those establishing their own business,
including types of business and the fundamentals of contract law, also covering
legal issues specific to software, such as the application of intellectual
property law to software products. Students are expected to participate in the
weekly discussions on the module’s MyAberdeen discussion board.

CS5586: HUMAN COMPUTER INTERACTION (DISTANCE LEARNING)

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.

CS5587: ENTERPRISE COMPUTING AND BUSINESS (DISTANCE LEARNING)

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.

CS5590: AGILE DIGITAL PRODUCT DEVELOPMENT

30 credits

Level 5

Second Sub Session

Students join two
different teams and develop one major, and one minor, piece of software over
the term. The students learn the discover, design, develop, deliver process
using agile and lean development process along with a service design approach
to develop their product. This builds upon work previously done in other
modules, which is pulled together in a new manner. This is the main course this
term.

CS5591: ADVANCED AGILE DIGITAL PRODUCT DEVELOPMENT

30 credits

Level 5

Second Sub Session

Students either join
two different teams, or continue with ones from the previous term, and develop
one major, and one minor, piece of software over the term. The students push
the discover, design, develop, deliver process further to explore deeper issues
in customer development and continuous improvement of their business offering.
This is the main course this term.

CS5592: SOFTWARE ENTREPRENEURSHIP: PERSONAL DEVELOPMENT

15 credits

Level 5

Second Sub Session

Each student will
develop a suitable personal development plan with the course organiser so that
individualised assessments can be co-created. This will enable students to
guide their learning on the degree so that they achieve their desired goals, as
everyone will be on the programme for different reasons. This course will help
students achieve their programme goals.

This course aims to give the student experience in applying
Computing technology to the exploration for oil and gas. Students will be
presented with a number of specified case studies from the exploration domain
of the upstream oil and gas sector. They will work with an academic and
industrial contact, and will identify potential solutions to the case study
problems.

CS5594: INNOVATION STRATEGIES

15 credits

Level 5

Second Sub Session

This module gives students a unique opportunity to develop
entrepreneurial skills, which are required to help in the development of a
business-oriented mindset. Even students who have no ambitions to set up a new
business, there is a great deal that they can learn about entrepreneurial tools
and techniques which would benefit their future career in different employment
capacities. From the very beginning, students are asked to identify a novel
software-based niche product/service (i.e.,
a still-to-be-devised, currently non-existing but potentially appealing
product/service idea) and to find out how to set up a company which would
develop and commercialise such product.

This course aims to give the student experience in applying
Computing technology to the production of oil and gas products. Students will
be presented with a number of specified case studies from the production domain
of the upstream oil and gas sector. They will work with an academic and
industrial contact, and will identify potential solutions to the case study
problems.

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.

CS5950: MSC PROJECT IN ADVANCED COMPUTER SCIENCE

60 credits

Level 5

Second Sub Session

The purpose of this course is to develop the students' creative, analytical, practical and
presentational skills and to allow the students to consolidate material
learnt earlier in the programme, to extend their skills, and to research
new areas.

CS5970: INDIVIDUAL PROJECT IN SOFTWARE MANAGEMENT

30 credits

Level 5

Second Sub Session

This module, which spans two terms,
delivers the individual dissertation (the “thesis”) that each student must
submit at the end of the MSc course. It focuses on an individual topic of
software project management relevance agreed between the programme director and
each student during the preparatory part of the module itself, before a project
supervisor is assigned to the student. The research leading to the
dissertation, which can include a broad range of SWPM-relevant topics, focuses
on specific projects the student is currently working on (or has worked on, or
expects to be working on).

CS5972: M.SC. PROJECT IN OIL AND GAS COMPUTING

60 credits

Level 5

Second Sub Session

This
course aims to develop the students' creative, analytical, practical and
presentational skills applied to upstream Oil and Gas Computing. To allow the
students to consolidate material learnt earlier in the programme, to extend
their skills, and to research new areas. Students undertake an individual
project relevant to the programme.

CS5974: PROJECT IN INFORMATION TECHNOLOGY (DISTANCE LEARNING)

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.