5ο εξάμηνο


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



Τίτλος μαθήματος Αντικειμενοστρεφής Προγραμματισμός ΙΙ
Κωδικός μαθήματος ΜΚ31
Είδος μαθήματος Υποχρεωτικό
Επίπεδο μαθήματος Προπτυχιακό
Έτος σπουδών 3ο
Εξάμηνο 5ο
Πιστωτικές μονάδες ECTS 5
Ιστοσελίδα eclass.uowm.gr/courses/ICTE209/
Ώρες ανά εβδομάδα 4
Διδάσκων Σταματία Μπίμπη (Επίκουρη Καθηγήτρια)
Περιεχόμενο μαθήματος Αντικειμενοστραφής Προγραμματισμός σε Java. Μηχανισμοί και Ιδιότητες. Κλάσεις και Αφαιρετικότητα των Δεδομένων. Ιδιότητες και Αντικείμενα. Μέθοδοι και Μηνύματα. Υπερφόρτωση. Κληρονομικότητα. Πολυμορφισμός. Χειρισμός Λαθών. Νήματα.
Αναμενόμενα μαθησιακά αποτελέσματα και δεξιότητες Στόχος του μαθήματος είναι η εμβάθυνση στις έννοιες του αντικειμενοστρεφούς προγραμματισμού, και η εκμάθηση της γλώσσας Java. Πιο συγκεκριμένα, οι φοιτητές θα θυμηθούν βασικές έννοιες όπως είναι τα αντικείμενα και οι κλάσεις και θα μάθουν πως θα τα δηλώνουν και θα τα υλοποιούν στη γλώσσα προγραμματισμού JAVA. Επίσης θα έρθουν σε επαφή με πιο προχωρημένες έννοιες όπως η αφαίρεση, ο πολυμορφισμός, και θα δουν πως αυτές υλοποιούνται μέσω της κληρονομικότητας, της περιεκτικότητας και των διασυνδέσεων. Στόχος του μαθήματος είναι οι εξοικείωση με την υλοποίηση γραφικών διεπαφών χρήστη, τη διαχείριση ρευμάτων και αρχείων, την αποσφαλμάτωση του κώδικα και τη διαχείριση δυναμικών συνόλων δεδομένων. Οι φοιτητές θα εξασκηθούν στη χρήση νημάτων με στόχο τη δημιουργία πολυνηματικών εφαρμογών. Επίσης, οι φοιτητές θα αποκτήσουν πρακτική εμπειρία στην χρήση των παραπάνω εννοιών μέσα από την ενασχόλησή τους με την γλώσσα προγραμματισμού Java, τόσο μέσα από μια σειρά εργαστηριακών μαθημάτων, όσο και μέσα από μια προγραμματιστική εργασία. Με την επιτυχή ολοκλήρωση του μαθήματος οι φοιτητές θα είναι σε θέση να:
  • Κατανοούν σε βάθος τις βασικές αρχές του Αντικειμενοστραφή Προγραμματισμού.
  • Περιγράφουν τις βασικές διαφορές ανάμεσα στη γλώσσα Java και τη γλώσσα C++.
  • Σχεδιάζουν αντικειμενοστρεφείς εφαρμογές.
  • Κατανοούν σε βάθος τις έννοιες της ενθυλάκωσης, του πολυμορφισμού και της κληρονομικότητας.
  • Κατανοούν σε βάθος τη δομή των κλάσεων, των μελών καθώς και των μεθόδων τους.
  • Κατανοούν σε βάθος τις αφηρημένες κλάσεις και τη χρήση τους.
  • Κατανοούν τη χρήση και λειτουργία των πινάκων, των συμβολοσειρών και των συλλογών στη γλώσσα Java.
  • Σχεδιάζουν και να αναπτύσσουν απλές και σύνθετες εφαρμογές με τη γλώσσα Java.
  • Σχεδιάζουν και να αναπτύσσουν γραφικά περιβάλλοντα διεπαφής με τη γλώσσα Java.
  • Κατανοούν σε βάθος το μηχανισμό εξαιρέσεων της Java και να δημιουργούν νέες εξαιρέσεις.
  • Κατανοούν σε βάθος και να δημιουργούν παράλληλο κώδικα με χρήση νημάτων.
  • Αναγνωρίζουν λάθη στον κώδικα και να τα διορθώνουν.
  • Αξιολογούν λύσεις και να επιλέγουν την πιο κατάλληλη για την εφαρμογή της σε πραγματικά προβλήματα.
  • Προαπαιτούμενα μαθήματα Κανένα
    Μέθοδοι διδασκαλίας Διαλέξεις και εργαστήρια
    Αξιολόγηση Υποχρεωτικά εργαστήρια (30% του βαθμού).
    Υποχρεωτικές εργασίες (20% του βαθμού)
    Εξετάσεις (50% του βαθμού)
    Γλώσσα διδασκαλίας Ελληνική
    Βιβλιογραφία
    • Savitch Walter, Απόλυτη Java (περιέχει CD), ΣΤΕΛΛΑ ΠΑΡΙΚΟΥ & ΣΙΑ, 2008.
    • Deitel Paul J.,Deitel Harvey M., Java προγραμματισμός, Χ. ΓΚΙΟΥΡΔΑ & ΣΙΑ, 2010.
    • Deitel Harvey M.,Deitel Paul J., C++ Προγραμματισμός 6η Εκδοση, Χ. ΓΚΙΟΥΡΔΑ & ΣΙΑ, 2011.


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