CONCURRENCY PROGRAMMING

Course Information
TitleΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ / CONCURRENCY PROGRAMMING
CodeNIS-07-09
FacultySciences
SchoolInformatics
Cycle / Level1st / Undergraduate
Teaching PeriodWinter/Spring
CoordinatorPanagiotis Katsaros
CommonNo
StatusActive
Course ID600024969

Programme of Study: PPS-Tmīma Plīroforikīs (2019-sīmera)

Registered students: 136
OrientationAttendance TypeSemesterYearECTS
GENIKĪ KATEUTHYNSĪYPOCΗREŌTIKO KATA EPILOGĪ745

Class Information
Academic Year2024 – 2025
Class PeriodWinter
Faculty Instructors
Weekly Hours4
Total Hours52
Class ID
600261793
Course Type 2021
Specific Foundation
Mode of Delivery
  • Face to face
Erasmus
The course is also offered to exchange programme students.
Prerequisites
General Prerequisites
The course is self-contained. However, it is essential for the student to have programming experience in a high-level language.
Learning Outcomes
Cognitive: The main aim of the course is to understand the challenges of software design with concurrency and communication between multiple processes, of the problems and the security mechanisms to address them. Skills: Students are expected to be able to develop concurrent programs, to verify their correctness, and formulate algorithms for distributed systems based on fundamental correctness criteria.
General Competences
  • Apply knowledge in practice
  • Adapt to new situations
  • Make decisions
  • Work autonomously
  • Be critical and self-critical
  • Advance free, creative and causative thinking
Course Content (Syllabus)
Concurrency in programming languages (atomic statements, interleaving, correctness), The Critical Section problem, Verification of concurrent programs, Advanced algorithms for the Critical Section problem, Semaphores, Monitors, Channels, Spaces, Distributed algorithms, Global properties, Consensus, Real-Time Systems
Keywords
Concurrency, Distributed algorithms, Real-Time Systems
Educational Material Types
  • Notes
  • Slide presentations
  • Book
Use of Information and Communication Technologies
Use of ICT
  • Use of ICT in Course Teaching
  • Use of ICT in Communication with Students
Description
The course material is offered in Internet through the (moodle) software e-learning platform, which is also used for communicating with the students. The lectures take place by audiovisual teaching aids (electronic slides).
Course Organization
ActivitiesWorkloadECTSIndividualTeamworkErasmus
Lectures52
Reading Assigment95
Exams3
Total150
Student Assessment
Description
The students are evaluated based on their performance in the final exam and in an optional project assignment (30% bonus of the grade in the final exam) and their study is successful if the sum is higher than the threshold grade (5). The evaluation criteria, the written assignment and the results for the students' performance will be announced in the (moodle) software e-learning platform.
Student Assessment methods
  • Written Exam with Short Answer Questions (Formative, Summative)
  • Written Assignment (Formative, Summative)
  • Written Exam with Problem Solving (Formative, Summative)
Bibliography
Course Bibliography (Eudoxus)
1. M. Ben-Ari, "Αρχές Προγραμματισμού με Ταυτοχρονισμό και Κατανομή Λογισμικού", 2η έκδοση/2015, Εκδόσεις Τζιόλας, ISBN: 978-960-418-591-7 Κωδικός Βιβλίου στον Εύδοξο: 50655947 2. S. Ghosh, "Κατανεμημένα Συστήματα: μία αλγοριθμική προσέγγιση", 2η έκδοση/2023, Εκδόσεις Κλειδάριθμος, ISBN: 9789606454721 Κωδικός Βιβλίου στον Εύδοξο: 122075001
Additional bibliography for study
1. M. Herlihy and N. Shavit, "The art of multiprocessor programming", Morgan Kauffman, 2008 2. G. Taubenfeld, "Synchronization Algorithms and Concurrent Programming", Pearson / Prentice Hall, 2006 3. N.Lynch, "Distributed Algorithms", Morgan Kauffman, 1996 4. S. Oaks,"Java Security", O'Reilly, 1998
Last Update
04-09-2024