Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών¶
Δεύτερο «θεωρητικό» μάθημα προγραμματισμού: πώς σχεδιάζονται και υλοποιούνται οι γλώσσες, και πώς δουλεύουν οι μεταφραστές. Καλύπτει λεξική και συντακτική ανάλυση (κανονικές εκφράσεις, πεπερασμένα αυτόματα, γραμματικές 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 μεταγραφές |