Module Code | CS7NS1 |
Module Name | Scalable Computing |
ECTS Weighting [1] | 5 ECTS |
Semester Taught | Semester 1 |
Module Coordinator/s | Prof. Ciarán Mc Goldrick |
Module Learning Outcomes
On successful completion of this module, students should be able to:
- 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;
- Identify and evaluate appropriate platform, system and communication models for distributed problem scenarios;
- Reason about the role and significance of emerging technologies in scalable computing contexts;
- Design, construct, document, deploy and test scalable distributed system solutions to realistic real-world problems;
- Reason about the performance trade-offs in choosing, developing and deploying in different scalable paradigms;
- Make use of appropriate documentation and reference material;
- Develop a strategy for parallel implementation of a complex algorithm;
- 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 Component | Brief Description | Learning Outcomes Addressed | % of Total | Week Set | Week Due |
Continuous Assessment | Multiple CA activities throughout module – in class test, project activities, participation, terminal report. | All | 100% | Through out | Various |
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 Hours | 125 hours |
Recommended Reading List
N/A
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
N/A