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

Κωδ.: 
ΘΠ01
Εξάμηνο: 
5
Τύπος μαθήματος νέο ΠΠΣ : 
Προαιρετικά Μαθήματα (ΠΜ)
K (new pps): 
A
E1: 
B
E2: 
B
E3: 
E
Ώρες Θεωρίας: 
3
Ώρες Φροντιστηρίου: 
1
Κατεύθυνση: 
Θεωρητική Πληροφορική

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