CS7NS1 – Scalable Computing

Module CodeCS7NS1
Module Name Scalable Computing
ECTS Weighting [1]5 ECTS
Semester TaughtSemester 1
Module Coordinator/s  Prof. Ciarán Mc Goldrick

Module Learning Outcomes

On successful completion of this module, students should be able to:

  1. Describe the basic characteristics, structure and operation of a distributed system, and the issues which a distributed system must address in disparate scalable computing contexts;
  2. Identify and evaluate appropriate platform, system and communication models for distributed problem scenarios;
  3. Reason about the role and significance of emerging technologies in scalable computing contexts;
  4. Design, construct, document, deploy and test scalable distributed system solutions to realistic real-world problems;
  5. Reason about the performance trade-offs in choosing, developing and deploying in different scalable paradigms;
  6. Make use of appropriate documentation and reference material;
  7. Develop a strategy for parallel implementation of a complex algorithm;
  8. Consider the ethical and engineering issues regarding data security, integrity and sovereignty.

Module Content

This module aims to provide a theoretical and practical understanding of modern scalable systems and architectures, from billions of highly distributed Internet of Things devices, through to present day and future concepts, such as Quantum Computing and Nanotechnology. It addresses the tools and techniques of practical distributed systems, ranging from energy, communication, data and security considerations, through to high scale and remote computation and analysis metaphors.

This module will provide a theoretical and practical understanding of Scalable Computing platforms and systems, and scaffold that knowledge in both present and future paradigms. It covers the fundamental structures, concepts and approaches that underpin key platforms, and targets the modalities through which they can be represented, analyzed and manipulated. The module activities evolve incrementally, through practical project work, and encompass the key architectures and infrastructures relevant to effective deployments.

Assessment will be by a mix of real-time tests and assessments, project based assessments, interview, participation and terminal report. Extensive use will also be made of research papers and other material from the literature. Students will complete significant practical works building scalable, distributed, cloud based systems to solve a challenging practical real world problems.

Teaching and Learning Methods

Module delivery will comprise lectures, flip classroom and blended learning modalities. This will be supplemented by media/videos and guest lectures by industry specialists. Self-directed and collaborative learning and problem solving will form a substantial proportion of the methodology for this module.

Assessment Details

Assessment ComponentBrief Description Learning Outcomes Addressed% of TotalWeek SetWeek Due
Continuous Assessment Multiple CA activities throughout module – in class test, project activities, participation, terminal report. All
100%Through out Various
Note that it may be necessary to adjust the number of assessed activities in response to prevailing circumstances and resourcing. The weighting of actually assigned activities will be adjusted accordingly.

Reassessment Details

Significant individual CA activities designed to re-evaluate and re-assess knowledge, understanding and attainment on all LO’s.

Contact Hours and Indicative Student Workload

Contact Hours (scheduled hours per student over full module), broken down by: 33 hours
Lecture (In-person, online, recorded)22 hours
Tutorial, seminar, groupwork (In-person, online, recorded)11 hours
Independent Study (outside scheduled contact hours), broken down by:92 hours
Preparation for classes and review of material (including preparation for examination, if applicable)12 hours
Completion of assessments (including examination, if applicable)80 hours
Total Hours125 hours

Recommended Reading List


Module Pre-requisites

Prerequisite modules:

An ability to program, at a level typical for graduate Computer Science students. The module will use the C programming language extensively so students should be familiar with either C or C++ before starting the module.

Other/alternative non-module prerequisites: N/A

Other/alternative non-module prerequisites: N/A

Module Co-requisites


Module Website

Blackboard Submitty