Γλώσσες Προγραμματισμού ΙΙ


Κωδικός 3.4.3320.9
Εξάμηνο 9o
Ροή Λ - Λογισμικό Η/Υ
Κατηγορία Κατ' επιλογήν υποχρεωτικό
Ώρες Διδασκαλίας - Ώρες Εργαστηρίου 3 - 0
Διδάσκοντες Νικόλαος Παπασπύρου
Σύνδεσμοι MyCourses, Ιστοσελίδα Μαθήματος
Πλατφόρμα Διδασκαλίας Τμήμα 1: Microsoft Teams

Περιγραφή

Θέματα θεωρίας. Εξετάζεται σε βάθος το θεωρητικό υπόβαθρο των κυριότερων μοντέλων γλωσσών προγραμματισμού: προστακτικού, συναρτησιακού, λογικού, αντικειμενοστρεφούς και ταυτόχρονου προγραμματισμού. Θεωρία πεδίων και λ-λογισμός. Συστήματα τύπων. Σημασιολογία γλωσσών προγραμματισμού: λειτουργική, δηλωτική και αξιωματική.
Θέματα υλοποίησης. Εξετάζονται θέματα αποδοτικής υλοποίησης συναρτησιακών (ML και Haskell), λογικών (Prolog), και αντικειμενοστρεφών (π.χ. C++, Java και C#) γλωσσών προγραμματισμού. Αφηρημένες μηχανές και αλγόριθμοι αυτόματης διαχείρισης μνήμης. Θέματα υλοποίησης ταυτοχρονισμού και εξαιρέσεων. Γλώσσες σεναρίων (π.χ. Perl, Python, Ruby κλπ.).