Εισαγωγή στη σχεδίαση γλωσσών. Ιστορική επισκόπιση. Τύποι. Τιμές. Δηλώσεις. Εκφράσεις. Δομή προγράμματος (διαδικαστικές και αντικειμενοστρεφείς αρχιτεκτονικές, εναλλακτικές αρχιτεκτονικές προγραμμάτων). Διαδικασίες. Συναρτήσεις και μέθοδοι (παράμετροι, διαχείριση μνήμης, αναδρομή, παραμετρικά υποπρογράμματα). Δομημένα δεδομένα (πίνακες, εγγραφές και τάξεις, δυναμικές δομές δεδομένων, strings, σύνολα, αρχεία). Κληρονομικότητα και δυναμική σύνδεση (πολυμορφισμός, abstract μέθοδοι και τάξεις, πολλαπλή κληρονομικότητα, κληρονομικότητα συμπεριφοράς). Συναρτησιακές γλώσσες (Lisp, συστήματα FP, σύγχρονες συναρτησιακές γλώσσες). Λογικός προγραμματισμός (Prolog, δεδομένα αντικείμενα, αποδοτικότητα στην Prolog). Συνδρομικότητα και διαδικτύωση (συγχρονισμός διεργασιών και επικοινωνία, διαδικτυακός προγραμματισμός, προγραμματισμός πραγματικού χρόνου). Συντακτικό. Σημασιολογικά. Είσοδοι/έξοδοι. Γραφικές διεπαφές χρήστη. Μελλοντικές προοπτικές. Εργαστηριακές ασκήσεις.
Εαρ. Εξάμηνο 2010 - 2011.
Πρόγραμμα: Δευτέρα 14.00-16.00 και Τρίτη 14.00-16.00 Αίθ. 3
Τα μαθήματα ξεκινούν στις 21-Φεβ-2011.