THMMY.gr

Μαθήματα Βασικού Κύκλου => Αντικειμενοστραφής Προγραμματισμός => Topic started by: apostolos1986 on August 07, 2006, 02:50:41 am



Title: [Αντικειμενοστραφής Προγραμματισμός] Γενικές Πληροφορίες για το μάθημα
Post by: apostolos1986 on August 07, 2006, 02:50:41 am
!!OUTDATED!! Δες το 3o post για νέες πληροφορίες!


Αφορά το ΠΠΣ


Τίτλος Μαθήματος:
Προγραμματιστικές Τεχνικές

Διδάσκοντες (ακαδημαϊκό έτος 2015-16):


Δημήτριος Γενειατάκης
Ώρες Γραφείου: Πέμπτη 12.00-14.00
Γραφείο: Γραμματεία τομεά ηλεκτρονικής και υπολογιστών
email: dgeneiat@auth.gr

Αντικείμενο μαθήματος:

Σκοπός του μαθήματος είναι η σχεδίαση λογισμικού με βάση τις αρχές του αντικειμενοστρεφούς προγραμματισμού. Η σχεδίαση προγραμμάτων με τη χρήση καθιερωμένων προτύπων αντικειμενοστρεφούς σχεδίασης και εφαρμογές με τη χρήση της γλώσσας προγραμματισμού C++.

Στο μάθημα θα καλυφθούν οι παρακάτω ενότητες:

Επανάληψη C – Εισαγωγή στη C++
Εισαγωγή στις κλάσεις
Κληρονομικότητα
Δείκτες σε μέλη ενώσεις
Πρότυπα στη C++
Εισαγωγή στον αντικειμενοστραφή σχεδιασμό (UML)
Αντικειμενοστραφή σχεδιασμός (UML) και C++
Χρήση έτοιμων βιβλιοθηκών
Εξοικοιώση με αντικειμενοστραφή περιβάλλοντα Ι
Εξοικοιώση με αντικειμενοστραφή περιβάλλοντα ΙΙ
Έλεγχος λαθών

Τρόπος εξέτασης / Βαθμολογία
Αξιολόγηση 1
30% Εβδομαδιαίες Εργασίες, 30% Project (θα δοθεί  στην 6η εβδομάδα), 50% Εξετάσεις (>4)
Max(εξετάσεις, ΕΕ+Project+εξετάσεις)
Αξιολόγηση 2
80% Εξετάσεις, 30% Εβδομαδιαίες Εργασίες
Max(εξετάσεις, 80% εξετάσεις+ 30% ασκήσεις)
Αξιολόγηση 3
100% Εξετάσεις, Θα πρέπει να έχουν αποσταλεί οι μισές  ασκήσεις, >6

Οι εξεταζόμενοι μπορούν (προαιρετικά) να έχουν μαζί τους ένα φύλλο με σημειώσεις σύμφωνα με τους παρακάτω όρους:
Οι σημειώσεις πρέπει να είναι όλες γραμμένες σε ένα φύλλο μεγέθους Α4
Επιτρέπεται η χρήση και των δύο όψεων του φύλλου
Το φύλλο παραδίδεται μαζί με το γραπτό
Δεν είναι χειρόγραφες οι σημειώσεις

Εργασίες
Τρόπος παράδοσης: ηλεκτρονικά (elearning.auth.gr)
H ονομασία του αρχείου θα είναι ως εξής: Α0-Αριθμός μητρώου -το Α0 ειναι ενδεικτικό-

Εργαστήρια
Συμμετοχή στα εργαστήρια μόνο όσοι βρίσκονται στο 3ο εξάμηνο σε τμήματα των 40-45 ατόμων.
Στα εργαστήρια θα λύνονται μόνο θέματα σχετικα με το μάθημα

Επιπλέον υλικό:
Στον τομέα downloads, και συγκεκριμένα ΕΔΩ (http://www.thmmy.gr/smf/index.php?action=tpmod;dl=cat45) μπορείτε να βρείτε παλιά θέματα και τις σημειώσεις (ΣΗΜΕΙΩΣΗ: Για να αποκτήσετε πρόσβαση στα θέματα πρέπει να είστε εγγεγραμμένο μέλος του forum. Οι απλοί επισκέπτες δεν έχουν πρόσβαση.)
Επίσης, σε αυτό το site http://www.stroustrup.com/C++.html (http://www.stroustrup.com/C++.html) που αναφέρεται στην ιστοσελίδα του μαθήματος, μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με την C++ και την ευκολότερη κατανόηση της.

Βιβλιογραφία
Bjarne Stroustrup. The C++ Programming Language. Addison-Wesley
Bobbi J. Young, Grady Booch, Michael W. Engel, and Robert A. Maksimchuk, Object-oriented analysis and design with applications
Robert Lafore, Object-Oriented Programming in C++, SAMS
http://www.stroustrup.com/C++.html#learning

Ιστοσελίδα:
https://elearning.auth.gr/course/view.php?id=7726 (https://elearning.auth.gr/course/view.php?id=7726)

Σχόλια - απόψεις - συμβουλές:
apostolos1986:Κατά τη γνώμη μου , αν και οι εργασίες δεν ειναι υποχρεωτικές αλλά προαιρετικές , πρέπει να τις κάνετε γιατί θα σας βοηθήσουν να καταλάβετε τη φιλοσοφία της γλώσσας C++.Επιπροσθέτως πριν τη γραπτή εξέταση δε θα χρειαστεί να διαβάσετε αρκετά γιατί θα τα έχετε αφομοιώσει λόγω της ενασχόλησης με τις εργασίες.
lars:Στο συγκεκριμένο μάθημα ούτε παράλληλες διαδικασίες (parallel processes) ούτε συγχρονισμό (concurrency) ούτε για debugging, debuggers, τεχνικές debugging με interactive debuggers και εννοείται ούτε συστήματα UNIX κάναμε και ακόμα δεν έχω καταλάβει γιατί υπάρχουν αυτά στον οδηγό.
Vlassis: Παρόλο που δεν ξέρουμε τον τρόπο που θα γίνεται το μάθημα, θεωρώ πως ο πιο σωστός, αν όχι ο μόνος τρόπος να μάθεις C++, τα βασικά της πραγματα τουλάχιστον, είναι να ασχοληθείς με τις εργασίες του μαθήματος και να τις λύνεις μόνος, ώστε σταδιακά να αποκτήσεις μια εξοικείωση με τη γλώσσα και να σου μείνουν και κάποια πράγματα αργότερα, όλο και κάπου μπορεί να χρειαστούν! Και με την ενασχόληση με τις εργασίες, θεωρώ δεδομένο οτι θα περάσετε στις εξετάσεις!


Title: Re: Γενικές Πληροφορίες για τις Προγραμματιστικές Τεχνικές
Post by: Vlassis on October 07, 2015, 21:40:25 pm
Ανανεώθηκαν οι πληροφορίες για το ακαδημαικό ετος 2015-2016! Αν υπάρχει κάτι που θεωρείτε ότι πρεπει να προστεθεί, ενημερώστε με  :)


Title: Re: [Αντικειμενοστραφής Προγραμματισμός] Γενικές Πληροφορίες για το μάθημα
Post by: Caterpillar on February 17, 2021, 22:03:52 pm
Τίτλος Μαθήματος:
Αντικειμενοστρεφής Προγραμματισμός

Διδάσκοντες (ακαδημαϊκό έτος 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, και συγκεκριμένα ΕΔΩ (http://www.thmmy.gr/smf/index.php?action=tpmod;dl=cat45) μπορείτε να βρείτε παλιά θέματα και τις σημειώσεις (ΣΗΜΕΙΩΣΗ: Για να αποκτήσετε πρόσβαση στα θέματα πρέπει να είστε εγγεγραμμένο μέλος του forum. Οι απλοί επισκέπτες δεν έχουν πρόσβαση.)
Στο youtube υπάρχουν τα μαθήματα c++ του Δημήτρη Ψούνη (https://www.youtube.com/watch?v=vzIZes9my2E&list=PLLMmbOLFy25Ems46dvy2EG5uQHGPa6f6u).

Επιπλέον πληροφορίες
Οι διαλέξεις θεωρίας είναι 2 ώρες ανά εβδομάδα. Πέμπτη 10.00-12.00 (Τμήμα Ι Α-Κ ) και Παρασκευή 12.00-14.00 (Τμήμα ΙΙ Λ-Ω)
Το 2021 που θα γίνει εξ αποστάσεως  μπορεί να συγχωνευτούν τα 2 τμήματα.
Το μάθημα αποτελεί μια εισαγωγή στις έννοιες του Αντικειμενοστρεφούς Προγραμματισμού. Έχει ως προαπαιτούμενη γνώση το Δομημένο Προγραμματισμό.
Παρουσιάζονται τεχνικές σχεδίασης, ανάλυσης και προγραμματισμού εφαρμογών και οι φοιτητές εξοικειώνονται με κάποια δημοφιλή περιβάλλοντα για την ανάπτυξη εφαρμογών. Το μάθημα περιλαμβάνει θεωρητικό και πρακτικό μέρος.



Ιστοσελίδα:
Ιστοσελίδα του μαθήματος στο elearning (https://elearning.auth.gr/enrol/index.php?id=9912)
Κωδικός: OOP2019

Σχόλια - απόψεις - συμβουλές:

Caterpillar: Πολύ ωραίο μάθημα, θέλει κατανόηση των διαλέξεων και των εργαστηρίων και είσαι έτοιμος. Ο Θέμης κάνει πολύ καλό μάθημα, η διαφάνειες και οι ασκήσεις του εργαστηρίου είναι αρκέτα για το διάβασμα του μαθήματος. Σας προτείνω να κάνετε την εργασία γιατί βοηθά πάρα πολύ στην κατανόηση του μαθήματος  και σας βοηθά στην εξέταση.
Τα βίντεο του  Ψούνη θα έλεγα να μην τα δεις όλα, γιατί ο Θέμης τα λέει πολύ ωραία, αλλά από τον Ψούνη να βλέπεις συγκεκριμένα κομμάτια που έχεις απορίες.
Ωστόσο αν δεν έχεις περάσει τον Δομημένο Προγραμματισμό, μην αγχώνεσαι καθόλου, μπορείς να ξεκινήσεις από την c++ και τον αντικειμενοστραφή, χωρίς ιδιαίτερες δυσκολίες. Παράδειγμα ο Caterpillar.  Ξεκίνησα με την c++ στο 2ο εξάμηνο , πέρασα πρώτα τον Αντικειμενοστραφή και μετά τον Δομημένο.
 
Και κάποια παλιότερα σχόλια:
apostolos1986:Κατά τη γνώμη μου , αν και οι εργασίες δεν ειναι υποχρεωτικές αλλά προαιρετικές , πρέπει να τις κάνετε γιατί θα σας βοηθήσουν να καταλάβετε τη φιλοσοφία της γλώσσας C++.Επιπροσθέτως πριν τη γραπτή εξέταση δε θα χρειαστεί να διαβάσετε αρκετά γιατί θα τα έχετε αφομοιώσει λόγω της ενασχόλησης με τις εργασίες.
Vlassis: Παρόλο που δεν ξέρουμε τον τρόπο που θα γίνεται το μάθημα, θεωρώ πως ο πιο σωστός, αν όχι ο μόνος τρόπος να μάθεις C++, τα βασικά της πραγματα τουλάχιστον, είναι να ασχοληθείς με τις εργασίες του μαθήματος και να τις λύνεις μόνος, ώστε σταδιακά να αποκτήσεις μια εξοικείωση με τη γλώσσα και να σου μείνουν και κάποια πράγματα αργότερα, όλο και κάπου μπορεί να χρειαστούν! Και με την ενασχόληση με τις εργασίες, θεωρώ δεδομένο οτι θα περάσετε στις εξετάσεις!