Modules | ITNP01A | Syllabus ITNP01A | Syllabus Updated 5/09/16 16:18
ITNP01A - Concurrent & Distributed Systems Autumn 2017
menu Concurrent & Distributed Systems Autumn 2017










Dr. Mario Kolberg, Room 4B60, (coordinator)


This module does not have formal prerequisites.

However, as this is an MSc module, students are assumed to have:

  • Good programming skills
  • Knowledge of basic OS principles
  • Basic understanding of networks and networking principles.

Learning Outcomes

Any working distributed system must operate under the following assumptions: (i) partial failure is to be expected; (ii) local and remote operations incur vastly different costs; (iii) some type of message passing is required for communication. The students will understand:

  • the concepts underlying concurrent systems
  • the concepts underlying distributed systems
  • how concurrent & distributed systems may be constructed using a variety of tools and approaches
Students will be able to design, and implement distributed software systems in Java using:
  • sockets
  • remote procedure call mechanisms
Students will demonstrate an ability to apply theory and techniques to unseen problems, to work independently, and to work under a time constraint.

Transferable Skills

The unit will develop skills in systems implementation and distributed software engineering. Furthermore, students will advance their Java programming skills


  • Process & thread management - as needed in the context of the aspects below.
    • Basic Process Model, Scheduling
    • Critical Sections and Synchronisation
    • Mutual exclusion: Semaphores, Conditional variables, Monitors
  • Concurrency
    • Modelling concurrent activity starting with JAVA threads
    • Forms of communication, architectures
    • Means of communication (Shared memory, Direct communication between processes)
    • Case study: Unix (Fork processes, Communication using signals, pipes, sockets, shared memory)
  • Distributed Systems
    • Client-server model
    • Naming and binding
    • RPC General principles
    • Protection and Security
  • Java RMI


This module is 20 credits at SCQF level 11.

There are four assessment components for this module:
  • checkpoints in practicals (10%)
  • Project talk (20%)
  • Project report (30%)
  • Project code solution (40%)
In order to be considered for a pass grade for the module you must:

  • Submit the assessed coursework

Both the class test and the assignment are compulsory. If you do not fulfil the requirements you will be awarded grade X for the module. [See paragraph 61 of the Postgraduate Regulations on Assessment]

Coursework extensions

Students who can show good cause may be permitted extensions to coursework deadlines. "Good cause" may include illness, for which a medical certificate or other evidence will be required. Students must request an extension by contacting the module coordinator, supplying relevant evidence, no later than seven days after the published assignment deadline. Extensions will be granted for acceptable reasons only, and will not normally be beyond such time as solutions and feedback are returned to the rest of the class. [See Section 6.2.6 of the Academic Policy Handbook]

Late submission of coursework

Coursework that is submitted late will be accepted up to seven days after the published deadline (or expiry of any agreed extension) but the mark will be lowered by three marks per day or part thereof. After seven days the piece of work will be deemed a non-submission. [See paragraph 66-68 of the Undergraduate Regulations on Assessment]

Repeat assessments

Students who fulfil the module requirements, but obtain an overall fail mark (0-49) are eligible for repeat assessment. In most cases, this will be a repeat course work. Repeats are not permitted for laboratory checkpoints or group work. The mark following any repeat assessment is capped at 40.

Discretionary repeat assessments

In exceptional circumstances, a student who has not met all the module requirements, may be permitted a discretionary repeat. This may be course work. Repeats are not permitted for laboratory checkpoints or group work. The mark following any repeat assessment is capped at 40. If you are granted a discretionary repeat assessment but do not attempt it, you will be awarded grade X for the module.

In deciding whether to grant a discretionary repeat, the Examiners will consider your record of attendance and engagement in the module. Students with a poor attendance record will not normally be permitted a discretionary repeat.

Attendance recording

Attendance at practical classes will be recorded. If you are unable to attend a class, please email the module organiser, and submit a self-certification of absence via the Portal, if appropriate. The University has a policy of monitoring attendance. Repeated absence will be followed up in order to identify any problems at an early stage and to offer students appropriate support.


Work which is submitted for assessment must be your own work. All students should note that the University has a formal policy on plagiarism which can be found at .

Plagiarism means presenting the work of others as though it were your own. The University takes a very serious view of plagiarism, and the penalties can be severe (ranging from a reduced grade in the assessment, through a fail grade for the module, to expulsion from the University for more serious, or repeated, offences). Specific guidance in relation to Computing Science assignments may be found in the Postgraduate Student Handbook.

Prescribed Classes

This module has no prescribed classes, though participation throughout is both expected, and likely to affect one's ability to succeed in the module.
Computing Science & Mathematics, University of Stirling, Stirling, Scotland, FK9 4LA
Email - Web - Tel 01786 467440
Contact Details
Tel 01786 467440