Αρχές Γλωσσών Προγραμματισμού

Εξάμηνο:
5ο
Τύπος Μαθήματος:
Προαιρετικό (ΠΜ)
Κατεύθυνση:
CS (Computer Science)
Κωδικός:
ΘΠ01
ECTS:
6
Διδακτικές Ώρες
Ώρες Θεωρίας:
3
Ώρες Φροντιστηρίου:
1
Ώρες Εργαστηρίου:
0
Μάθημα στις Ειδικεύσεις
Θεμελιώσεις Πληροφορικής (S1):
B Βασικό
Διαχείριση Δεδομένων και Γνώσης (S2):
B Βασικό
Λογισμικό (S3):
-
Υλικό και Αρχιτεκτονική (S4):
-
Επικοινωνίες και Δικτύωση (S5):
-
Επεξεργασία Σήματος και Πληροφορίας (S6):
-
Σχετικά Μαθήματα
Σύντομη περιγραφή Μαθήματος

Το μάθημα καλύπτει βασικά και προχωρημένα θέματα των Αρχών Γλωσσών Προγραμματισμού που αποτελούν απαραίτητο υπόβαθρο σε διάφορους κλάδους της Πληροφορικής. Ιστορία των γλωσσών προγραμματισμού. Συντακτικό και σημασιολογία. Τύποι δεδομένων, εμβέλεια, διαδικασίες, μέθοδοι περάσματος παραμέτρων, υλοποίηση διαδικασιών. Βασικές κατηγορίες γλωσσών προγραμματισμού: διαδικαστικές, αντικειμενοστραφείς, λογικές, συναρτησιακές, παράλληλες. Θεωρητικά θέματα γλωσσών προγραμματισμού. Τεχνικές μετασχηματισμού και βελτιστοποίησης προγραμμάτων. Απόδειξη ορθότητας προγραμμάτων με τη χρήση της λογικής (λογική Floyd-Hoare). Λάμδα-λογισμός χωρίς τύπους: μετατροπές, κανονικές μορφές, θεώρημα Church-Rosser, εκφραστική ισχύς, εφαρμογές στις γλώσσες προγραμματισμού. Λάμδα-λογισμός με τύπους. Θεωρία τύπων και συστήματα εξαγωγής τύπων.

Βιβλιογραφία

• M. Scott, Πραγματολογία Γλωσσών Προγραμματισμού, Εκδόσεις Κλειδάριθμος, Αθήνα 2008.
• Adam Brooks Webber, Σύγχρονες Γλώσσες Προγραμματισμού: Μια πρακτική Εισαγωγή, Πανεπιστημιακές Εκδόσεις Κρήτης, 2009.
• Π. Σταματόπουλος, Λογικός και Συναρτησιακός Προγραμματισμός, Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών, 2016.
• Ν. Παπασπύρου και Π. Ροντογιάννης. Αρχές Γλωσσών Προγραμματισμού (σημειώσεις).
Επιπλέον παρέχονται διαφάνειες του Π. Ροντογιάννη, οι οποίες βρίσκονται στη σελίδα του μαθήματος, καθώς και συνιστώμενη ξενόγλωσση βιβλιογραφία.