====== Parallel and Distributed Programming ======
----
===== News =====
* November 27th, 2024: Dear student, next Wednesday **December 4t there will be no lesson**, as I will have to attend an institutional meeting in Bari.
* November 11th, 2024: Dear student, next Wednesday **November 13th there will be no lesson**, due to the concurrent presentation of a PhD thesis defense.
* October 22nd, 2024: Dear student, tomorrow there will be the graduation ceremony for L-31 and LM-18 degrees. The class is canceled.
----
===== General Info =====
**Teacher**:
* [[https://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=626|Prof. Andrea Polini]]
* Diego Bonura
**ESSE3 Link**
* [[|Parallel and Distributed Programming - AY 2024/25]]
**Scheduling of Lectures**:
* Scheduling is available at the following [[:didattica:ay2425:orario_en|link]]
**Degrees**:
* [[didattica:mscs|MSc in Computer Science (LM-18)]]
----
===== Distributed Programming Module =====
**Course Slides**
* {{ :didattica:ay2425:pdp:programmazionedistribuita_2024_v3.pdf |}}
**Webex**
* [[https://unicam.webex.com/unicam/ldr.php?RCID=5d89edcd49cea31f89e74c18a71448f4|Lesson of 30 September 2024]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=f4bbe7b49092840b3f3e2fd80172e7c8|Lesson of 7 October 2024]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=716d910e23e335fe1aa0a67cdc0e8c32|Lesson of 14 October 2024]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=c6140317eb3f6cf114a714671451a04c|Lesson of 21 October 2024]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=780bbc466dfbfa078fab11b1861e9788|Lesson of 28 October 2024]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=f861f1c6eff9d66f79022b0c29d861e0|Lesson of 4 November 2024]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=d9b41e898b56d5cbd05ff9b67693d7cf|Lesson of 11 November 2024]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=c9f5f09a8bc5527d21e1984a913a2740|Lesson of 18 November 2024]]
* [[https://unicam.webex.com/unicam/ldr.php?RCID=b9ef165e3c0ed48a52035090aef19861|Lesson of 25 November 2024]]
** Repo **
* https://github.com/meriturva/Parallel-and-Distributed-Programming
**Textbooks**
* Designing Data-Intensive Applications - Martin Kleppmann - O'Reilly Media, Inc.
**Exam project**
* The project should be about the implementation of a distributed application case. This application should be implemented using a combination of microservices (or actors), database, cache, and asynchronous communication technologies. It will be important to introduce some concepts such as transactions and queues into the project. A plus will be the implementation of saga, telemetry, and security mechanisms. It is not necessary to implement a frontend but it will be sufficient to make some APIs available.
----
===== Parallel Programming Module =====
**Lessons**
* Lesson recordings are available [[https://docs.google.com/spreadsheets/d/1JjIO6gtDmREP_vXstVJ9d3pbk9L0rKiOdf23QZ8_x4k/edit?usp=sharing|here]]
**Textbooks**
* [PM] P. Pacheco, M. Malensek - "Introduction to Parallel Programming", 2nd Edition, Morgan Kaufmann, 2021
* [HKE] W.W. Hwu, D.B. Kirk, I. El Hajj - "Programming Massively Parallel Processors - a hands-on approach", 4th Edition, Morgan Kaufmann, 2022