Μανιφέστο Εξετάσεων: C στο Χαρτί, Python On The Fly

PUBLISHED: 2026-06-228 MIN READ

Current Session Stats

Panic Level: 99%
Caffeine
42 MASSIVE cups
⏱️
Time Spent
120 hours

Και κάπως έτσι, έφτασε η στιγμή που το διάβασμα, τα ξενύχτια, τα υπαρξιακά ερωτήματα τύπου «γιατί το κάνω αυτό στον εαυτό μου;» και τα αμέτρητα segmentation faults έδωσαν τη θέση τους στην απόλυτη κρίση: τις τελικές εξετάσεις. Αν νομίζατε ότι οι Γραπτές Εργασίες κατά τη διάρκεια του έτους ήταν ζόρικες, καθίστε αναπαυτικά, φτιάξτε έναν διπλό εσπρέσο (ή πάρτε ένα ηρεμιστικό) γιατί έχουμε να μιλήσουμε για την πραγματική, ωμή εμπειρία των εξετάσεων σε ΠΛΗ10 και ΠΛΗΠΡΟ.

Αυτό δεν είναι απλώς ένα post. Είναι το μανιφέστο της χρονιάς. Μια ωδή στον πόνο, την επιμονή και την παράνοια του να σπουδάζεις πληροφορική εξ αποστάσεως.


ΠΛΗ10: Όταν το χαρτί γίνεται IDE (και εσύ ο compiler)

Η εξέταση της ΠΛΗ10 ήταν μια εμπειρία που δύσκολα ξεχνιέται – όσο κι αν προσπαθεί ο ψυχίατρός μου να με βοηθήσει να την απωθήσω. Είχες να γράψεις πάρα πολλά. Και όταν λέω πάρα πολλά, εννοώ κώδικα C στο χαρτί.

Ναι, καλά διαβάσατε. Εν έτει 2026, την εποχή του Copilot, του GPT-5 των Agents και των IDE που σου φτιάχνουν καφέ πριν καν πατήσεις compile, εμείς βρεθήκαμε με ένα μπλε στυλό Bic στο χέρι να ζωγραφίζουμε pointers, structs και δισδιάστατους πίνακες. Χωρίς compiler, χωρίς debugger, χωρίς stack trace.

Το μόνο εργαλείο debugging που είχαμε ήταν το μυαλό μας. Ένα μυαλό ήδη «λιωμένο» από τους μήνες εντατικού διαβάσματος, την έλλειψη ύπνου και το άγχος, που προσπαθούσε να κάνει "dry run" τον κώδικα προσευχόμενο να μην πάθει κάποιου είδους νοητό segmentation fault στη μέση της κόλλας αναφοράς.

Και κάπου εδώ ξεκινάει η ειρωνεία της χρονιάς: όλο το έτος μας είχαν πρήξει με τον Ψευδοκώδικα. Φάγαμε ατελείωτες ώρες και μας πέρασαν γενεές δεκατέσσερις σε δύο ολόκληρες Γραπτές Εργασίες για το πώς γράφεται η «σωστή» ψευδογλώσσα, μόνο και μόνο για να μην τον δούμε ποτέ στο γραπτό! Αντ' αυτού, οι εξετάσεις εστίασαν σε αυτό που πραγματικά μετράει: στην καθαρή αλγοριθμική σκέψη. Δυαδικά δέντρα, αλγόριθμοι ταξινόμησης και αναζήτησης, και αριθμητικά συστήματα έπεσαν όλα κανονικότατα (ως όφειλαν), ζητώντας μας να λύσουμε πραγματικά προβλήματα.

Γιατί στο τέλος της ημέρας, η εξέταση της ΠΛΗ10 δεν ήταν απλώς ένα τεστ σύνταξης στη C. Το μάθημα είναι ουσιαστικά μια «Εισαγωγή στην Πληροφορική», και η C λειτούργησε ως το όχημα – το εργαλείο για να καταλάβεις πώς σκέφτεται ένας υπολογιστής. Αλλά αν η C στο χαρτί ήταν μια άσκηση επιβίωσης, το project της ΠΛΗΠΡΟ ήταν μια άσκηση διπλωματίας, ομαδικότητας και καθαρής... παρανοϊκής υλοποίησης.

ΠΛΗΠΡΟ: Το RandeBoo, ο «Κάσπερ» και η Τέχνη του να μην Κρεμάς τον Συμφοιτητή σου

Μία εβδομάδα μετά το σοκ της ΠΛΗ10, ήρθε η ώρα για την παρουσίαση και εξέταση του ομαδικού project της ΠΛΗΠΡΟ. Εδώ τα πράγματα ήταν θεωρητικά πιο απλά: το project είχε παραδοθεί, δούλευε ρολόι, και η δουλειά είχε ήδη γίνει. Ήταν απλώς μια τυπική παρουσίαση, σωστά; Λάθος.

Γιατί το project μας – το περιβόητο RandeBoo (ένα desktop app διαχείρισης ραντεβού σε Tkinter με SQLite) – ξεκίνησε ως άσκηση υψηλής μηχανικής λογισμικού και κατέληξε σε μάθημα ταπεινότητας. Σχεδιάσαμε μια over-engineered modular αρχιτεκτονική που θα ζήλευε και η NASA: πανέμορφα clean blueprints, UML διαγράμματα και απόλυτα διαχωρισμένα abstractions. Στην πράξη; Deadlocks, merge conflicts και thread collisions που μετέτρεψαν το repository σε εμπόλεμη ζώνη.

Όταν καταλάβαμε ότι αν συνεχίζαμε έτσι θα παραδίδαμε την εργασία κάπου στο 2060 λίγο μετά την σύνταξη μας, πήραμε τη μεγάλη απόφαση για μια επική κωλοτούμπα: πετάξαμε τα clean principles στα σκουπίδια (;) βγάλαμε τις μάσκες του over-engineering, γίναμε παπατζίδες του full-stack και ξαναγράψαμε το σύστημα από το μηδέν. Μέσα σε ένα απόγευμα, η πρόοδός μας έκανε rollback από το 36% στο απόλυτο 0% – ήταν η μόνη μας ελπίδα για να σκαρφαλώσουμε ξανά.

Και τι δεν βάλαμε σε αυτό το app για να εντυπωσιάσουμε τους καθηγητές-«Πλάτωνες»:

  • Ένα custom SPA Routing σύστημα στο Tkinter, καθαρίζοντας δυναμικά τα panels με widget.destroy().
  • Έναν αλγόριθμο Conflict Management στη SQLite (database.py) που τον γράφαμε βδομάδες και τον ανεμιστήρα του PC να ουρλιάζει σαν τουρμπίνα Caterpillar και εμάς να νιώθουμε ότι συναρμολογούμε τον Μηχανισμό των Αντικυθήρων.
  • Ένα Aegean Theme palette για να μην πάθει κατάθλιψη ο καθηγητής από το default γκρίζο του Tkinter.
  • Ασύγχρονη αποστολή email με multi-threading για να μην παγώνει η οθόνη.
  • 1200+ γραμμές test code (που για καλή τύχη του καθηγητή, δεν το ανέφερα πουθενά ούτε του έδειξα) απλά για το overkill.

Φυσικά, software project χωρίς δράμα στην ομάδα δεν υφίσταται. Είχαμε κι εμείς τον δικό μας «Κάσπερ» του Viber – το μέλος που εξαφανίστηκε για λόγους ανωτέρας βίας. Αυτό σήμαινε 3ωρα midnight sprints για να καλύψω τα κενά του κώδικα με την ιερή τέχνη του copy-paste-refactoring, προκειμένου να σώσω το module των υπαλλήλων.

Όμως, επειδή είμαστε ομάδα αλλά πάνω απ' όλα άνθρωποι, δεν τον αφήσαμε πίσω. Όταν ο «Κάσπερ» τελικά φάνηκε, δεν τον κρεμάσαμε και ας ήθελε να το παρατήσει. Προσαρμόσαμε τους ρόλους και τον κώδικα ώστε να έχει ένα συγκεκριμένο, δικό του κομμάτι να παρουσιάσει στους καθηγητές. Και πέρασε και αυτός μαζί με όλη την ομάδα, πανηγυρικά. Γιατί, όπως λέει και το γνωστό ρητό από το Game of Thrones: the lone wolf dies, but the pack survives.

Με όλα αυτά στις πλάτες μας, μπήκαμε στην εξέταση για να τους αφήσουμε άφωνους με την προτζεκτάρα μας, υπήρξαν μικρά bugs στον κώδικα, ΑΛΛΑ τα προσπέρασε ο καθηγητής. Ωστόσο ήταν αποφασισμένος να βεβαιωθεί ότι δεν έγραψε το ChatGPT τον κώδικα, αλλά εμείς.

Ζήτησε να εξηγήσουμε το RandeBoo γραμμή προς γραμμή. Όλη τη λογική, τα imports, τα queries, ακόμα και τις thread-safe λειτουργίες. Και για να δέσει το γλυκό, ακολούθησε η διαδικασία του "on the fly" examination. Fast-paced ερωτήσεις πάνω στην Python, σαν να ήμασταν σε τηλεπαιχνίδι γνώσεων με έπαθλο τον βαθμό ή την τιμωρία της δημόσιας διαπόμπευσης.

Professor's Interrogation Prompt
$

Ερώτηση: Τι επιστρέφει αυτό το list comprehension αν αλλάξουμε τη συνθήκη σε [x for x in list if x % 2 == 0]; User: (Κρύος ιδρώτας τρέχει στο μέτωπο) Επιστρέφει... Ερώτηση: Πώς θα το κάνατε αυτό με map και lambda; Γράψτε το τώρα στο chat. Έχετε 10 δευτερόλεπτα. User: 🤯 (Το μυαλό μου έκανε exit code 137 - out of memory)

Ήταν μια δοκιμασία ταχύτητας και αντανακλαστικών, όπου το μυαλό έπρεπε να αλλάζει context πιο γρήγορα και από thread του επεξεργαστή. Αν δεν ήξερες 100% τι έκανε και η τελευταία γραμμή του κώδικά σου, ήσουν καταδικασμένος.

💡 Οδηγός Επιβίωσης για τους επόμενους:

  1. Μην κρύβεστε πίσω από την ομάδα: Αν είστε 3 άτομα στο project και ο ένας γράψει το 90% του κώδικα, οι άλλοι δύο θα «εκτελεστούν» στην παρουσίαση. Οι καθηγητές μυρίζονται την άγνοια από χιλιόμετρα.
  2. Γνωρίστε τις βιβλιοθήκες σας: Μην κάνετε απλώς import pandas ή import matplotlib επειδή το είδατε σε ένα tutorial. Πρέπει να ξέρετε γιατί επιλέξατε τη συγκεκριμένη δομή και πώς λειτουργεί κάτω από το καπό.
  3. Clean Code & Comments: Γράψτε καθαρό κώδικα και βάλτε σχόλια. Όταν σας ζητήσουν να εξηγήσετε μια συνάρτηση μετά από 3 μήνες, τα σχόλια θα είναι η σανίδα σωτηρίας σας.

19 Χρόνια Μετά: Μια Προσωπική Νίκη

Αλλά ξέρετε κάτι; Πίσω από τα αστεία για pointers, C στο χαρτί και "Kasper" στο Viber, κρύβεται μια πραγματικότητα που μόνο όποιος έχει προσπαθήσει να σπουδάσει σε μεγαλύτερη ηλικία μπορεί να καταλάβει.

Αυτή η χρονιά ήταν, χωρίς υπερβολή, μια από τις πιο δύσκολες, εξαντλητικές και γεμάτες πίεση περιόδους της ζωής μου.

Είχαν περάσει 19 ολόκληρα χρόνια από την τελευταία φορά που κάθισα να διαβάσω. Δεκαεννιά χρόνια είναι μια ολόκληρη ζωή. Το να επιστρέφεις στη μελέτη δεν είναι απλά θέμα χρόνου· είναι μια συνεχής μάχη με την αμφιβολία. Μπορώ ακόμα να τα καταφέρω; Λειτουργεί το μυαλό μου με τους ίδιους ρυθμούς; Έχω τις ίδιες αντοχές;

Όταν η καθημερινότητά σου περιλαμβάνει 8ωρη (και βάλε) δουλειά, υποχρεώσεις της ενήλικης ζωής, τρέξιμο και ευθύνες, το να στριμώχνεις ώρες διαβάσματος στις 3 το πρωί ή να θυσιάζεις κάθε Σαββατοκύριακο για μήνες ολόκληρους είναι μια διαδικασία που σε αδειάζει ψυχικά. Υπήρξαν αμέτρητες στιγμές που ένιωσα να λυγίζω, που το άγχος με παρέλυε, που κοιτούσα την οθόνη με δάκρυα στα μάτια από την κούραση και ήθελα απλά να τα παρατήσω όλα, να κλείσω τον υπολογιστή και να εξαφανιστώ.

Αλλά τελικά... τα πέρασα. Και τα δύο μαθήματα. Και μάλιστα με βαθμούς που ούτε καν τολμούσα να ονειρευτώ όταν ξεκινούσα αυτή τη διαδρομή.

Όταν είδα τα αποτελέσματα, η ανακούφιση ήταν τόσο βαθιά που με έκανε να συνειδητοποιήσει το βάρος που κουβαλούσα όλο αυτόν τον καιρό. Δεν είναι απλά δύο περασμένα μαθήματα. Είναι η απόδειξη ότι αληθινά, η προσπάθεια, ο ιδρώτας και οι θυσίες έχουν αντίκρισμα. Είναι μια τεράστια, προσωπική νίκη απέναντι στις δικές μου ανασφάλειες.

Μου μένουν ακόμα 12 μαθήματα για το πτυχίο. Ο δρόμος είναι ακόμα μακρύς, ανηφορικός και σίγουρα θα φέρει κι άλλες δύσκολες στιγμές, Segment Faults και ξενύχτια. Όμως, η αμφιβολία έδωσε τη θέση της στη σιγουριά. Τώρα πια ξέρω. Ξέρω ότι γίνεται.

Το πρώτο αίμα χύθηκε, τα πρώτα XP μαζεύτηκαν.

Level up, λοιπόν. Πάμε για τα επόμενα 12!