ΓραμματείαSecretariat: 2410 684574 | ΦοιτητικάStudents: 2410 684387 g-ds@uth.gr

Advanced Programming

Module ID

Υ302

Semester

3

Hours/Week - ECTS

5 – 5

Petros Lampsas

Professor

Learning Outcomes

Introduction to programming concepts in multi-tasking operating systems where concurrency must be imposed in co-operating tasks. Introduction to distributed algorithms. For the application of the presented concepts, students will be assigned programming projects that must be implemented in C programming language along with POSIX thread library in Linux environment.

Indicative Module Content

  • Processes/Threads
  • Job scheduling in Operating Systems
  • Process/Thread communication with/without shared memory
  • Definition of concurrency in programming, the critical section problem, algorithms for the critical section problem, verification of concurrent programs
  • Concurrency techniques: mutual exclusion, busy waiting, semaphores, monitors
  • Introduction to distributed algorithms