Computer Science @ University of St Andrews

University of St Andrews crest

Modules

Level 5000 Computer Science modules

CS5001 Object Oriented Programming
This module provides a review of the main concepts of object-oriented programming in Java, including abstractions for distributed systems programming and graphical user interfaces.
CS5011 Advanced Artificial Intelligence
This module will cover foundational knowledge of Artificial Intelligence (AI).
CS5012 Language and Perception
This module covers the major aspects of natural language processing and speech understanding, including computational syntax, computational semantics, discourse processing, machine translation and speech recognition.
CS5013 Knowledge and Reasoning
This module will build on some of the foundations covered in the core module (CS5011), as well as extending understanding to a research level in the areas of Knowledge Representation and Reasoning with knowledge.
CS5019 Artificial Intelligence (Special Subject)
This module is a guided reading module on any aspect of Artificial Intelligence not covered by other available modules.
CS5021 Advanced Networks and Distributed Systems
This module has two interleaved themes: Networking and Distributed Systems.
CS5022 Distributed Systems Architecture
This module will cover Distributed System Case Studies; Transparency in Distributed Systems; Principles of Middleware; Examples of Object-Oriented Middleware e.
CS5023 Mobile and Multimedia Systems
This module examines and analyses the way in which computing and communication are used to allow mobile systems to function across a heterogeneous environment, with variations in available network resources and diverse/intermittent network connectivity.
CS5029 Networks & Distributed Systems (Special Subject)
This module is a guided reading module on any aspect of Networks & Distributed Systems not covered by other available modules.
CS5031 Advanced Software Engineering
This module introduces advanced software engineering methods with an emphasis on software reuse and test-driven development practices.
CS5032 Critical Systems Engineering
The aim of this module is to provide students with an understanding of the concepts and development techniques used for critical, socio-technical systems.
CS5033 Software Architecture
The aim of this module is to introduce students to the concept of software architecture, as an aid to software design, reuse and evolution.
CS5039 Software Engineering (Special Subject)
This module is a guided reading module on any aspect of Software Engineering not covered by other available modules.
CS5041 Advanced Interactive Technologies
Desktop and mobile computing are evolving as advanced interactive technologies change our view of applications, services, gaming and computing.
CS5899 Erasmus Mundus Dissertation in Dependable Software Systems
This module is an individually supervised dissertation, not exceeding 15,000 words, on a topic in computer science.
CS5900 Research and Professional Skills in Computer Science
Readings in research topics in Artificial Intelligence, Software Engineering and Networks and Distributed Computing.
CS5999 Dissertation in Computer Science
This module is an individually supervised dissertation, not exceeding 15,000 words, on a topic in computer science.

Level 5000 Information Technology modules

IS5101 Study and Research Skills
This module is designed to provide a streamlined progress path towards producing a personal academic project prior to carry out a major project and dissertation as part of a taught Masters programme.
IS5102 Database Management Systems
It is important for managers to understand what a database is, when to use a database, and what differentiates a database from a spreadsheet.
IS5103 Web Technologies
A web application is a collection of web pages that interact with the user, with each other, and with various resources on a web server, including databases.
IS5104 Information Security Management
This module reviews key theoretical and practical aspects of Information Security Management.
IS5105 IT Software Engineering Principles
This module reviews and summarises the key concepts in large scale software development.
IS5106 Digital Media
Effective communication of information increasingly relies on digital media technology as a means of production and or delivery.
IS5107 Information Technology Fundamentals
This module is an intensive practically oriented introduction to information technology, covering The Internet, Word Processing, Spreadsheets, Presentation Software, Networks & Systems, Peripherals and Computers in Society.
IS5198 Dissertation in Information Technology
This module provides students with the opportunity to undertake an in-depth investigation into issues within the field of Information Technology.
IS5199 Dissertation in Management and IT
This module provides students with the opportunity to undertake an in-depth investigation into issues within the fields of Management and Information Technologies.