SylabUZ
Course name | Concurrent and distributed programming |
Course ID | 11.3-WE-INFP-CaDP-Er |
Faculty | Faculty of Computer Science, Electrical Engineering and Automatics |
Field of study | Computer Science |
Education profile | academic |
Level of studies | First-cycle Erasmus programme |
Beginning semester | winter term 2022/2023 |
Semester | 4 |
ECTS credits to win | 6 |
Course type | obligatory |
Teaching language | english |
Author of syllabus |
|
The class form | Hours per semester (full-time) | Hours per week (full-time) | Hours per semester (part-time) | Hours per week (part-time) | Form of assignment |
Lecture | 30 | 2 | - | - | Exam |
Laboratory | 30 | 2 | - | - | Credit with grade |
Principles of programming, Java programming, Computer architectures I and II.
Concurrent programming – basic concept: process, shared resources, critical section, mutual exclusion, synchronization, deadlock, starvation.
Aims of concurrent programming. Advantages and disadvantages of concurrent programming.
Semaphores: general semaphore, binary semaphore, synchronization of processes with usage of semaphores.
Concurrent programming in Java. Monitors. Additional methods of threads synchronization: blocking queued, barriers, countdown of latch and exchanger.
Classical problems of concurrent programming: dining philosophers problem, producer-consumer problem, readers-writers problems.
Characterization of Distributed Systems. Inter-process communication. Guidelines for design of inter-process communication.
Remote procedure call (RPC). Remote method invocation (RMI). How to build of distributed applications in Java RMI. Integration different distributed environments.
Time and coordination in distributed systems. Logical clock. Election algorithm. Transactions and concurrency control in distributed systems. Algorithms for deadlock detection in distributed systems.
Lecture: conventional lecture
Laboratory: laboratory exercises, group work
Outcome description | Outcome symbols | Methods of verification | The class form |
Lecture - obtaining a positive grade in written exam.
Laboratory - the main condition to get a pass are sufficient marks for all exercises and tests conducted during the semester.
Calculation of the final grade: = lecture 50% + laboratory 50%.
Modified by dr inż. Tomasz Gratkowski (last modification: 20-04-2022 17:11)