Subject: Introduction to Distributed Programming
(17 -
ESI058) Basic Information
Native organizations units
Course specification
Course is active from 23.07.2017.. The primary goal of this course is to gain the necessary skills in distributed programming, i.e. information system development in a distributed environment. Learn about distributed algorithms and architectures, as well as the challenges brought by distributed systems. Develop distributed systems and analyze potential issues in the domains of fault tolerance, synchronization, replication and information security. Capability to autonomously develop solutions based on the client-server system architecture. Practical experimentation and resolution of issues arising in distributed environments, with a special emphasis on fault tolerance, data and service replication and consistency. Familiarity with the minimum information security requirements in distributed systems. Capability to develop a platform for distributed computing. Each lecture will consist of three parts: theoretical introduction, algorithms in each specific area, practical examples from infrastructure systems (the Internet in the domain of telecommunications and the Smart Grid as an energy infrastructure). The following themes will be covered: 1) Introduction to distributed systems 2) Distributed architectures 3) Introduction to distributed algorithms 4) Processes 5) Communications 6) Synchronization 7) Replication and consistency 8) Information security in distributed systems 9) Fault tolerance 10) Monitoring and control Lectures; Laboratory exercises; Consultations.
|