Course Details
Course Code (English)
*
Semester
*
Title (English)
*
Lecture Hours (Weekly)
ECTS Credits
*
Course Type (English)
Prerequisites (English)
Course URL (e.g., on e-class)
Learning Outcomes (English)
The purpose of the course is to familiarize students with the concepts and problems encountered when creating multi-threaded programs and what facilities the operating systems and higher level programming languages offer to mitigate these problems. Expected outcomes include: - Understanding of problems encountered by concurrent access in common resources - Ability to design and implement software based on concurrent programming principles - Practical excercises on common techniques for guaranteeing fault tolerance and functional correctness - Exploitation of offered operating system services for these purposes.
General Competencies (English)
Retrieve, analyse and synthesise data and information, with the use of necessary technologies Work in teams Advance free, creative and causative thinking
Course Content (English)
Concurrent programming, multi-threaded programming, Process and thread synchronization, Practical examples and common techniques, inter-process communication, shared memory, multicore systems, condition variables, practical examples in C, Concurrent programming in databases, Consistency models in SQL and NoSQL Databases, Fault Tolerance, advanced examples
Use of ICT (English)
C programming
Is it elective?
Άγνωστο
Ναι
Όχι
Load within semester (Hours)
Lecture Hours
Lab Hours
Independent Study
*
Project Work
*
Lab Report
*