- Code
- CMP 503
- Name
- Advanced Distributed Programming
- Semester
- 3
- Lecture hours
- 3.00
- Seminar hours
- 1.00
- Laborator hours
- 0.00
- Credits
- 3.50
- ECTS
- 6.00
- Description
-
The course “Advanced Distributed Programming” focuses on concepts and techniques for building robust, secure, and scalable distributed applications. It covers communication models, synchronization, state management, and real-world distributed environments like cloud systems, microservices, and messaging technologies.
- Objectives
-
To understand the architecture and design of distributed systems. To apply communication and synchronization protocols in code. To develop distributed applications using modern technologies. To use best practices for performance, security, and scalability.
- Java
- Tema
- 1
- Introduction to Distributed Programming
- 2
- Architectures and Communication Models
- 3
- Communication with RPC and gRPC
- 4
- Synchronization and Coordination
- 5
- State Management and Caching
- 6
- Failures and Fault Tolerance
- 7
- Replication and Consistency Models
- 8
- Midterm Exam
- 9
- Microservices and RESTful Interfaces
- 10
- Docker and Orchestration with Kubernetes
- 11
- Message-based and Event-driven Programming
- 12
- Cloud and Serverless Programming
- 13
- Monitoring, Logging, and Testing in Distributed Systems
- 14
- Security in Distributed Systems
- 15
- Final Project Presentations
- 16
- Final Exam
- 1
- Students will understand the design and implementation of distributed applications.
- 2
- They will apply effective communication between components in a network.
- 3
- They will develop resilient systems using modern tools such as Docker and Kubernetes.
- 4
- They will understand the challenges of replication, synchronization, and state management.
- Quantity Percentage Total percent
- Midterms
- 1 25% 25%
- Quizzes
- 0 0% 0%
- Projects
- 0 0% 0%
- Term projects
- 0 0% 0%
- Laboratories
- 1 15% 15%
- Class participation
- 1 10% 10%
- Total term evaluation percent
- 50%
- Final exam percent
- 50%
- Total percent
- 100%
- Quantity Duration (hours) Total (hours)
- Course duration (including exam weeks)
- 16 4 64
- Off class study hours
- 14 5 70
- Duties
- 0 0 0
- Midterms
- 1 10 10
- Final exam
- 1 10 10
- Other
- 0 0 0
- Total workLoad
- 154
- Total workload / 25 (hours)
- 6.16
- ECTS
- 6.00