CS3DP19-Distributed Systems and Parallel Computing

Module Provider: Computer Science
Number of credits: 10 [5 ECTS credits]
Terms in which taught: Autumn term module
Non-modular pre-requisites:
Modules excluded:
Current from: 2020/1

Module Convenor: Dr Julian Kunkel

Email: j.m.kunkel@reading.ac.uk

Type of module:

Summary module description:

This module introduces concepts, principles, tools, techniques and algorithms for distributed systems and parallel computing, and examines the deployment of relevant applications in Cloud, big data analytics, and massive-parallel environment. In this context, this module covers the topic ranging from hardware and software architectures and algorithms in the development of distributed systems, MapReduce program paradigm and Hadoop ecosystems, and in-memory and stream computing tools such as Spark, Storm, and Flink; to parallel programming paradigms for relevant hardware and software applications, such as OpenMP and MPI, and massive parallelism provided by GPUs. Talks from academia and industry will be incorporated in teaching for value adding in learning.


The module provides students with fundamentals of distributed systems and parallel computing and state-of-the-art tools that enable students to understand the concepts and principles underpinning distributed systems and utilize industry standard tools. Students are then prepared to specialize further in the field of distributed systems and parallel computing, e.g., in big data analytics or as scientific programmer.

This module also encourages students to develop a set of professional skills, such as creativity, software design and development, team working, self-reflection, and global outlook.

Assessable learning outcomes:

Students completing this module should be able to:

  • characterize distributed systems and parallel computing

  • understand how to solve parallel problems via distributed and parallel algorithms

  • implement solutions for easy distributed and parallel problems

  • harness the capabilities of distributed and parallel environments including on personal devices

  • assess the characteristics of distributed applicatio ns and systems

Additional outcomes:

Students are able to understand the principles and can approach distributed services offered in the Internet and of supercomputers allowing to approach relevant scientific problems. Specialized Linux knowledge covering tools for distributed and parallel programming.

Outline content:

  • Overview to distributed and parallel computing; hardware and software architectures

  • Use-cases for distributed and parallel applications from industry and science

  • Issues in designing of distribution and parallel systems and algorithms

  • Industry relevant processing models for big data and tools like Hadoop and Spark

  • Relevant algorithms and data structures

  • Introduction to scientific computing

  • Parallel programming paradigms and concepts with a focus on OpenMP and MPI

Global context:

The module gives a global perspective of distributed and parallel computing.

Brief description of teaching and learning methods:

The weekly laboratory practicals and tutorials will guide students to learn in the concepts and tools for distributed systems and parallel programming in a distributed environment. In the process of learning, students will form a learning community and integrate peer-learning into the practicals. Students will have opportunities to present their solutions toward the challenging tasks in the class. Students will develop presentation skills and gain confidence to the topics.

Contact hours:
  Autumn Spring Summer
Lectures 10
Practicals classes and workshops 10
Guided independent study: 70 10
Total hours by term 0
Total hours for module 100

Summative Assessment Methods:
Method Percentage
Written exam 100

Summative assessment- Examinations:

One 2-hour examination paper in May/June.

Summative assessment- Coursework and in-class tests:

Formative assessment methods:

There will be a weekly formative assessment running in the weekly practicals. Feedback will be then provided through these sessions.

Penalties for late submission:

The Module Convenor will apply the following penalties for work submitted late:

  • where the piece of work is submitted after the original deadline (or any formally agreed extension to the deadline): 10% of the total marks available for that piece of work will be deducted from the mark for each working day[1] (or part thereof) following the deadline up to a total of five working days;
  • where the piece of work is submitted more than five working days after the original deadline (or any formally agreed extension to the deadline): a mark of zero will be recorded.
The University policy statement on penalties for late submission can be found at: http://www.reading.ac.uk/web/FILES/qualitysupport/penaltiesforlatesubmission.pdf
You are strongly advised to ensure that coursework is submitted by the relevant deadline. You should note that it is advisable to submit work in an unfinished state rather than to fail to submit any work.

Assessment requirements for a pass:

A mark of 40% overall.

Reassessment arrangements:

One 2-hour examination paper in August/September.

Additional Costs (specified where applicable):

Last updated: 16 April 2020


Things to do now