Σημασιολογία Γλωσσών Προγραμματισμού

Ακαδημαϊκό Έτος 2019-2020

Ανακοίνωση: Το μάθημα της Πέμπτης 18 Μαρτίου 2020 θα πραγματοποιηθεί την προκαθορισμένη ώρα (12.00-14.00) μέσω της πλατφόρμας zoom (zoom.us). Παρακαλώ εγγραφείτε στην πλατφόρμα με το ονοματεπώνυμο σας. Μέχρι το βράδυ της Τετάρτης 18 Μαρτίου 2020, θα λάβετε mail/ειδοποίηση με περισσότερες λεπτομέρειες.

Ώρες διδασκαλίας του μαθήματος

Δευτέρα 13:00-15:00 (Αίθουσα B)

Πέμπτη 12:00-14:00 (Αίθουσα B)

Ύλη του μαθήματος

Σημασιολογία γλωσσών προγραμματισμού (Δηλωτική, Αξιωματική, Μηχανική). Ρόλος της σημασιολογίας

στη σχεδίαση και ανάπτυξη σύγχρονων γλωσσών προγραμματισμού. Σημασιολογία διαδικαστικών γλωσσών.

Πλήρεις σχέσεις μερικής διάταξης (cpos). Μονοτονικές και Συνεχείς Συναρτήσεις. Θεώρημα Σταθερού

Σημείου του Kleene. Σημασιολογία συναρτησιακών γλωσσών με αναδρομικούς ορισμούς και συναρτήσεις

υψηλής τάξης. Σημασιολογία λογικών προγραμμάτων. Μοντέλα Herbrand. Πλήρη πλέγματα (complete lattices)

και θεώρημα σταθερού σημείου των Knaster-Tarski. Θεώρημα ελάχιστου μοντέλου Herbrand. Σημασιολογία

της Άρνησης στο Λογικό Προγραμματισμό. Στρωματοποιημένα και τοπικά στρωματοποιημένα προγράμματα.

Καλώς-θεμελιωμένη σημασιολογία (well-founded semantics). Σημασιολογία σταθερού μοντέλου (stable model

semantics). Λογικός προγραμματισμός υψηλής τάξης. Θεωρία άπειρων παιγνίων και εφαρμογές στη

σημασιολογία γλωσσών προγραμματισμού.

Σημειώσεις και σχετικά άρθρα

Βαθμολογία

Θα υπάρξει μία μεγάλη ασκήση (με συντελεστή 40%) που θα απαιτεί μια τελική παρουσίαση.

Επιπλέον θα υπάρξει και τελική εξέταση η οποία θα έχει (προφανώς) συντελεστή 60%.

Παρατήρηση:

Το μάθημα προσφέρεται και σε (περιορισμένο αριθμό από) προπτυχιακούς φοιτητές που όμως θα πρέπει να

ικανοποιούν κάποιο από τα ακόλουθα κριτήρια:

       Να έχουν υψηλούς βαθμούς στα μαθήματα "Θεωρία Υπολογισμού" και "Αρχές Γλωσσών Προγραμματισμού"

(το άθροισμα των δύο βαθμών θα πρέπει να είναι μεγαλύτερο ή ίσο του 17),

       Αν δεν έχουν παρακολουθήσει ακόμη το μάθημα "Θεωρία Υπολογισμού", θα πρέπει να έχουν παρακολουθήσει τις

"Αρχές Γλωσσών Προγραμματισμού", να έχουν πάρει πολύ καλούς βαθμούς στις ασκήσεις, και να έχουν επικοινωνήσει

μαζί μου πριν την έναρξη του μαθήματος (ηλεκτρονικά ή διά ζώσης) ώστε να μου αιτιολογήσουν σύντομα το ενδιαφέρον

τους για το μάθημα.