0% found this document useful (0 votes)
13 views

Distributed Systems Syllabus

The course 'Introduction to Distributed Systems' at Bonga University covers the principles, techniques, and practices for designing and implementing distributed systems. It includes hands-on lab work using Python and assessments such as quizzes, a mid-semester exam, a project, and a final exam. Prerequisites include knowledge of Operating Systems and Data Communication and Computer Networks.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Distributed Systems Syllabus

The course 'Introduction to Distributed Systems' at Bonga University covers the principles, techniques, and practices for designing and implementing distributed systems. It includes hands-on lab work using Python and assessments such as quizzes, a mid-semester exam, a project, and a final exam. Prerequisites include knowledge of Operating Systems and Data Communication and Computer Networks.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Bonga University

College of Engineering and Technology

Course syllabus

Course title: Introduction to Distributed Systems

Course code: COSC4038

Credit hours: 3 ECTS: 5 Contact hrs: 2 Lab hrs: 3 Tutorial hrs: 2

Prerequisite: CoSc3023-Operating Systems, CoSc2032-Data Communication and Computer Networks

Course category: compulsory

Year: IV Semester: II

Course Description

A distributed system is a computer system consisting of several independent computers, connected by a


network, that can work together to perform a task or provide a service. Typical examples include: the
World Wide Web, networked file systems, DNS, and massive multiprocessor supercomputers. In this
course we will focus on the principles, techniques, and practices relevant to the design and
implementation of such systems. The course takes a systems-oriented view of distributed systems,
concentrating on infrastructure software and providing hands-on experience of implementing distributed
systems.

Course objectives

At the end of this course, you will be able to:

▪ Explain what a distributed system is, why they would design a system as a distributed
system, and what the desired properties of such systems are;
▪ List the principles underlying the functioning of distributed systems describe the problems
and challenges associated with distributed systems, and evaluate the effectiveness and
shortcomings of their solutions;
▪ Describe how the principles are applied in contemporary distributed systems, explain how
they affect the software design
▪ Design a distributed system that fulfills requirements with regards to key distributed systems
properties (such as scalability, transparency, etc.)
▪ Understand and exercise on distributed system software development using basic OS
mechanisms as well as higher-level middleware and languages.
Course outline

129
Chapter 1: Introduction (2 hrs)

Chapter 2: Architectures (4 hrs)

Chapter 3: Processes (4 hrs)

Chapter 4: Communication (6 hrs)

Chapter 5: Naming (4 hrs)

Chapter 6: Synchronization (4 hrs)

Chapter 7: Consistency and Replication (4 hrs)

Chapter 8: Fault Tolerance (4 hrs)

Lab contents: Using Python programming language

Lab 1: Implementation of socket programming

Lab 2: Implementation of Client Server based program using RMI

Lab 3: Implementation of Client Server based program using RPC

Lab 4: Implementation of Clock Synchronization (logical/physical)

Lab 7: Implementation of multi-threaded client/server processes

Lab 8: Write Program to demonstrate process/code migration

ent methods
Assignment/quizzes 10 %

Mid semester examination 30%

Project ` 20%

Final examination 50%

Text books:

Andrew S. Tanenbaum and Maarten van Steen, “Distributed Systems, Principles and Paradigms”, 2nd
edition, Prentice Hall, 2007.

References:

1. G. F. Coulouris, J. Dollimore and T. Kindberg. Distributed Systems: Concepts and Design, 5th
Ed, Addison-Wesley, 2005.
2. Sukumar Ghosh, Distributed Systems: An Algorithmic Approach, Second Edition
130
3. A.D. Kshemkalyani, M. Singhal, Distributed Computing: Principles, Algorithms, and Systems,
ISBN: 9780521189842, Cambridge University Press, March 2011.
4. Hagit Attiya, Jennifer Welch. Distributed Computing: Fundamentals, Simulations, and Advanced
Topics
5. Gerard Tel. Introduction to Distributed Algorithms
6. K. Birman, Building Secure and Reliable Network Applications, Manning Publications Co., 1996

131

You might also like