Skip to main content


CSC3121 : Distributed Systems

  • Offered for Year: 2019/20
  • Module Leader(s): Dr Paul Ezhilchelvan
  • Teaching Assistant: Mr Chris Napier
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semester 1 Credit Value: 10
ECTS Credits: 5.0


To explain how concepts and techniques from computer networking, operating systems, and object-oriented programming can be combined to develop distributed systems. The course will cover the underlying theory of event ordering, logical and physical clocks, and then the practical aspects of distributed system structuring using the client-server approach.

Outline Of Syllabus

Structuring distributed applications: using client-server and remote procedure calls; also how atomic transactions, with their \'ACID\' properties provide a reliable way of sharing of information; design challenges in remote procedure calls and in realizing ACID properties; the solutions commonly deployed to address these challenges, together with their conceptual underpinnings (7 weeks).
Ordering of events: using logical and physical clocks.(2.5 weeks).
Alternative approaches to concurrency control in ACID realisations: timestamp ordering. (1.5 weeks).
Practical aspects: analysing a distributed system design and designing a total order delivery system.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture221:0022:00Lectures
Scheduled Learning And Teaching ActivitiesLecture260:3013:00Revision for end of semester exam & exam duration
Guided Independent StudyAssessment preparation and completion221:0022:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesPractical111:0011:00Practicals
Guided Independent StudyProject work111:0011:00Coursework
Guided Independent StudyIndependent study211:0021:00Background reading
Teaching Rationale And Relationship

Techniques and theory are presented in lectures. Two pieces of coursework seek to provide students with the experience of applying concepts and algorithms in solving challenging design problems. Developers from local middleware companies may be invited to offer seminars on how taught concepts are applied in practice.

Assessment Methods

The format of resits will be determined by the Board of Examiners

Description Length Semester When Set Percentage Comment
Written Examination901A80N/A
Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1M8Investigating & criticising a given system design for an application scenario. 4 pages.
Practical/lab report1M12Building a vital service of ordered message delivery to multiple computers. 4 pages.
Assessment Rationale And Relationship

The method of examination is designed to test the students' possession of knowledge as well as understanding of the concepts and techniques that underpin the organisation of distributed computing.
Coursework 1 will emphasise the importance of causal order related issues in the design of distributed systems. It describes an application scenario and requires the student to reason why the system design is flawed.
Coursework 2 will enable the students to appreciate the use of logical (not physical) clocks in building a vital service of ordered message delivery to multiple computers, without having to know the bound on message communication delays.

Study abroad students may request to take their exam before the semester 1 exam period, in which case the length of the exam may differ from that shown in the MOF.

N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 35%, the maximum mark returned for the module will normally be 35%.

Reading Lists