Distributed Systems - Syllabus
Embark on a profound academic exploration as you delve into the Distributed Systems course () within the distinguished Tribhuvan university's BCA department. Aligned with the BCA Curriculum, this course (CACS352) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 80 + 20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.
This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.
Course Description
The course introduces basic knowledge to give an understanding how modern distributed systems operate. The focus of the course is on distributed algorithms and on practical aspects that should be considered when designing and implementing real systems. Some topics covered during the course are causality and logical clocks, synchronization and coordination algorithms, transactions and replication, and end-to-end system design. In addition, the course explores recent trends exemplified by current highly available and reliable distributed systems.
Course objectives
The objective of the course is to make familiar with different aspect of the distributed system, middleware, system level support and different issues in designing distributed algorithms and finally systems.
Units
Key Topics
-
Characteristics of Distributed Systems
IN-1.1This topic covers the key characteristics of distributed systems, including decentralization, resource sharing, and concurrency.
-
Design Goals of Distributed Systems
IN-1.2This topic explores the design goals of distributed systems, including scalability, fault tolerance, and security.
-
Types of Distributed Systems
IN-1.3This topic discusses the different types of distributed systems, including client-server, peer-to-peer, and hybrid systems.
-
Case Study: The World Wide Web
IN-1.4This topic presents a case study of the World Wide Web as a distributed system, highlighting its architecture and key features.
Key Topics
-
Architectural Styles
AR-1This topic covers different architectural styles used in designing distributed systems, including their characteristics and trade-offs.
-
Middleware Organization
AR-2This topic explores the organization and design of middleware in distributed systems, including its role in enabling communication and coordination between components.
-
System Architecture
AR-3This topic delves into the overall system architecture of distributed systems, including the relationships and interactions between components and subsystems.
-
Example Architectures
AR-4This topic provides concrete examples of distributed system architectures, illustrating how different architectural styles and middleware organizations are applied in real-world systems.
Key Topics
-
Threads
PR-3.1Threads are a way to achieve concurrency in a program, allowing multiple flows of execution to run concurrently within a single process.
-
Virtualization
PR-3.2Virtualization is a technology that allows multiple virtual machines to run on a single physical machine, improving resource utilization and isolation.
-
Clients
PR-3.3Clients are entities that request services or resources from a server, often in a distributed system or network.
-
Servers
PR-3.4Servers are entities that provide services or resources to clients, often in a distributed system or network.
-
Code Migration
PR-3.5Code migration refers to the process of moving code from one environment or system to another, often in a distributed system or cloud computing context.
Key Topics
-
Nature of Internship
CO-1The internship work should be relevant to the field of computer science and information technology, with a minimum duration of 180 hours or ten weeks.
-
Phases of Internship
CO-2The internship evaluation consists of three phases: Proposal Submission, Mid-Term Submission, and Final Submission.
-
Provision of Supervision
CO-3A regular faculty member of the college is assigned as a supervisor to supervise the students throughout the internship period.
-
Provision of Mentorship
CO-4A regular employee of the intern providing organization is assigned as a mentor to guide the students throughout the internship period.
-
Evaluation Scheme
CO-5The evaluation scheme consists of Proposal Defense, Midterm, and Final Defense, with a total of 200 marks.
Key Topics
-
Circular Flow of Income and Expenditure
NA-1Understanding the circular flow of income and expenditure in different economic sectors, including two, three, and four sector economies.
-
Concepts of National Income
NA-2Exploring the different concepts of national income, including GDP, NDP, GNP, NNP, national income at factor cost, personal income, disposable personal income, and per capita income.
-
Real and Nominal GDP
NA-3Distinguishing between real and nominal GDP, and understanding the importance of the GDP deflator.
-
Computation of National Income
NA-4Learning the three methods of computing national income: Product, Income, and Expenditure methods, with practical application using Excel.
Key Topics
-
Nature of Internship
CO-1The internship work should be relevant to the field of computer science and information technology, with a minimum duration of 180 hours or ten weeks.
-
Phases of Internship
CO-2The internship evaluation consists of three phases: Proposal Submission, Mid-Term Submission, and Final Submission.
-
Provision of Supervision
CO-3A regular faculty member of the college is assigned as a supervisor to supervise the students throughout the internship period.
-
Provision of Mentorship
CO-4A regular employee of the intern providing organization is assigned as a mentor to guide the students throughout the internship period.
-
Evaluation Scheme
CO-5The evaluation scheme consists of Proposal Defense, Midterm, and Final Defense, with a total of 200 marks.
-
Report Contents
CO-6The internship report should contain prescribed content flow, including introduction, problem statement, objectives, and references.
-
Citation and Referencing
CO-7The citation and referencing standard should be APA referencing standard, with proper citation and referencing in the document.
Key Topics
-
Nature of Internship
CO-1The internship work should be relevant to the field of computer science and information technology, with a minimum duration of 180 hours or ten weeks.
-
Phases of Internship
CO-2The internship evaluation consists of three phases: Proposal Submission, Mid-Term Submission, and Final Submission.
-
Provision of Supervision
CO-3A regular faculty member of the college is assigned as a supervisor to supervise the students throughout the internship period.
-
Provision of Mentorship
CO-4A regular employee of the intern providing organization is assigned as a mentor to guide the students throughout the internship period.
-
Evaluation Scheme
CO-5The evaluation scheme consists of Proposal Defense, Midterm, and Final Defense, with a total of 200 marks.
-
Report Contents
CO-6The internship report should contain prescribed content flow, including introduction, problem statement, objectives, and references.
Key Topics
-
Introduction to Fault Tolerance
FA-1This topic introduces the concept of fault tolerance in distributed systems, highlighting its importance and challenges.
-
Process Resilience
FA-2This topic explores techniques for ensuring process resilience in distributed systems, including error detection and recovery.
-
Reliable Client-Server Communication
FA-3This topic discusses methods for achieving reliable communication between clients and servers in distributed systems, including error handling and retries.
-
Reliable Group Communication
FA-4This topic covers techniques for ensuring reliable communication among groups of processes in distributed systems, including multicast and broadcast protocols.
-
Distributed Commit
FA-5This topic examines the challenges and solutions for achieving distributed commit in distributed systems, including two-phase commit protocols.
-
Recovery
FA-6This topic explores strategies for recovering from failures in distributed systems, including rollback recovery and checkpointing.
Key Topics
-
Challenges and Approach of E-government Security
SE-1This topic covers the challenges faced by e-government in terms of security and the approaches to address them. It explores the importance of security in e-government and the ways to mitigate risks.
-
Security Management Model
SE-2This topic introduces a security management model for e-government, outlining the key components and processes involved in ensuring the security of e-government systems.
-
E-Government Security Architecture
SE-3This topic delves into the architecture of e-government security, including the design and implementation of secure systems and infrastructure for e-government services.
-
Security Standards
SE-4This topic covers the security standards and guidelines for e-government, including international standards and best practices for ensuring the security of e-government systems and data.
-
Data Transaction Security
SE-5Security measures for protecting data during transactions in e-commerce.
Lab works