Academic year(s): 2018-2019
SCOTCAT credits : 15
ECTS credits : 7
Level : SCQF Level 11
Availability restrictions: Not automatically available to General Degree students
The era of big data is upon us - the volume, velocity and variety of enterprise and scientific data are growing at an exponential rate and will continue to do so for the foreseeable future. This module presents the programming paradigms, algorithmic techniques and design principles for large-scale distributed systems, such as those utilised by companies such as Google, Amazon and Facebook. This module is different in scope from CS4103 (distributed systems) as it focuses primarily on building and utilising large-scale clusters. The module will cover: distributed systems architecture, replication and fault tolerance, storage, coordination, scheduling algorithms, cluster computing, cloud computing, virtualisation, programming models (e.g., MapReduce), stream processing, decentralised systems (e.g., Chord), incentive-based systems (e.g., BitTorrent), and social computing (e.g., crowd sourcing techniques). This module will draw from the latest research in both academia and industry.
Pre-requisite(s): Undergraduate students must have passed CS2002 and (cs2001 or cs2101). Postgraduate students must pass CS5001 before taking this module.
Weekly contact: 2 lectures (x 11 weeks), 1 tutorial (x 5 weeks)
Scheduled learning hours: 31
Guided independent study hours: 116
As used by St Andrews: 2-hour Written Examination - 60%, Coursework = 40%
As defined by QAA
Written examinations : 60%
Practical examinations : 0%
Re-assessment: 2-hour Written Examination = 60%, Existing Coursework = 40%