Distributed Systems - Syllabus

Course Overview and Structure

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.1

    This topic covers the key characteristics of distributed systems, including decentralization, resource sharing, and concurrency.

  • Design Goals of Distributed Systems
    IN-1.2

    This topic explores the design goals of distributed systems, including scalability, fault tolerance, and security.

  • Types of Distributed Systems
    IN-1.3

    This 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.4

    This 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-1

    This topic covers different architectural styles used in designing distributed systems, including their characteristics and trade-offs.

  • Middleware Organization
    AR-2

    This topic explores the organization and design of middleware in distributed systems, including its role in enabling communication and coordination between components.

  • System Architecture
    AR-3

    This topic delves into the overall system architecture of distributed systems, including the relationships and interactions between components and subsystems.

  • Example Architectures
    AR-4

    This 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.1

    Threads are a way to achieve concurrency in a program, allowing multiple flows of execution to run concurrently within a single process.

  • Virtualization
    PR-3.2

    Virtualization is a technology that allows multiple virtual machines to run on a single physical machine, improving resource utilization and isolation.

  • Clients
    PR-3.3

    Clients are entities that request services or resources from a server, often in a distributed system or network.

  • Servers
    PR-3.4

    Servers are entities that provide services or resources to clients, often in a distributed system or network.

  • Code Migration
    PR-3.5

    Code 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-1

    The 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-2

    The internship evaluation consists of three phases: Proposal Submission, Mid-Term Submission, and Final Submission.

  • Provision of Supervision
    CO-3

    A regular faculty member of the college is assigned as a supervisor to supervise the students throughout the internship period.

  • Provision of Mentorship
    CO-4

    A regular employee of the intern providing organization is assigned as a mentor to guide the students throughout the internship period.

  • Evaluation Scheme
    CO-5

    The 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-1

    Understanding the circular flow of income and expenditure in different economic sectors, including two, three, and four sector economies.

  • Concepts of National Income
    NA-2

    Exploring 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-3

    Distinguishing between real and nominal GDP, and understanding the importance of the GDP deflator.

  • Computation of National Income
    NA-4

    Learning the three methods of computing national income: Product, Income, and Expenditure methods, with practical application using Excel.

Key Topics

  • Nature of Internship
    CO-1

    The 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-2

    The internship evaluation consists of three phases: Proposal Submission, Mid-Term Submission, and Final Submission.

  • Provision of Supervision
    CO-3

    A regular faculty member of the college is assigned as a supervisor to supervise the students throughout the internship period.

  • Provision of Mentorship
    CO-4

    A regular employee of the intern providing organization is assigned as a mentor to guide the students throughout the internship period.

  • Evaluation Scheme
    CO-5

    The evaluation scheme consists of Proposal Defense, Midterm, and Final Defense, with a total of 200 marks.

  • Report Contents
    CO-6

    The internship report should contain prescribed content flow, including introduction, problem statement, objectives, and references.

  • Citation and Referencing
    CO-7

    The citation and referencing standard should be APA referencing standard, with proper citation and referencing in the document.

Key Topics

  • Nature of Internship
    CO-1

    The 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-2

    The internship evaluation consists of three phases: Proposal Submission, Mid-Term Submission, and Final Submission.

  • Provision of Supervision
    CO-3

    A regular faculty member of the college is assigned as a supervisor to supervise the students throughout the internship period.

  • Provision of Mentorship
    CO-4

    A regular employee of the intern providing organization is assigned as a mentor to guide the students throughout the internship period.

  • Evaluation Scheme
    CO-5

    The evaluation scheme consists of Proposal Defense, Midterm, and Final Defense, with a total of 200 marks.

  • Report Contents
    CO-6

    The internship report should contain prescribed content flow, including introduction, problem statement, objectives, and references.

Key Topics

  • Introduction to Fault Tolerance
    FA-1

    This topic introduces the concept of fault tolerance in distributed systems, highlighting its importance and challenges.

  • Process Resilience
    FA-2

    This topic explores techniques for ensuring process resilience in distributed systems, including error detection and recovery.

  • Reliable Client-Server Communication
    FA-3

    This topic discusses methods for achieving reliable communication between clients and servers in distributed systems, including error handling and retries.

  • Reliable Group Communication
    FA-4

    This topic covers techniques for ensuring reliable communication among groups of processes in distributed systems, including multicast and broadcast protocols.

  • Distributed Commit
    FA-5

    This topic examines the challenges and solutions for achieving distributed commit in distributed systems, including two-phase commit protocols.

  • Recovery
    FA-6

    This 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-1

    This 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-2

    This 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-3

    This 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-4

    This 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-5

    Security measures for protecting data during transactions in e-commerce.

Lab works