Μετάβαση στο περιεχόμενο

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

Δεύτερο «θεωρητικό» μάθημα προγραμματισμού: πώς σχεδιάζονται και υλοποιούνται οι γλώσσες, και πώς δουλεύουν οι μεταφραστές. Καλύπτει λεξική και συντακτική ανάλυση (κανονικές εκφράσεις, πεπερασμένα αυτόματα, γραμματικές BNF, εργαλεία flex/bison), εμβέλεια και διαχείριση μνήμης, μεταβίβαση παραμέτρων, και τα παραδείγματα συναρτησιακού (λ-λογισμός) και λογικού προγραμματισμού. Μεγάλο μέρος της ύλης το εφαρμόζεις σε υποχρεωτικό πρότζεκτ μεταφραστή.

Θέματα Τι λένε οι φοιτητές Περίγραμμα ⬇ Κατέβασε για AI

Με μια ματιά

Κωδικός CEID_23Y206
Εξάμηνο / τύπος 4ο, υποχρεωτικό Κατάλογος
ECTS 6 Κατάλογος
Ώρες / εβδομάδα 3 θεωρία + 1 φροντιστήριο + 2 εργαστήριο Κατάλογος
Τομέας ΛΥ Κατάλογος
Διδάσκοντες 2025-26 Ι. Γαροφαλάκης, Σπ. Σιούτας, Π. Χατζηδούκας, Ι. Βασιλόπουλος (ΕΔΙΠ) Κατάλογος
Αξιολόγηση (περίγραμμα) Τελική γραπτή 100% συν εργασία θεωρητικού και προγραμματιστικού χαρακτήρα με flex/bison Περίγραμμα
Εργασίες Πρότζεκτ flex/bison (υποχρεωτικό) και Python/Pandas (προαιρετικό για μεγαλύτερα έτη) Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο)
Βάση 3,5 σε κάθε μέρος και συνδυασμένος βαθμός πάνω από 5, κατά φοιτητές (ακουστά, 2026) Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο)

Τι θα μάθεις

Το επίσημο περίγραμμα ορίζει δώδεκα ενότητες, από την ιστορία των γλωσσών μέχρι τη λεξική/συντακτική ανάλυση και τα παραδείγματα προγραμματισμού Περίγραμμα. Στην πράξη οι διαφάνειες (Chapters 0–7) ακολουθούν αυτή τη ροή:

  • Εισαγωγή, ιστορική εξέλιξη γλωσσών, κριτήρια καλού σχεδιασμού, μεταφραστές και διερμηνευτές.
  • Φάσεις μετάφρασης, τυπικές γλώσσες, σύνταξη: λεξική ανάλυση με κανονικές εκφράσεις/αυτόματα (flex) και συντακτική ανάλυση με γραμματικές χωρίς συμφραζόμενα/BNF (bison).
  • Μεταβλητές, εκφράσεις, εντολές και τύποι δεδομένων.
  • Εμβέλεια (στατικός/δυναμικός κανόνας) και χρόνος δέσμευσης μνήμης, εγγραφές ενεργοποίησης (activation records).
  • Υποπρογράμματα και τρόποι μεταβίβασης παραμέτρων: call by value / reference / name.
  • Συναρτησιακός προγραμματισμός (λ-λογισμός, αναγωγή, οκνηρή/πρόθυμη αποτίμηση, map-reduce) και λογικός προγραμματισμός (Prolog).
  • Στοιχεία γλωσσών βάσεων δεδομένων και σχεσιακής άλγεβρας, που εμφανίζονται σε παλιότερες διαφάνειες eClass (διαθέσιμο στο πλήρες πακέτο).

Πώς βαθμολογείται

  • Περίγραμμα: τελική γραπτή εξέταση 100% της βαθμολογίας, «διαβαθμισμένης δυσκολίας» (σύνθετα προβλήματα, ερωτήσεις σύντομης απάντησης, ερωτήσεις κρίσεως), συν εργασία με flex/bison Κατάλογος: Περίγραμμα.
  • Κατά φοιτητές (2025-04) ο διαμοιρασμός είναι περίπου 70% γραπτή + 30% flex/bison· αν κάποιος παραδώσει και το πρότζεκτ Python, γίνεται 60% γραπτή + 20% flex/bison + 20% Python Discord 2025-04 (διαθέσιμο στο πλήρες πακέτο).
  • Το 2026 φοιτητής περιγράφει πάλι 70/30 (ακούσματα, χωρίς επιβεβαίωση), με το flex/bison υποχρεωτικό για όσους είναι πριν το νέο πρόγραμμα Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο).
  • Κάποιοι αναφέρουν βάση 3,5 για κάθε μέρος, αρκεί ο συνδυασμός γραπτής και πρότζεκτ να ξεπερνά το 5 Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο), Discord 2026-07 (διαθέσιμο στο πλήρες πακέτο).
  • Η ύλη της λεξικής/συντακτικής ανάλυσης (BNF) φέρεται να πιάνει το μεγαλύτερο μέρος του βαθμού, περίπου 30–40% Discord 2024-05 (διαθέσιμο στο πλήρες πακέτο). Το 2025 η Python έπιανε ~15% (ένα θέμα) Discord 2025-06 (διαθέσιμο στο πλήρες πακέτο).
  • Το 2024 το άριστα της γραπτής αναφερόταν στις 11 μονάδες, με την Python ως μπόνους ~1 μονάδα· τα κριτήρια άλλαξαν με το νέο πρόγραμμα Discord 2024-06 (διαθέσιμο στο πλήρες πακέτο).
  • Ο βαθμός του πρότζεκτ κρατιέται για έναν χρόνο (κατά φοιτητές) και ανακοινώνεται μαζί με τη θεωρία στο eClass Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο), Discord 2026-09 (διαθέσιμο στο πλήρες πακέτο).

Εργασίες & εργαστήρια

  • Πρότζεκτ flex/bison (υποχρεωτικό): κατασκευή λεκτικού και συντακτικού αναλυτή πάνω σε δεδομένη γραμματική (π.χ. επέκταση SELECT/WHERE για mini-SQL). Η εκφώνηση «Εργαστηριακή Άσκηση 2026» ζητά γραμματική, κανόνες και αναγνώριση σωστών/λανθασμένων προτάσεων eClass (διαθέσιμο στο πλήρες πακέτο).
  • Πρότζεκτ Python (προαιρετικό για μεγαλύτερα έτη): διεπαφή με CSV/pandas, αποθήκευση δεδομένων χωρίς αντικατάσταση και GUI με Tkinter eClass (διαθέσιμο στο πλήρες πακέτο).
  • Και τα δύο περνιούνται με προφορική εξέταση: στο flex/bison εκτελείς το πρόγραμμα, αλλάζεις το αρχείο εισόδου και εξηγείς τον κώδικα· στην Python ο έλεγχος είναι πιο χαλαρός Discord 2025-06 (διαθέσιμο στο πλήρες πακέτο), Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο).
  • Το πρότζεκτ υποβάλλεται μέχρι τα τέλη Αυγούστου/Σεπτέμβρη και κρατιέται για ένα ακαδημαϊκό έτος· για παλιότερα έτη η Python ήταν μπόνους Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο).

Εξετάσεις

Συνοπτικά, με τα δεδομένα του Εξετάσεις (16 συνεδρίες, οι 6 με λύσεις — 5 ai-unverified και μία community):

  • Μορφή ανοιχτών ερωτήσεων (open), γραπτή. Επανέρχονται πάντα θέματα σε: γραμματικές/BNF, κανονικές εκφράσεις και αυτόματα, τοπ-νταουν/μπότομ-απ ανάλυση, εμβέλεια και activation records, μεταβίβαση παραμέτρων, συναρτησιακό προγραμματισμό (λ-λογισμός, αποτίμηση, map-reduce) και λογικό προγραμματισμό Εξετάσεις 2025-06-b, Εξετάσεις 2024-06.
  • Ιούνιος 2025 (κατά φοιτητή): 6 θέματα — τα 1–2 μεσαία, τα 3–4 «γνωστά/αναμενόμενα», το 5 Python/pandas στο χαρτί (skipαρίσιμο αν δεν το είχες δει) και το 6 σχεδόν ίδιο με το περσινό Discord 2025-06 (διαθέσιμο στο πλήρες πακέτο).
  • Κυρίαρχο μοτίβο στα χρόνια: τα θέματα είναι «στάνταρ» και μοιάζουν με τις επαναληπτικές διαφάνειες και τα pinned Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο), Εξετάσεις.
  • Λείπουν λύσεις για τις περισσότερες παλιές συνεδρίες· για το 2025-06-b υπάρχει λύση community και οι υπόλοιπες 5 είναι ai-unverified, τις οποίες ο φοιτητής πρέπει να επαναεπιλύει μόνος του και να μην εμπιστεύεται Εξετάσεις.

Δυσκολίες & παγίδες

  • Κατά φοιτητές, είναι μάθημα «που παίρνεις εύκολα βαθμό» με σταθερή δομή θεμάτων, αρκεί να διαβάσεις τις επαναληπτικές διαφάνειες Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο).
  • Ο Σεπτέμβριος θεωρείται από κάποιους πιο δύσκολος από τον Ιούνιο, αν και όχι ομόφωνα Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο).
  • Η προφορική εξέταση εξαρτάται πολύ από τον εξεταστή: στο flex/bison η Σίμου ρωτά «σχεδόν τα πάντα» και απαιτεί εξήγηση του κώδικα, ενώ στην Python ο Βονιτσάνος είναι πιο χαλαρός Discord 2025-06 (διαθέσιμο στο πλήρες πακέτο), Discord 2025-09 (διαθέσιμο στο πλήρες πακέτο), Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο).
  • Στα shift/reduce conflicts του bison φέρονται ελαστικοί αν η γραμματική είναι σωστά δομημένη και μπορείς να εξηγήσεις τι κάνεις Discord 2025-06 (διαθέσιμο στο πλήρες πακέτο).
  • Το να μην εξηγήσεις ένα υποερώτημα που «δεν χρειάζεται αιτιολόγηση» κόστισε σε φοιτητές το 2024, παρά τη διαβεβαίωση περί επιείκειας — πάντα αιτιολόγησε Discord 2024-10 (διαθέσιμο στο πλήρες πακέτο).
  • Επαναλαμβανόμενη απορία χωρίς σαφή απάντηση: αν επιτρέπονται σημειώσεις στην εξέταση· ισχύει η επίσημη ανακοίνωση Εξετάσεις.
  • Το πρότζεκτ κρατιέται περίπου ένα έτος· αν κοπείς στη γραπτή, χάνεις μόνο την (προαιρετική) Python Discord 2024-10 (διαθέσιμο στο πλήρες πακέτο).

Υλικό & τρόπος μελέτης

  • Διαφάνειες θεωρίας 2025-26 στο eClass: Κεφάλαιο 3 — Σύνταξη (διαθέσιμο στο πλήρες πακέτο) (101 σελ., το πιο φορτωμένο), Κεφάλαιο 6 — Εμβέλεια & Μνήμη (διαθέσιμο στο πλήρες πακέτο), Κεφάλαιο 7 — Υποπρογράμματα (διαθέσιμο στο πλήρες πακέτο), Κεφάλαιο 2 — Μεταφραστές (διαθέσιμο στο πλήρες πακέτο).
  • Υπόλοιπη ύλη: Python — Εισαγωγή (διαθέσιμο στο πλήρες πακέτο), Λ-λογισμός (διαθέσιμο στο πλήρες πακέτο), Λογικός Προγραμματισμός (διαθέσιμο στο πλήρες πακέτο), Συναρτησιακός Προγραμματισμός (διαθέσιμο στο πλήρες πακέτο).
  • Flex/Bison: διαφάνειες 2024 (διαθέσιμο στο πλήρες πακέτο) και τα manuals Flex (διαθέσιμο στο πλήρες πακέτο) / Bison (διαθέσιμο στο πλήρες πακέτο).
  • Στοχευμένη επανάληψη: ΗΜΕΡΑ 1 — Συντακτική & Λεξική Ανάλυση (διαθέσιμο στο πλήρες πακέτο), ΗΜΕΡΑ 2 — Μνήμη/Εμβέλεια/Παράμετροι (διαθέσιμο στο πλήρες πακέτο), ΗΜΕΡΑ 3 — Python/Pandas (διαθέσιμο στο πλήρες πακέτο).
  • Λυμένες ασκήσεις: Askiseis 2026 SYNTAX (διαθέσιμο στο πλήρες πακέτο) και set 2b (διαθέσιμο στο πλήρες πακέτο), καθώς και λυμένες ασκήσεις 2026 (διαθέσιμο στο πλήρες πακέτο). Παλιότερες σημειώσεις: Compilers 2021 (διαθέσιμο στο πλήρες πακέτο), CA (διαθέσιμο στο πλήρες πακέτο).
  • Επίσημες οδηγίες γραπτής εξέτασης (διαθέσιμο στο πλήρες πακέτο) και ο οδηγός flex/bison (διαθέσιμο στο πλήρες πακέτο).
  • Συστάσεις φοιτητών: διάβασε πρώτα τις επαναληπτικές διαφάνειες και μετά τις υπόλοιπες· τα θέματα μοιάζουν με αυτές Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο). Οδηγός-αρχείο eClass (διαθέσιμο στο πλήρες πακέτο).

Συχνές ερωτήσεις

  • Είναι υποχρεωτικό το πρότζεκτ; Το flex/bison είναι υποχρεωτικό· η Python προαιρετική για μεγαλύτερα έτη Discord 2025-04 (διαθέσιμο στο πλήρες πακέτο), Discord 2026-06 (διαθέσιμο στο πλήρες πακέτο).
  • Επιτρέπονται σημειώσεις στην εξέταση; Ρωτήθηκε ξανά και ξανά χωρίς καταγεγραμμένη απάντηση· ισχύει η επίσημη ανακοίνωση Εξετάσεις.
  • Πόσο καιρό κρατιέται το πρότζεκτ/ο βαθμός; Κατά φοιτητές περίπου ένα έτος (κάποιοι λένε δύο) Discord 2024-09 (διαθέσιμο στο πλήρες πακέτο), Discord 2025-08 (διαθέσιμο στο πλήρες πακέτο). Ο βαθμός ανακοινώνεται στο eClass Discord 2024-10 (διαθέσιμο στο πλήρες πακέτο).
  • Τι ρωτάνε στην προφορική; Στο flex/bison εκτέλεση και αναλυτική εξήγηση κώδικα· στην Python βασικές ερωτήσεις και έλεγχο ότι τρέχει Discord 2025-06 (διαθέσιμο στο πλήρες πακέτο).
  • Χρειάζεται παρακολούθηση; Κατά φοιτητή αξίζει, εκτός αν μιλάει για το πρότζεκτ Discord 2024-04 (διαθέσιμο στο πλήρες πακέτο).
  • Ποιο βιβλίο; Ο κατάλογος/περίγραμμα προτείνει Scott και Sebesta, αλλά φοιτητές λένε ότι το βιβλίο δεν βοηθά πολύ — προτιμούν τις διαφάνειες Περίγραμμα, Discord 2024-04 (διαθέσιμο στο πλήρες πακέτο).
  • Υπάρχουν λύσεις παλιών θεμάτων; Για τις περισσότερες συνεδρίες όχι· μόνο για 6, κυρίως ai-unverified, και μία community Εξετάσεις.

Πηγές & αξιοπιστία

  • Κατάλογος 2025-26: ECTS 6, 3+1+2 ώρες, τομέας ΛΥ και τέσσερις διδάσκοντες. Το περίγραμμα (PDF «ceid_ny132») συμφωνεί στα ECTS και αναφέρει 100% τελική εξέταση catalog/curriculum_2025-26.yaml, catalog/outlines/CEID_23Y206.md.
  • Discord: 3.990 μηνύματα σε 13 περιόδους, 2020-09 έως 2026-09. Όλα είναι ανεπίσημες γνώμες εκτός από ανακοινώσεις που αναδημοσιεύονται.
  • Εξετάσεις: 16 συνεδρίες, οι περισσότερες partial/verbatim· 6 με αρχεία λύσεων. Πλήθος απόψεων «ακούγεται» χωρίς επιβεβαίωση — σημειώνονται ως ακούσματα Εξετάσεις.
  • Ασυμφωνίες: το βάρος γραπτής/πρότζεκτ (60–70%) και η διάρκεια ισχύος βαθμών/πρότζεκτ (1 vs 2 έτη) διαφέρουν ανά έτος και φοιτητή.
  • Δεν βρέθηκαν πληροφορίες για ποσοστό επιτυχίας, αναλυτική βαρύτητα ανά θέμα ή επίσημη λίστα ύλης ανά εξεταστική.
  • Το «ΔΙΑΒΑΣΜΑ 3 ΜΕΡΕΣ» στο eClass είναι υλικό επανάληψης και δεν αντικαθιστά τις επίσημες ανακοινώσεις.

Αρχεία του φακέλου

Παράγεται αυτόματα από tools/render_readmes.py — αλλαγές εδώ χάνονται στην επόμενη εκτέλεση.

Φάκελος Περιεχόμενο
discord/ (διαθέσιμο στο πλήρες πακέτο) 13 περίοδοι συζητήσεων Discord · 3990 μηνύματα
Previous Exams/ 16 συνεδρίες εξετάσεων · 6 με αρχείο λύσεων · 62 πρωτότυπα αρχεία (56 εικόνες) · 5 κείμενα (sidecar) · 57 μεταγραφές · ανακλήσεις από Discord
eclass/ (διαθέσιμο στο πλήρες πακέτο) 271 αρχεία · 183 κείμενα (sidecar)
other/ 102 αρχεία (48 εικόνες) · 37 κείμενα (sidecar) · 3 μεταγραφές