13S113KDP - Concurrent and Distributed Programming
Course specification | ||||
---|---|---|---|---|
Course title | Concurrent and Distributed Programming | |||
Acronym | 13S113KDP | |||
Study programme | Software Engineering | |||
Module | ||||
Type of study | bachelor academic studies | |||
Lecturer (for classes) | ||||
Lecturer/Associate (for practice) | ||||
Lecturer/Associate (for OTC) | ||||
ESPB | 6.0 | Status | mandatory | |
Condition | Object-Oriented Programming 2 | |||
The goal | Introducing basic concepts of concurrent and distributed programming to students. Introduction of concepts of different abstraction levels in concurrent and distributed programming. Enabling students to write concurrent and distributed programs for most common problems in different programming languages. | |||
The outcome | Understanding the basic concepts, algorithms, principles, problems, and solutions related to concurrent and distributed programming. Students should be able to identify different levels of abstraction in a concurrent and distributed programming, to independently write simple concurrent and distributed applications using Java language and to solve common problems of synchronization. | |||
Contents | ||||
URL to the subject page | https://rti.etf.bg.edu.rs/rti/ir3kdp/index.html | |||
URL to lectures | https://teams.microsoft.com/l/team/19%3a_iAFxut2Yo_jMhspRU1jwImn3k6rYnUs9uGMG4SocZA1%40thread.tacv2/conversations?groupId=11278807-cc07-44ca-9648-55a459b55a89&tenantId=1774ef2e-9c62-478a-8d3a-fd2a495547ba | |||
Contents of lectures | Process and synchronization concepts. Synchronization algorithms. Barriers. Semaphores. Split binary semaphores, passing the button. Monitors, disciplines, conditional variables, monitor states. Conditional regions. Message passing. Asynchronous and synchronous message passing. Direct and indirect appointment. Remote procedure calls. Rendezvous. | |||
Contents of exercises | Using semaphores, monitors, regions and message passing for solving problems: Readers- Writers, Producers-Consumers, One Lane Bridge, Dining Philosophers, Sleeping Barber, Roller coaster, Client-Server, etc. Distributed programming (CSP and Linda). Implementation of semaphores, regions, monitors, message passing, and remote method invocation in Java. Programming language Go. | |||
Literature | ||||
| ||||
Number of hours per week during the semester/trimester/year | ||||
Lectures | Exercises | OTC | Study and Research | Other classes |
2 | 2 | 1 | ||
Methods of teaching | Lectures, exercises, laboratory exercises, projects | |||
Knowledge score (maximum points 100) | ||||
Pre obligations | Points | Final exam | Points | |
Activites during lectures | 0 | Test paper | 40 | |
Practical lessons | 20 | Oral examination | 0 | |
Projects | 0 | |||
Colloquia | 40 | |||
Seminars | 0 |