7ο εξάμηνο


Μάθημα: Αντικειμενοστραφής Προγραμματισμός ΙI



Κωδικός Μαθήματος: ΜΚ31
Επίπεδο Μαθήματος: Προπτυχιακό
Είδος Μαθήματος: Επιλογής
Εξάμηνο: 7
Κατεύθυνση: Κατεύθυνση Υπολογιστών και Ηλεκτρονικής
Ομάδα: Κατ' επιλογή υποχρεωτικό
Διδακτικές Μονάδες: 5
Ώρες διδασκαλίας: 4
Ιστοσελίδα: eclass.uowm.gr/courses/ICTE209/
Γλώσσα διδασκαλίας:Ελληνική
Περιεχόμενο:

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

επιτρέψουν την ανάπτυξη αντικειμενοστραφών προγραμμάτων.

Δίνεται έμφασή σε: Κλάσεις/Αντικείμενα (Con/Destructors,

Overloading, Static/final methods/variables), Κληρονομικότητα και

Πολυμορφισμός (Abstract/ classes, Overriding methods), Υπερφόρτωση τελεστών, templates.

Αναμενόμενα μαθησιακά αποτελέσματα:

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

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

Οι φοιτητές που ολοκληρώνουν επιτυχώς το μάθημα Αντικειμενοστραφής Προγραμματισμός IΙ θα πρέπει να είναι σε θέση να:

  • Ταξινομήσουν και κατανοήσουν τα υφιστάμενα προγραμματιστικά μοντέλα.
  • Υλοποιήσουν βασικές σχέσεις ανάμεσα σε κλάσεις, όπως κληρονομικότητα, πολυμορφισμός, περιεκτικότητα στη γλώσσα c++.
  • Εκτελούν υπερφόρτωση τελεστών, μοναδιαίων , αριθμητικών, σύγκρισης καθώς και τελεστών εισόδου, εξόδου.
  • Χειρίζονται συναρτήσεις καθολικές, φιλικές αλλά και συναρτήσεις μέλη των κλάσεων και να μπορούν να χρησιμοποιούν επιτυχώς μεταβλητές και συναρτήσεις και μεταβλητές const, static, final.
  • Αποθηκεύουν και να ανακτούν πληροφορίες σε αρχεία κειμένου και δυαδικά αρχεία.
  • Εκτελούν δυναμική δέσμευση μνήμης, χειριζόμενοι δείκτες.
  • Να υλοποιούν templates 
Προαπαιτούμενα:

Κανένα

Μέθοδοι Διδασκαλίας:

Διαλέξεις και εργαστήρια

Αξιολόγηση:

40% εργαστήριο, 60% γραπτή εξέταση

Βιβλιογραφία:

[1] Deitel Harvey M.,Deitel Paul J., C++ Προγραμματισμός, Χ. ΓΚΙΟΥΡΔΑ & ΣΙΑ ΕΕ. 

[2] Savitch Walter, Πλήρης C++, ΕΚΔΟΣΕΙΣ Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε.

[3] B. Stroustrup, The C++ Programming Language, Addison Wesley.

[4] S. Al, W. Clayton, "Η Βίβλος της C++",  Α. Γκιούρδα & ΣΙΑ ΟΕ.

Διδάσκων: Μπίμπη Σταματία