
About Course
🔄 Switching Mechanisms & Distributed Computing Systems
Course Code: 27015-COs-CS
Academy: Engineering Office for Technology and Software Services
🎯 Target Audience
-
Computer Science and Software Engineering Students
-
Network and Cloud Engineers
-
Developers interested in distributed and parallel computing systems
🕒 Course Duration
-
8 Weeks
-
16 Sessions
-
1.5 Hours per Session
-
Total: 24 Hours
✅ Course Objectives
-
Understand distributed and parallel computing systems
-
Learn switching techniques in communication and distributed networks
-
Explore cloud-native tools like containers and orchestration
-
Apply hands-on experience using simulation and real deployment environments
📚 Course Modules
🔹 Module 1: Introduction to Distributed Systems
-
What is a Distributed System?
-
Comparison: Centralized vs Distributed vs Parallel Systems
-
Real-world Examples: Google Cloud, Netflix, Blockchain
-
Core Components: Clients, Servers, Middleware
🔹 Module 2: Switching Mechanisms in Distributed Systems
-
Importance of Switching in Networking and Distributed Computing
-
Packet Switching: Principles, Pros & Cons
-
Circuit Switching: When and Why
-
Message Switching: Characteristics & Comparisons
-
Comparison of Switching Techniques
-
Hands-on: Network simulation tools for switching
🔹 Module 3: Distributed Computing Systems
-
What is Distributed Computing?
-
Architecture Models: Client-Server, Peer-to-Peer
-
Distributed System Architectures
-
Communication Protocols: RPC, REST, gRPC
-
Hands-on: Build a simple distributed application
🔹 Module 4: Parallel vs Distributed Computing
-
Key Differences between Parallel and Distributed Computing
-
Examples of Parallel Computing: Multi-threading, GPU
-
Role of Parallel Computing in Distributed Systems
-
Tools: OpenMP, MPI
🔹 Module 5: Advanced Parallel & Distributed Computing
-
Designing Parallel & Distributed Algorithms
-
Challenges: Synchronization, Consistency, Scalability
-
Fault Tolerance and Replication Techniques
-
Practical Exercises using MPI and Hadoop
🔹 Module 6: Security in Distributed & Parallel Systems
-
Security Challenges in Distributed Environments
-
Data Encryption and Secure Communication
-
Authentication & Authorization Mechanisms
-
Hands-on: Securing a distributed system application
🔹 Module 7: Cloud Computing and Containers
-
Integration between Cloud and Distributed Systems
-
Importance of Containers in scalable architectures
-
Tools: Docker and Kubernetes
-
Hands-on: Deploy a microservices-based distributed app with Kubernetes
🔹 Module 8: Capstone Projects and Real-World Applications
-
Design a scalable distributed system with parallel components
-
Build applications using Microservices Architecture
-
Performance monitoring and optimization
-
Final Presentation and Evaluation
🛠 Tools & Platforms Used
-
Docker & Kubernetes – Containerization and orchestration
-
Apache Kafka, RabbitMQ – Distributed messaging
-
MPI, OpenMP – Parallel programming
-
Hadoop, Spark – Big Data distributed computing
-
Wireshark – Network analysis
📌 Prerequisites
-
Solid understanding of TCP/IP and networking fundamentals
-
Basic knowledge of databases and data structures
-
Programming experience (preferably in Java or Python)
🏅 Deliverables
-
Certificate of Completion
-
Final Capstone Project
-
Source code repository and documentation
-
Deployment guides and performance reports