Πανεπιστήμιο Θεσσαλίας
Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Ταυτόχρονος Προγραμματισμός (ECE-321)
Ακαδημαϊκό έτος 2020-2021, Χειμερινό εξάμηνο
Διδάσκων: Σπύρος Λάλης (lalis@uth.gr), Γραφείο Ε9.
Βοηθοί: Μάνος Κουτσουμπέλιας (emkouts@gmail.com), Νάσος Γρηγορόπουλος (athgrigo@gmail.com), Γιώργος Πολυχρόνης (gpolychronis@uth.gr), Γιάννης Μπαδάκης (badakis@uth.gr), Γραφείο Β4.
Διαλέξεις: Τρίτη 14:00-16:00, Πέμπτη 09:00-11:00 (Teams)
Φροντιστήριο / Συζήτηση εργασιών: με ανακοίνωση του διδάσκοντα
Υλικό και ανακοινώσεις
Το υλικό του μαθήματος θα βρίσκεται πλέον στο σύστημα eclass (https://eclass.uth.gr/courses/E-CE_U_183/), μέσω του οποίου θα γίνονται και όλες οι ανακοινώσεις του μαθήματος για διαλέξεις, εργασίες και εξετάσεις. Την Παρασκευή 25/9 θα γίνει επαναφορά του eclass σε "καθαρή" κατάσταση, με εκκαθάριση όλων των εγγεγραμμένων φοιτητών. Όσοι ενδιαφέρονται να παρακολουθήσουν (επαναλάβουν) το μάθημα αυτό το εξάμηνο θα πρέπει να γραφτούν (ξανά) στο eclass από την Δευτέρα 28/9 και έπειτα.
Το μάθημα θα γίνει εξ' αποστάσεως μέσω της πλατφόρμας Teams (201_ΠΠΣ17.ECE321_ΤΑΥΤΟΧΡΟΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ). Ο κωδικός εγγραφής θα σταλεί στο eclass την ερχόμενη εβδομάδα. Οι διαλέξεις θα αρχίσουν την εβδομάδα 5-9 Οκτωβρίου. Η πρώτη διάλεξη, όπου θα συζητηθούν ο τρόπος διεξαγωγής και οι κανόνες του μαθήματος, θα γίνει Τρίτη 6/10 και 14:00-16:00.
Περιγραφή
Εισαγωγή στον ταυτόχρονο προγραμματισμό. Προβλήματα και μηχανισμοί συχγρονισμού και επικοινωνίας με και χωρίς κοινή μνήμη. Αμοιβαίος αποκλεισμός, ενεργή αναμονή, σηματοφόροι, ελεγκτές, κρίσιμη περιοχή υπό συνθήκη, CSP, tuple spaces.
Το μάθημα συμπεριλαμβάνει εργασίες προγραμματισμού με νήματα σε C ή/και Java.
Συγγράμματα
Τα βασικά συγγράμματα του μαθήματος είναι:
-
"Principles of Concurrent and Distributed Programming",
Ben Ari, 2nd ed., 2006, Addison Wesley.
"Αρχές Προγραμματισμού με Ταυτοχρονισμό και Κατανομή Λογισμικού",
Ben-Ari, 2η έκδοση, εκδόσεις Τζιόλας.
-
"Principles of Concurrent Programming",
Ben Ari, 1st ed., Prentice Hall.
"Ταυτόχρονος Προγραμματισμός",
Ben Ari, 1η έκδοση, εκδόσεις Κλειδάριθμος.
'Aλλα σχετικά συγγράμματα:
- "Concurrent Systems - Operating Systems, Database and Distributed Systems: An Integrated Approach", J. Bacon, 1998, Addison Wesley.
- "Concurrency - State Models & Java Programs", J. Magee & J. Kramer, 1999, Willey.
- "Concurrent Programming in Java", D. Lea, 2nd ed., 2000, Addison Wesley.
- "Operating System Concepts". Silberschatz, Galvin & Gagne, 7th ed., 2004, Wiley & Sons.
- "Operating Systems Design and Implementation", Tanenbaum & Woodhull, 3rd ed., 2006, Prentice Hall.
Βοηθητικό υλικό
Για αυτούς που θέλουν να το ψάξουν λίγο παραπάνω: