Τίτλος Μαθήματος:Αντικειμενοστρεφής Προγραμματισμός
Διδάσκοντες (ακαδημαϊκό έτος 2020-21):κ. Διαμαντόπουλος Θεμιστοκλής (Μεταδιδακτορικός Ερευνητής)
thdiaman@auth.grΓραφείο: Κτήριο Γ, 3ος όροφος, Εργαστήριο issel
Αντικείμενο μαθήματος:Τα θέματα που καλύπτονται στα πλαίσια του μαθήματος:
- Βασικές αρχές αντικειμενοστρεφούς προγραμματισμού
- Κλάσεις: ορισμός, εμβέλεια, ο δείκτης this
- Μέλη κλάσεων
- Συναρτήσεις αρχικών και τελικών συνθηκών
- Επικάλυψη τελεστών, επικάλυψη των τελεστών << και >>
- Φιλικές συναρτήσεις
- Κληρονομικότητα: απλή και πολλαπλή
- Πολυμορφισμός, εικονικές συναρτήσεις
- Παραμετρικές συναρτήσεις, παραμετρικές κλάσεις
Διαθέσιμα Συγγράμματα Βιβλίο [13588]: ΑΝΑΓΝΩΣΗ ΚΩΔΙΚΑ: Η ΠΡΟΟΠΤΙΚΗ ΤΟΥ ΑΝΟΙΚΤΟΥ ΛΟΓΙΣΜΙΚΟΥ, ΔΙΟΜΗΔΗΣ ΣΠΙΝΕΛΛΗΣ
Βιβλίο [13600]: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΣΧΕΔΙΑΣΗ: UML, ΑΡΧΕΣ, ΠΡΟΤΥΠΑ ΚΑΙ ΕΥΡΕΤΙΚΟΙ ΚΑΝΟΝΕΣ, ΑΛΕΞΑΝΔΡΟΣ Ν. ΧΑΤΖΗΓΕΩΡΓΙΟΥ
Βιβλίο [18549081]: Η τέχνη του προγραμματισμού, τόμος Α΄, Knuth Donald E.
Βιβλίο [77112469]: Προγραμματισμός με τη C++, 2η Έκδοση, Stroustrup Bjarne
Βιβλίο [86056659]: C++: Από τη Θεωρία στην Εφαρμογή, Γ. Τσελίκης
Τρόπος εξέτασης / ΒαθμολογίαΗ τελική βαθμολογία εξαρτάται από το εάν οι φοιτητές θα εκπονήσουν εργασία στο πλαίσιο του μαθήματος. Στην περίπτωση αυτή, η βαθμολογία ορίζεται ως εξής:
20% Εργασία
80% Εξετάσεις
Μέγιστος βαθμός: 10/10
Ο βαθμός της εργασίας προσμετράται εφόσον ο βαθμός στην εξέταση του μαθήματος είναι μεγαλύτερος ή ίσος από 4/10.
Στην περίπτωση που οι φοιτητές επιλέξουν να μην εκπονήσουν εργασία, ο βαθμός στις καθορίζεται μόνο από τον βαθμό των εξετάσεων:
80% Εξετάσεις
Μέγιστος βαθμός: 8/10
Υπό κανονικές και υπό covid συνθήκες: Εξέταση στο elearning quiz (πολλαπλής)+κώδικας
ΕργασίεςΗ εργασία είναι ομαδική. Ομάδα 3 ή 4 ατόμων.
Τρόπος παράδοσης: ηλεκτρονικά (elearning.auth.gr)
ΕργαστήριαΣυμμετοχή στα εργαστήρια είναι υποχρεωτική. Ο αριθμός των εργαστηριακών ασκήσεων είναι 4 ή 5. Οι εργαστηριακές ασκήσεις διαρκούν 2 ώρες η κάθεμια. Διεξάγονται κάθε Τρίτη ή Τετάρτη.
Υπό κανονικές συνθήκες γίνεται στην νησίδα Βεργίνα.
Υπό συνθήκες covid γίνεται εξ αποστάσεως μέσω zoom.
Επιπλέον υλικό:Στον τομέα downloads, και συγκεκριμένα
ΕΔΩ μπορείτε να βρείτε παλιά θέματα και τις σημειώσεις
(ΣΗΜΕΙΩΣΗ: Για να αποκτήσετε πρόσβαση στα θέματα πρέπει να είστε εγγεγραμμένο μέλος του forum. Οι απλοί επισκέπτες δεν έχουν πρόσβαση.)Στο youtube υπάρχουν τα μαθήματα c++
του Δημήτρη Ψούνη.
Επιπλέον πληροφορίεςΟι διαλέξεις θεωρίας είναι 2 ώρες ανά εβδομάδα. Πέμπτη 10.00-12.00 (Τμήμα Ι Α-Κ ) και Παρασκευή 12.00-14.00 (Τμήμα ΙΙ Λ-Ω)
Το 2021 που θα γίνει εξ αποστάσεως μπορεί να συγχωνευτούν τα 2 τμήματα.
Το μάθημα αποτελεί μια εισαγωγή στις έννοιες του Αντικειμενοστρεφούς Προγραμματισμού. Έχει ως προαπαιτούμενη γνώση το Δομημένο Προγραμματισμό.
Παρουσιάζονται τεχνικές σχεδίασης, ανάλυσης και προγραμματισμού εφαρμογών και οι φοιτητές εξοικειώνονται με κάποια δημοφιλή περιβάλλοντα για την ανάπτυξη εφαρμογών. Το μάθημα περιλαμβάνει θεωρητικό και πρακτικό μέρος.
Ιστοσελίδα:Ιστοσελίδα του μαθήματος στο elearningΚωδικός: OOP2019
Σχόλια - απόψεις - συμβουλές:Caterpillar: Πολύ ωραίο μάθημα, θέλει κατανόηση των διαλέξεων και των εργαστηρίων και είσαι έτοιμος. Ο Θέμης κάνει πολύ καλό μάθημα, η διαφάνειες και οι ασκήσεις του εργαστηρίου είναι αρκέτα για το διάβασμα του μαθήματος. Σας προτείνω να κάνετε την εργασία γιατί βοηθά πάρα πολύ στην κατανόηση του μαθήματος και σας βοηθά στην εξέταση.
Τα βίντεο του Ψούνη θα έλεγα να μην τα δεις όλα, γιατί ο Θέμης τα λέει πολύ ωραία, αλλά από τον Ψούνη να βλέπεις συγκεκριμένα κομμάτια που έχεις απορίες.
Ωστόσο αν δεν έχεις περάσει τον Δομημένο Προγραμματισμό, μην αγχώνεσαι καθόλου, μπορείς να ξεκινήσεις από την c++ και τον αντικειμενοστραφή, χωρίς ιδιαίτερες δυσκολίες. Παράδειγμα ο
Caterpillar. Ξεκίνησα με την c++ στο 2ο εξάμηνο , πέρασα πρώτα τον Αντικειμενοστραφή και μετά τον Δομημένο.
Και κάποια παλιότερα σχόλια:
apostolos1986:Κατά τη γνώμη μου , αν και οι εργασίες δεν ειναι υποχρεωτικές αλλά προαιρετικές , πρέπει να τις κάνετε γιατί θα σας βοηθήσουν να καταλάβετε τη φιλοσοφία της γλώσσας C++.Επιπροσθέτως πριν τη γραπτή εξέταση δε θα χρειαστεί να διαβάσετε αρκετά γιατί θα τα έχετε αφομοιώσει λόγω της ενασχόλησης με τις εργασίες.
Vlassis: Παρόλο που δεν ξέρουμε τον τρόπο που θα γίνεται το μάθημα, θεωρώ πως ο πιο σωστός, αν όχι ο μόνος τρόπος να μάθεις C++, τα βασικά της πραγματα τουλάχιστον, είναι να ασχοληθείς με τις εργασίες του μαθήματος και να τις λύνεις μόνος, ώστε σταδιακά να αποκτήσεις μια εξοικείωση με τη γλώσσα και να σου μείνουν και κάποια πράγματα αργότερα, όλο και κάπου μπορεί να χρειαστούν! Και με την ενασχόληση με τις εργασίες, θεωρώ δεδομένο οτι θα περάσετε στις εξετάσεις!