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

Οντοκεντρικός Προγραμματισμός

Μάθημα αντικειμενοστρεφούς προγραμματισμού του παλιού προγράμματος σπουδών: αντικείμενα, κλάσεις, ενθυλάκωση, κληρονομικότητα, πολυμορφισμός, αφηρημένες κλάσεις, υπερφόρτωση τελεστών, templates και εξαιρέσεις, διδαγμένα παράλληλα σε Java και C++. Ολοκληρώνεται με εργαστήριο (σετ ασκήσεων σε Java και C++) και project. Δεν έχει κωδικό στο νέο πρόγραμμα· πιθανή αντιστοίχιση με CEID_23Y106 (δεν επιβεβαιώνεται).

⬇ Κατέβασε για AI

Με μια ματιά

Κωδικός Χωρίς κωδικό — μάθημα του παλιού προγράμματος σπουδών
Τύπος Μάθημα παλιού προγράμματος· δεν υπάρχει στο πρόγραμμα 2025-26 Κατάλογος
Διδασκαλία Θεωρία, φροντιστήριο και εργαστήριο, σε Java και C++ eClass (διαθέσιμο στο πλήρες πακέτο)
ECTS / ώρες Δεν βρέθηκαν πληροφορίες (δεν υπάρχει εγγραφή στον κατάλογο του νέου προγράμματος).
Διδάσκων (2021-22, από τις διαφάνειες) Κλεάνθης Θραμπουλίδης eClass (διαθέσιμο στο πλήρες πακέτο)
Αξιολόγηση (2021-22) Εργαστήριο 15% (3 πρόοδοι × 5%) + project 25% + γραπτή εξέταση 60%· για να προσμετρηθούν εργαστήριο/project απαιτείται ≥4,5 στη γραπτή eClass (διαθέσιμο στο πλήρες πακέτο)

Τι θα μάθεις

Το υλικό καλύπτει τον αντικειμενοστρεφή προγραμματισμό από τα βασικά ως προχωρημένα θέματα, με παράλληλη διδασκαλία Java και C++:

  • Βασικές αρχές: έννοια αντικειμένου/κλάσης, ενθυλάκωση, ιεραρχίες κλάσεων, αντικειμενοστρεφής σχεδίαση και μοντέλο (UML), από τη διαδικαστική στη αντικειμενοστρεφή προσέγγιση eClass (διαθέσιμο στο πλήρες πακέτο).
  • Java: δομικά στοιχεία, μέθοδοι/στιγμιότυπα, δημιουργοί και υπερφόρτωση, υπερκάλυψη (overriding), κληρονομικότητα και super, αφηρημένες κλάσεις και interfaces, εξαιρέσεις, αρχεία/σειριακοποίηση, νήματα και γραφικές διεπαφές AWT/Swing eClass (διαθέσιμο στο πλήρες πακέτο), eClass (διαθέσιμο στο πλήρες πακέτο), eClass (διαθέσιμο στο πλήρες πακέτο). Η σειρά διαλέξεων περνά από γενικά χαρακτηριστικά και ιστορία της Java, τύπους δεδομένων και πίνακες, μεθόδους και στιγμιότυπα, casting, κληρονομικότητα, βασική βιβλιοθήκη (System, String, StringBuffer), εξαιρέσεις, είσοδο/έξοδο, νήματα και GUI.
  • C++: από C σε C++, συναρτήσεις/εμβέλεια, πίνακες, δείκτες και αλφαριθμητικά, δομές και κλάσεις, σύνθεση, const/friend, διαχείριση δυναμικής μνήμης (new/delete, stack vs heap) eClass (διαθέσιμο στο πλήρες πακέτο), eClass (διαθέσιμο στο πλήρες πακέτο). Στα «ιδιαίτερα χαρακτηριστικά της C++» περιλαμβάνονται: πέρασμα με τιμή/αναφορά, ενθυλάκωση/const μέθοδοι, friend συναρτήσεις και κλάσεις, και χειρισμός δομών (array, string, vector) eClass (διαθέσιμο στο πλήρες πακέτο).
  • Κληρονομικότητα και πολυμορφισμός σε C++: σειρά κλήσης δημιουργών/καταστροφέων, εικονικές συναρτήσεις και vtables, object slicing, virtual destructors, αφηρημένες κλάσεις eClass (διαθέσιμο στο πλήρες πακέτο), eClass (διαθέσιμο στο πλήρες πακέτο).
  • Υπερφόρτωση τελεστών, templates και εξαιρέσεις: ορισμός τελεστή ως μέλους ή ως friend, πρότυπες συναρτήσεις/κλάσεις (π.χ. στοίβα), try/catch/throw και προσαρμοσμένοι τύποι εξαιρέσεων eClass (διαθέσιμο στο πλήρες πακέτο), eClass (διαθέσιμο στο πλήρες πακέτο).
  • Βιβλιοθήκες και ροές: STL (containers, iterators, algorithms), χειρισμός αρχείων και ροών eClass (διαθέσιμο στο πλήρες πακέτο).

Το 2021-22 το εργαστήριο είχε τρεις ενότητες (2 σε Java και 1 σε C++), τρεις εβδομάδες η καθεμία: δύο εβδομάδες προετοιμασίας/εξάσκησης και μία εβδομάδα υποβολής τεχνικής αναφοράς στο eClass. Η συμμετοχή δεν ήταν υποχρεωτική (δεν κρατούνταν απουσίες), αλλά ήταν χρήσιμη, και στο τέλος υπήρχε project (Java και μέρος C++) με προφορική εξέταση eClass (διαθέσιμο στο πλήρες πακέτο). Θέμα project 2020-21 ήταν σύστημα διαχείρισης δωρεών/αιτημάτων με κλάσεις όπως Entity, RequestDonationList και προσαρμοσμένες εξαιρέσεις eClass (διαθέσιμο στο πλήρες πακέτο).

Αντιστοιχία με νέο πρόγραμμα

Το σημερινό πρόγραμμα σπουδών (2025-26) έχει το μάθημα Αντικειμενοστρεφής Προγραμματισμός (CEID_23Y106), υποχρεωτικό 2ου εξαμήνου, 9 ECTS, τομέας ΛΥ, με 3 ώρες θεωρία + 2 φροντιστήριο + 2 εργαστήριο Κατάλογος. Καλύπτει τον ίδιο πυρήνα (κλάσεις, κληρονομικότητα, πολυμορφισμός, εξαιρέσεις). Το παλιό μάθημα δίδασκε και τα δύο «κύματα» σε Java και C++ και περιλάμβανε θέματα όπως νήματα και GUI που δεν είναι βέβαιο ότι αντιστοιχίζονται ένα-προς-ένα με το σημερινό· για ακριβή αντιστοίχιση ύλης δεν βρέθηκαν πληροφορίες. Επίσης, τα ονόματα αρχείων στα βαθμολόγια παλιών ετών διακρίνουν «ΟΝΤΟΚΕΝΤΡΙΚΟΣ Ι» και «ΙΙ», κάτι που δείχνει ότι παλαιότερα το αντικείμενο καλυπτόταν από περισσότερα του ενός μαθήματα — δεν βρέθηκε αντιστοίχιση αυτής της διάκρισης με τα σημερινά μαθήματα.

Εξετάσεις

  • Δεν υπάρχει φάκελος Previous Exams/ για το μάθημα· δεν βρέθηκαν μεταγραφές πραγματικών θεμάτων. Οι φωτογραφίες της ενδεικτικής εξέτασης (φάκελος ΕΝΔΕΙΚΤΙΚΗ ΕΞΕΤΑΣΗ/) καλύπτουν και τα δύο μέρη, C++ και Java, αλλά δεν έχουν μεταγραφεί eClass (διαθέσιμο στο πλήρες πακέτο).
  • Από τις διαφάνειες διαδικασιών (2021-22), η γραπτή εξέταση είχε βαρύτητα 60% και προϋπόθεση προσμέτρησης εργαστηρίου/project βαθμό ≥4,5 eClass (διαθέσιμο στο πλήρες πακέτο). Οι υποβολές περνούν από έλεγχο ομοιότητας και όσες έχουν «υψηλό ποσοστό ομοιότητας» μηδενίζονται eClass (διαθέσιμο στο πλήρες πακέτο).
  • Υπάρχει ενδεικτική εξέταση σε φωτογραφίες (χωρίς μεταγραφή) στον φάκελο eClass (διαθέσιμο στο πλήρες πακέτο) και ενδεικτικές απαντήσεις:
  • Java: ερωτήσεις Σωστό-Λάθος, δημιουργοί/κληρονομικότητα/ορατότητα μελών, ορισμός μεθόδων eClass (διαθέσιμο στο πλήρες πακέτο).
  • C++: ορισμός κλάσης, παραγωγή/κληρονομικότητα, private/protected, υπερφόρτωση τελεστή +, εικονικές συναρτήσεις/vtable, σειρά κλήσης constructors–destructors, template κλάση eClass (διαθέσιμο στο πλήρες πακέτο).
  • Σύνοψη ύλης C++ για επανάληψη: eClass (διαθέσιμο στο πλήρες πακέτο).
  • Το Discord δεν έχει πληροφορίες για μορφή, διάρκεια ή επιτρεπόμενο υλικό εξετάσεων — μόνο μία υπόδειξη για το κανάλι υλικού Discord 2023-01 (διαθέσιμο στο πλήρες πακέτο). Για αρνητική βαθμολόγηση ή βαρύτητα ανά θέμα δεν βρέθηκαν πληροφορίες.

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

  • Πλήρες ευρετήριο υλικού: eclass/eclass_summary.md (διαθέσιμο στο πλήρες πακέτο).
  • Θεωρία/διαφάνειες C++: Από C σε C++ (διαθέσιμο στο πλήρες πακέτο), Κλάσεις/δομές (διαθέσιμο στο πλήρες πακέτο), Κληρονομικότητα (διαθέσιμο στο πλήρες πακέτο), Πολυμορφισμός/virtual (διαθέσιμο στο πλήρες πακέτο), Εξαιρέσεις (διαθέσιμο στο πλήρες πακέτο), STL (διαθέσιμο στο πλήρες πακέτο), Σύνοψη ύλης (διαθέσιμο στο πλήρες πακέτο).
  • Θεωρία/διαφάνειες Java (2021): Αρχές αντικειμενοστρέφειας (διαθέσιμο στο πλήρες πακέτο), Κληρονομικότητα (διαθέσιμο στο πλήρες πακέτο), Εξαιρέσεις (διαθέσιμο στο πλήρες πακέτο), Είσοδος-έξοδος (διαθέσιμο στο πλήρες πακέτο), GUI AWT (διαθέσιμο στο πλήρες πακέτο), Βασική βιβλιοθήκη (διαθέσιμο στο πλήρες πακέτο).
  • Επιπλέον θεωρία C++: Δομές ελέγχου/διαδικαστικός προγραμματισμός (διαθέσιμο στο πλήρες πακέτο), Συναρτήσεις/εμβέλεια (διαθέσιμο στο πλήρες πακέτο), Πίνακες (διαθέσιμο στο πλήρες πακέτο), Υπερφόρτωση τελεστών (διαθέσιμο στο πλήρες πακέτο), Templates (διαθέσιμο στο πλήρες πακέτο), Αρχεία/ροές (διαθέσιμο στο πλήρες πακέτο).
  • Εργαστηριακές ασκήσεις: Ασκήσεις C++ (διαθέσιμο στο πλήρες πακέτο), Φυλλάδιο ασκήσεων Java (49 σελ.) (διαθέσιμο στο πλήρες πακέτο), Project 2020-21 (διαθέσιμο στο πλήρες πακέτο).
  • Ενδεικτικά θέματα και λύσεις: Απαντήσεις Java (διαθέσιμο στο πλήρες πακέτο), Απαντήσεις C++ (Ιούνιος 2018) (διαθέσιμο στο πλήρες πακέτο), Απαντήσεις Java (Ιούνιος 2018) (διαθέσιμο στο πλήρες πακέτο).
  • Διαδικαστικά και αξιολόγηση 2021-22: Διαφάνειες μαθήματος (διαθέσιμο στο πλήρες πακέτο).
  • Παραδείγματα: οι φάκελοι ΠΑΡΑΔΕΙΓΜΑΤΑ BLUEJ/ και Φροντιστήριο C++/, Φροντιστήριο JAVA/ περιέχουν έτοιμα έργα BlueJ, φροντιστηριακές ασκήσεις και διαφάνειες eClass (διαθέσιμο στο πλήρες πακέτο).
  • Προτεινόμενος τρόπος: ξεκίνα από τις διαφάνειες θεωρίας (Java πρώτα, μετά C++) και λύσε τις εργαστηριακές ασκήσεις· τα θέματα των ενδεικτικών εξετάσεων δίνουν την καλύτερη εικόνα του τι ζητείται.
  • Όγκος υλικού: ο φάκελος eclass/ περιέχει διαφάνειες, ασκήσεις, παραδείγματα κώδικα, έτοιμα έργα BlueJ και αρχεία .class/.o· οι διαφάνειες C++ ακολουθούν σε μεγάλο βαθμό το βιβλίο Deitel C++ How to Program. Έλεγξε το ευρετήριο (διαθέσιμο στο πλήρες πακέτο) για να βρεις γρήγορα το κείμενο κάθε αρχείου.

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

  • Κατάλογος 2025-26: το μάθημα δεν υπάρχει (ανήκει στο παλιό πρόγραμμα)· η αντιστοίχιση έγινε με το CEID_23Y106 Κατάλογος.
  • eClass: 759 αρχεία, 93 με κείμενο, κυρίως 2017-2021· οι διαφάνειες C++ προέρχονται από το βιβλίο Deitel C++ How to Program. Ο φάκελος περιέχει επίσης βαθμολόγια παλιών ετών (εξαιρούνται από τη διαμοιραζόμενη έκδοση).
  • Discord: 1 μήνυμα (2023-01-31), μόνο υπόδειξη για το κανάλι υλικού — ανεπίσημο, χωρίς πληροφορίες εξέτασης Discord 2023-01 (διαθέσιμο στο πλήρες πακέτο).
  • Ενδεικτικές απαντήσεις: προέρχονται από παλαιότερες εξεταστικές (π.χ. Ιούνιος 2018) και χαρακτηρίζονται «ενδεικτικές» — δεν είναι επίσημες λύσεις της τρέχουσας ύλης. Τα υπόλοιπα υλικά (BlueJ, φροντιστήρια, project) είναι αντίστοιχα παλιότερα (κυρίως 2019-2021).
  • Ελλείψεις: δεν υπάρχει φάκελος Previous Exams/, επίσημο περίγραμμα, ECTS/ώρες ή πληροφορίες για τη σημερινή κατάσταση του μαθήματος (καταργημένο στο νέο πρόγραμμα). Δεν βρέθηκαν στατιστικά επιτυχίας ούτε λίστα κεφαλαίων/βιβλιογραφίας.

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

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

Φάκελος Περιεχόμενο
discord/ (διαθέσιμο στο πλήρες πακέτο) 1 περίοδοι συζητήσεων Discord · 1 μηνύματα
eclass/ (διαθέσιμο στο πλήρες πακέτο) 759 αρχεία (7 εικόνες) · 93 κείμενα (sidecar)
other/ 1 αρχεία