production
Skip to Content

JC4001: DISTRIBUTED SYSTEMS (2024-2025)

Last modified: 14 Aug 2024 15:46


Course Overview

This course discusses core concepts of distributed systems, such as programming with distributed objects, multiple threads of control, multi-tier client-server systems, transactions and concurrency control, distributed transactions and commit protocols, and fault-tolerant systems. Practical sessions cover a set of techniques for the implementation of distributed system concepts such as programming with remote object invocation, thread management and socket communication.

Course Details

Study Type Undergraduate Level 4
Term First Term Credit Points 15 credits (7.5 ECTS credits)
Campus Offshore Sustained Study No
Co-ordinators
  • Dr Tryphon Lambrou

What courses & programmes must have been taken before this course?

  • Any Undergraduate Programme (Studied)
  • Programme Level 4
  • BSc In Computing Science (SCNU)

What other courses must be taken with this course?

None.

What courses cannot be taken with this course?

None.

Are there a limited number of places available?

No

Course Description

A summary of the concepts that the students will be introduced is given below:

  • Introduction to Distributed Systems.
  • Programming with Distributed Objects: Java RMI; Object Serialization; Managing Multiple Threads of Control; Security Policies; Multi-Tier Client-Server Systems.
  • Programming with Distributed Data Sources: Transactions and Concurrency Control; Distributed Transactions; Replication; Fault-Tolerant Systems.

The curriculum in this course in detail is as follows:

  • Course Introduction
  • Client-Server model, Remote Method Invocation
  • Serialization, Callbacks, RMI Activation
  • Basic programming concepts of concurrently executing Threads
  • Thread concurrency, Race Conditions, Critical Sections, Mutual Exclusion, Synchronization (Monitor), Producer-Consumer pattern
  • Socket communication
  • Transaction Management, ACID Properties, Failure Situations, Serial Equivalence
  • Transaction Management, Concurrency Control (Shared Read Locks, Strict Two-Phase Locking)
  • Optimistic Concurrency Control
  • Nested Transactions, Commit Protocols, Locking in Nested Transactions
  • Distributed Commit Protocols
  • Distributed Commit Protocols, Failure Situations
  • Distributed Deadlocks, Deadlock prevention, detection and resolution, Coffman Conditions
  • Reliability and Availability, Fault Tolerance, Active and Passive Replication

 


Contact Teaching Time

Information on contact teaching time is available from the course guide.

Teaching Breakdown

More Information about Week Numbers


Details, including assessments, may be subject to change until 30 August 2024 for 1st term courses and 20 December 2024 for 2nd term courses.

Summative Assessments

Class Test - Multiple Choice Questions

Assessment Type Summative Weighting 20
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback
Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualUnderstandDemonstrate mastery of core principles and concepts of distributed systems
ReflectionAnalyseThink analytically and creatively about how to implement distributed systems

Exam

Assessment Type Summative Weighting 50
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

2-hour Exam

Learning Outcomes
Knowledge LevelThinking SkillOutcome
Sorry, we don't have this information available just now. Please check the course guide on MyAberdeen or with the Course Coordinator

Computer Programming Exercise

Assessment Type Summative Weighting 30
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback
Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualUnderstandDemonstrate mastery of core principles and concepts of distributed systems
ReflectionAnalyseThink analytically and creatively about how to implement distributed systems
ReflectionCreateThink reflectively and create appropriate solutions by applying concepts and protocols

Formative Assessment

There are no assessments for this course.

Resit Assessments

Resubmission of failed elements (pass marks carried forward)

Assessment Type Summative Weighting
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback
Learning Outcomes
Knowledge LevelThinking SkillOutcome
Sorry, we don't have this information available just now. Please check the course guide on MyAberdeen or with the Course Coordinator

Course Learning Outcomes

Knowledge LevelThinking SkillOutcome
ConceptualUnderstandDemonstrate mastery of core principles and concepts of distributed systems
ReflectionAnalyseThink analytically and creatively about how to implement distributed systems
ReflectionCreateThink reflectively and create appropriate solutions by applying concepts and protocols

Compatibility Mode

We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to switch off compatibility mode for this site or upgrade your browser.