CE328 - Λογικός και Συναρτησιακός Προγραμματισμός

 

 
  Εξάμηνο 6ο  
  Διδάσκων: Δημήτρης Βράκας Λέκτορας βάσει Π.Δ. 407/80  
 
 
 
Περιγραφή
 
 

 

Στόχος του μαθήματος είναι να γνωρίσουν οι φοιτητές το δηλωτικό προγραμματισμό βασισμένο στη λογική (declarative programming) και να αποκτήσουν την ικανότητα να αναπτύσουν προγράμματα στη γλώσσα Prolog.

Το μάθημα περιλαμβάνει:
Εισαγωγή στη λογική, προτασιακός και κατηγορηματικός λογισμός, η αρχή της ανάλυσης, προτάσεις Horn, λογικός προγραμματισμός, η γλώσσα Prolog, διαφορές Prolog - λογικού προγραμματισμού, συστήματα  Prolog.

Προγραμματισμός με Prolog, γεγονότα, κανόνες, ερωτήσεις, ενοποίηση, οπισθοδρόμηση, σύνθετες δομές δεδομένων, λίστες, τελεστές, ενσωματωμένα κατηγορήματα, έλεγχος, είσοδος/έξοδος.

Αρχές συναρτησιακού λογισμού, απλές συναρτήσεις, σύνθεση συναρτήσεων, εκφράσεις λάμδα, αναδρομικές συναρτήσεις, λίστες, η γλώσσα LISP, σύγκριση LISP-Prolog.

 

 
  Διαλέξεις  
 

 

Οι διαλέξεις δίνονται κάθε Πέμπτη 17:00 - 21:00 στην Αίθουσα 3 του κτιρίου επί της οδού Γαμβέτα.

Ο Προγραμματισμός των διαλέξεων είναι:

Α/Α
Ημερομηνία
Τίτλος Σημειώσεις Παραδείγματα
1
1/3/2007
Εισαγωγή στην Prolog, Σύνταξη Προγραμμάτων
 
8/3/2007
Αναβλήθηκε λόγω Κατάληψης
   
2
15/3/2007
Ταυτοποίηση Μηχανισμός Ελέγχου, Αναδρομή
3
22/3/2007
Σύνθετοι Όροι, Εισαγωγή στις Λίστες
4
29/3/2007
5/4/2007
ΠΑΣΧΑ
12/4/2007
ΠΑΣΧΑ
5
19/4/2007
Διαδικασίες Χειρισμού Λιστών
6
26/4/2007
Αριθμητικές Πράξεις και Συναρτήσεις,
7
3/5/2007
Διαδικασίες I/O, Συμβολοσειρές,
8
10/5/2007
Δυναμική Τροποποίηση Προγράμματος - Διαχείριση Λύσεων
Πόλεις - Διαδρομές
9
17/5/2007
Μεταβλητή Κλήση, Σύνθεση Διάσπαση Όρων, Αποκοπή, Οπισθοδρόμηση,
10
24/5/2007
Μεθοδολογία Προγραμματισμού
 
11
31/5/2007
Ανάπτυξη Εφαρμογών σε PROLOG
   
12
7/6/2007
Εισαγωγή στην γλώσσα LISP
   
13
14/6/2007
Παραδείγματα προγραμμάτων PROLOG, Ανακεφαλαίωση
   

 

 
  Εργασίες  
 

Στα πλαίσια του Μαθήματος και του Εργαστηρίου θα παραδοθεί μία (1) (άλυτη) προαιρετική εργασία στους φοιτητές. Η εργασία παραδίδεται λυμένη από τους φοιτητές εντός συγκεκριμένης προθεσμίας.

 

Εκφώνηση Εργασίας για το Ακαδημαϊκό Έτος 2006-2007

 

 
  Τρόπος Εξέτασης  
 

 

Τρόπος Εξέτασης

Ποσοστό επί της
Τελικής Βαθμολογίας

Σχόλια
Γραπτές Εξετάσεις
100%
Γραπτά τα οποία δεν συγκεντρώνουν βαθμολογία μεγαλύτερη της βάσης (5/10) απορρίπτονται, άσχετα με την συνολική βαθμολογία (μαζί με την εργασία) που συγκεντρώνει ο φοιτητής.
Εργασία
20%
Η εργασία είναι προαιρετική. Δεν είναι απαραίτητη η εκπόνηση της για να περάσουν οι φοιτητές το μάθημα.

 

ΤΕΛΙΚΗ ΒΑΘΜΟΛΟΓΙΑ

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

 

Βασικά Συγγράμματα

  • PROγραμματίζοντας στη LOGική, Μ. Κατζουράκη, Μ. Γεργατσούλης, Σ. Κόκκοτος, Ελληνική Εταιρία Επιστημόνων Η/Υ και Πληροφορικής, Αθήνα 1991.
  • Συμπληρωματικές Σημειώσεις για το μάθημα ΛΟΓΙΚΟΣ & ΣΥΝΑΡΤΗΣΙΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (διανέμονται)
  • Οδηγός Εκμάθησης Prolog
Συμπληρωματική Βιβλιογραφία
Εισαγωγικού Επιπέδου
  • Programming in Prolog, W. Clocksin, C. Mellish, Springer-Verlang.
  • Prolog Programming for Artificial Intelligence, Ivan Bratko, Addison-Wesley, (2nd or 3rd ed.).
  • Common LISPcraft, Robert Wilensky, Norton, 1986.
  • LISP, Patrick H. Winston, Berthold K.P. Horn, 3rd edition, Addison-Wesley, 1988.

     

Προχωρημένου Επιπέδου

  • Τεχνητή Νοημοσύνη, Β' Έκδοση, Ι.Βλαχάβας, Π.Κεφαλάς, Ν. Βασιλειάδης, Φ.Κόκκορας και Η. Σακελλαρίου. Εκδόσεις Γαρταγάνη, Θεσσαλονίκη 2005.
  • Τεχνητή Νοημοσύνη, Έμπειρα Συστήματα και LISP, Γ. Δουκίδης, Μ. Αγγελίδης, 1992.
  • The Art of Prolog, E. Shapiro and L. Sterling, MIT Press
  • The Craft of Prolog, R. O'Keefe, MIT Press.
  • On LISP: Advanced Techniques for Common LISP, P. Graham, Prentice Hall, 1993.
  • Artificial Intelligence Programming, E. Charniak, C.K. Riesbeck, D.V. McDermott, Lawrence Erlbaum, 1987.

 

 
  Χρήσιμοι Σύνδεσμοι  
 

 

 

 
  Ανακοινώσεις  
 

 

  • (3/5/2007) Ανακοινώθηκε η προαιρετική εργασία για το μάθημα.
  • (2/3/2007) Τα μαθήματα ξεκίνησαν την Πέμπτη 1/3/2007.