CSC3121 : Distributed Systems
CSC3121 : Distributed Systems
- Offered for Year: 2024/25
- Module Leader(s): Dr Paul Ezhilchelvan
- Owning School: Computing
- Teaching Location: Newcastle City Campus
Semesters
Your programme is made up of credits, the total differs on programme to programme.
Semester 1 Credit Value: | 10 |
ECTS Credits: | 5.0 |
European Credit Transfer System | |
Pre-requisite
Modules you must have done previously to study this module
Pre Requisite Comment
N/A
Co-Requisite
Modules you need to take at the same time
Co Requisite Comment
N/A
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.
Learning Outcomes
Intended Knowledge Outcomes
To be able to:
- gain deeper understanding of theoretical and conceptual foundations of distributed computing.
- recognise the inherent difficulties that arise due to distributed-ness of computing resources.
- recognise the feasibilities and the impossibilities in managing resources.
- identify the problems in developing distributed applications.
Intended Skill Outcomes
To be able to:
- apply existing solutions to the core problems.
- develop appropriate variations of existing solutions to meet the development contexts.
Teaching Methods
Teaching Activities
Category | Activity | Number | Length | Student Hours | Comment |
---|---|---|---|---|---|
Guided Independent Study | Assessment preparation and completion | 14 | 1:00 | 14:00 | 14 hours preparation on assessment |
Scheduled Learning And Teaching Activities | Lecture | 11 | 1:00 | 11:00 | In person lecturing |
Guided Independent Study | Assessment preparation and completion | 1 | 12:00 | 12:00 | Exam revision and completion of exam |
Structured Guided Learning | Lecture materials | 10 | 1:00 | 10:00 | Recorded lectures (10) |
Scheduled Learning And Teaching Activities | Small group teaching | 4 | 1:00 | 4:00 | PiP guidance on assessments |
Structured Guided Learning | Structured non-synchronous discussion | 8 | 1:00 | 8:00 | Support for assessment and deep learning |
Guided Independent Study | Independent study | 41 | 1:00 | 41:00 | Guidance through structured discussions |
Total | 100:00 |
Teaching Rationale And Relationship
Techniques and theory are presented in lectures. Assessments seek to provide students with the experience of applying concepts and algorithms in solving challenging design problems. Experience 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.
Reading Lists
Assessment Methods
The format of resits will be determined by the Board of Examiners
Exams
Description | Length | Semester | When Set | Percentage | Comment |
---|---|---|---|---|---|
Written Examination | 90 | 1 | A | 100 | Closed book examination |
Formative Assessments
Formative Assessment is an assessment which develops your skills in being assessed, allows for you to receive feedback, and prepares you for being assessed. However, it does not count to your final mark.
Description | Semester | When Set | Comment |
---|---|---|---|
Prob solv exercises | 1 | M | Investigating and criticising a given system design for application scenarios 800 words (max) |
Assessment Rationale And Relationship
The 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 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.
Timetable
- Timetable Website: www.ncl.ac.uk/timetable/
- CSC3121's Timetable
Past Exam Papers
- Exam Papers Online : www.ncl.ac.uk/exam.papers/
- CSC3121's past Exam Papers
General Notes
Based on module CSC3101
Welcome to Newcastle University Module Catalogue
This is where you will be able to find all key information about modules on your programme of study. It will help you make an informed decision on the options available to you within your programme.
You may have some queries about the modules available to you. Your school office will be able to signpost you to someone who will support you with any queries.
Disclaimer
The information contained within the Module Catalogue relates to the 2024 academic year.
In accordance with University Terms and Conditions, the University makes all reasonable efforts to deliver the modules as described.
Modules may be amended on an annual basis to take account of changing staff expertise, developments in the discipline, the requirements of external bodies and partners, and student feedback. Module information for the 2025/26 entry will be published here in early-April 2025. Queries about information in the Module Catalogue should in the first instance be addressed to your School Office.