Please ensure Javascript is enabled for purposes of website accessibility

Μάθημα : Οντοκεντρικός Προγραμματισμός

Κωδικός : CEID1105

CEID1105  -  Κλεάνθης Θραμπουλίδης, Γιάννης Βασιλόπουλος, Ελένη Βογιατζάκη, Δημήτρης Κουτσομητρόπουλος

Για αναλυτικότερες πληροφορίες και τα διαδικαστικά του μαθήματος  και τις προϋποθέσεις εξέτασης δείτε εδώ.

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

  • Εισαγωγή στον αντικειμενοστρεφή προγραμματισμό. Οι έννοιες αντικείμενο, ιδιότητες, κλάση, στιγμιότυπο. Ιεραρχία κλάσεων, γενίκευση, εξειδίκευση. Κληρονομικότητα. Πλεονεκτήματα αντικειμενοστρεφούς προγ/μού.
  • Εισαγωγή στη Java-γενικά χαρακτηριστικά. Τύποι εφαρμογών. Ορισμός κλάσεων, στιγμιοτύπων. Μέθοδοι και μεταβλητές. Java και C-Βασική βιβλιοθήκη Java. Κληρονομικότητα. Κατηγορίες κλάσεων. Διεπαφές. Χειρισμός εξαιρέσεων. Νήματα- Ταυτόχρονος προγραμματισμός. Προσπέλαση αρχείων.
  • Εισαγωγή στη C++. Βασικά στοιχεία της C++. Αφαίρεση δεδομένων-Κλάσεις. Ιεραρχίες κλάσεων και Κληρονομικότητα. Παράγωγες κλάσεις. Διασυνδέσεις. Υπερφόρτωση τελεστών. Πρότυπα. Χειρισμός εξαιρέσεων. Βιβλιοθήκη C++ (οργάνωση, καθιερωμένοι και περιέχοντες τύποι, αλγόριθμοι, αντικείμενα-συναρτήσεις, επαναλήπτες, κατανομείς, ρεύματα εισόδου- εξόδου). Υλοποίηση δομών δεδομένων στη C++. Σχεδίαση οντοκεντρικών/αντικειμενοστρεφών προγραμμάτων. Στόχοι και διαδικασία σχεδίασης. Σχεδίαση κλάσεων-ιεραρχιών και διασυνδέσεων. Χρήση υπομονάδων. Επαναχρησιμοποίηση.

Ενότητες

Εισαγωγή στις έννοιες του Οντοκεντρικού Προγραμματισμού. Κλάσεις, κληρονομικότητα. Πλεονεκτήματα-Μειονεκτήματα.

Χειρισμός Εξαιρέσεων στην Java. Είσοδος και έξοδος δεδομένων. Νήματα και παράλληλος προγραμματισμός.

Εισαγωγή στην Γλώσσα Προγραμματισμού Java. Σύγκριση με την C. Βασικά Δομικά Στοιχεία και Βιβλιοθήκες. Ιεραρχίες κλάσεων και Κληρονομικότητα.

Διεπαφές χρήστη στην Java. Χρήση των βιβλιοθηκών AWT και SWING. Γραφικά και μικροεφαρμογές (Applets).

Εισαγωγή στην Γλώσσα Προγραμματισμού C++. Σύγκριση με την Java. Βασικές δομές ελέγχου, συναρτήσεις και μεταβλητές. Πίνακες και δείκτες.

Ιεραρχίες κλάσεων στην C++. Κληρονομικότητα και πολυμορφισμός.

Χρήση πρωτότυπων κλάσεων και συναρτήσεων (templates). Υπερφόρτωση Τελεστών για χρήση με αντικείμενα νέων κλάσεων. Χειρισμός εξαιρέσεων στην C++.

Η πρότυπη βιβλιοθήκη STL (Standard Template Library) και χρήση βασικών δομών όπως οι δυναμικοί πίνακες (vectors). Χρήσιμες δομές δεδομένων (Λίστες, Στοίβα, Ουρά κτλπ) με χρήση αυτοαναφερόμενων κλάσεων.

Χρήση των καναλιών (Strems) της C++ για είσοδο και έξοδο δεδομένων και επεξεργασία αρχείων. Χρήση αλφαριθμητικών (strings) στην C++ μέσω καναλιών.

Εργαστηριακές ασκήσεις Java και C++.

Ημερολόγιο

Προθεσμία
Γεγονός μαθήματος
Γεγονός συστήματος
Προσωπικό γεγονός

Ανοικτό Ακαδ. Μάθημα

Ανοικτά Ακαδημαϊκά Μαθήματα
Επίπεδο: A-

Αρ. Επισκέψεων :  102233
Αρ. Προβολών :  517957