COMPUTING SCIENCE
AND MATHEMATICS


Modules | CSCU9V7 | Syllabus CSCU9V7 | Syllabus Updated 4/07/17 16:53
CSCU9V7 - Concurrent & Distributed Systems Autumn 2017
menu Concurrent & Distributed Systems Autumn 2017

Home

Organisation

Materials

Assessment

Reference

 

Home

Organisation

Materials

Assessment

Reference

 

Syllabus

CSCU9V7 - Concurrent and Distributed Systems
20 SCQF Credits at Level 10


Lecturer

Professor Evan Magill, Room 4B84, email ehm@cs.stir.ac.uk
Dr. Mario Kolberg, Room 4B60, email mko@cs.stir.ac.uk


Prerequisites

CSCU9V4 (basic OS principles, and programming in JAVA using threads)
CSCU9W6 (principles of data communications, communications architectures, services & protocols.)


Learning Outcomes

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
  • JAVA RMI
Students will demonstrate an ability to apply theory and techniques to unseen problems (without reference to notes), 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


Contents

  • 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


Assessment

There are four assessment components for this module:

  1. Laboratory checkpoints worth 10%
  2. Concurrency class test worth 20%
  3. Distributed assignment worth 20%
  4. Examination worth 50%
In order to be considered for a pass grade for the module you must:

  • Submit the assessed coursework
  • Attend the examination

Both the class test and the assignment are compulsory and the non-submission of either component will result in the award of grade X for the module as a whole. (See paragraph 61: www.stir.ac.uk/regulations/undergrad/assessmentandawardofcredit/). Assessed coursework submitted late will be accepted up to seven calendar days after the submission date (or expiry of any agreed extension) but the grade will be lowered by three points (on a 100 point scale) per day or part thereof. After seven calendar days the piece of work will be deemed a non-submission, and a mark of 0 (zero) points will be awarded. This will result in the award of FAIL for the module as a whole. This rule (regarding coursework) may be relaxed for students who can show good cause for failure to submit. ‘Good cause’ may include illness (for which a medical certificate or other evidence will be required).

Laboratory checkpoints must be completed by the end of the week following a lab. (Exceptions can be made for special circumstances.)


Attendance

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


Plagiarism

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 http://www.stir.ac.uk/academicpolicy/handbook/assessment/#q-8 .

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 Computing Science Student Handbook.


Repeat Assessments

Students who fulfil the module requirements, but obtain an overall fail mark (0-39) following the Main examination, are eligible for repeat assessment. In most cases, this will be a repeat examination (grade RE). In some cases, the Examiners may permit repeat submission of coursework (grade RC) or a repeat of both coursework and examination (grade RA). 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, following the Main examination, may be permitted a discretionary repeat. This may be a repeat examination (grade XE), repeat submission of coursework (grade XC), or a repeat of both coursework and examination (grade XA). 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.


Deferred Exams

If you are unable to attend the Main examination, you must apply for a Deferred examination through the link on the Student Portal. If a Deferred examination is denied and you do not attend the Main examination, you will be deemed not to have met the module requirements. For further information see: www.stir.ac.uk/registry/studentinformation/exams/deferredexams/).


Textbooks

Recommended (available in the University library and Reserved Book Room):
  • Concurrent systems: an integrated approach to operating systems, distributed systems and databases by J. Bacon, R. Laney, J. Van der Linden, Addison-Wesley 3rd edition 2003.
  • Operating system concepts by A. Silberschatz, P. Galvin, G. Gagne, Wiley 8th edition 2010.
  • Operating system concepts with Java by A. Silberschatz, P. B. Galvin, G. Gagne, Wiley 8th edition 2010. ISBN-13: 9780470398791.
  • Modern Operating Systems by A.S. Tanenbaum, Prentice-Hall 3rd edition 2007, ISBN: 0138134596.
Additional reading:
  • Concurrency - State Models & Java Programs, J. Magee, J. Kramer, Wiley, 2006, ISBN: 0470093552
  • Java 2 Unleashed, J. Jaworski, Sams, 1999, ISBN: 0672316315
  • Java for Students, D. Bell, M. Parr, Prentice-Hall, 2010, 6th edition, ISBN-13: 9780273731221
  • Distributed Systems, A.S. Tanenbaum, M. v. Steen, Prentice-Hall, 2007, ISBN-13: 9781292038001
  • Distributed systems: concepts and design, G. Coulouris, J. Dollimore, T. Kindberg, Addison Wesley, 2012, 5th edition, ISBN: 0273760599
  • Corba Distributed Objects Using Orbix, S. Baker, Addison Wesley, 1997, ISBN: 0201924757

Computing Science & Mathematics, University of Stirling, Stirling, Scotland, FK9 4LA
Email ehm@cs.stir.ac.uk - Web www.cs.stir.ac.uk/~ehm - Tel 01786 467421
Email ehm@cs.stir.ac.uk
Tel 01786 467421