Skip to main content

Module

CSC3121 : Distributed Systems

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

Aims

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.
Ordering of events: using logical and physical clocks.
Practical aspects: analysing a distributed system design and designing a total order delivery system.

Teaching Methods

Please note that module leaders are reviewing the module teaching and assessment methods for Semester 2 modules, in light of the Covid-19 restrictions. There may also be a few further changes to Semester 1 modules. Final information will be available by the end of August 2020 in for Semester 1 modules and the end of October 2020 for Semester 2 modules.

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion281:0028:0014 hours per assessment
Structured Guided LearningLecture materials201:0020:00recorded lectures (20)
Scheduled Learning And Teaching ActivitiesSmall group teaching41:004:00PiP guidance on coursework
Structured Guided LearningStructured non-synchronous discussion81:008:00Support for assessment and deep learning
Guided Independent StudyIndependent study401:0040:00Guidance through structured discussions
Total100:00
Teaching Rationale And Relationship

Techniques and theory are presented in lectures. Two pieces of coursework assessments seek to provide students with the experience of applying concepts and algorithms in solving challenging design problems. Experiences from interacting with middleware and graph DB companies would be used to show how taught concepts are applied in practice, e.g., in distributed ledger (aka blockchain) and database systems.

Assessment Methods

Please note that module leaders are reviewing the module teaching and assessment methods for Semester 2 modules, in light of the Covid-19 restrictions. There may also be a few further changes to Semester 1 modules. Final information will be available by the end of August 2020 in for Semester 1 modules and the end of October 2020 for Semester 2 modules.

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

Other Assessment
Description Semester When Set Percentage Comment
Prob solv exercises1M50Investigating and criticising a given system design for application scenarios 1000 words (max)
Prob solv exercises1M50application of concepts in building a vital distributed services eg. total ordering of messages; 1000 words (max)
Assessment Rationale And Relationship

The two assessments are designed to test the students' knowledge as well as understanding of the concepts and techniques that underpin the organisation of distributed computing.
Coursework 1 will particularly emphasise the importance of causal order related issues in the design of distributed systems and crash-tolerance in client-server systems. For example, it will describe an application scenario and require the student to reason why the system design is flawed.
Coursework 2 will, for example, 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.

Reading Lists

Timetable