Προηγμένα Θέματα Αντικειμενοστραφούς Προγραμματισμού

Πληροφορίες Μαθήματος

Εξάμηνο Μαθήματος:
1
Μέρος Μαθήματος:
Θεωρία
Κωδικός Μέρους Μαθήματος:
7101001
Εβδομαδιαίες Ώρες Διδασκαλίας:
3
Μονάδες ECTS Μαθήματος:
7.5
Διαθέσιμο σε σπουδαστές ERASMUS:
Όχι
Προσωπικό Μαθήματος:


Σκοπός Μαθήματος

O κύριος σκοπός του μαθήματος είναι να εξοικειωθούν οι σπουδαστές με προηγμένες έννοιες και τεχνικές αντικειμενοστραφούς προγραμματισμού με χρήση της πιο αντιπροσωπευτικής γλώσσας του χώρου την Java.


Μαθησιακοί Στόχοι

Με την ολοκλήρωση του μαθήματος οι φοιτητές θα μπορούν:

  • Να κατανοούν τις έννοιες του αντικειμενοστραφούς προγραμματισμού και τις αρχές χρήσης κληρονομικότητας, πολυμορφισμού, ενθυλάκωσης και υπερφόρτωσης μεθόδους
  • Διακρίνουν κλάσεις, αντικείμενα και μέλη κλάσεων καθώς και τις σχέσεις τους μεταξύ τους ώστε να επιλύουν ένα πρόβλημα
  • Δημιουργούν εφαρμογές κάνοντας χρήση ενδεδειγμένων τεχνικών διασύνδεσης καθώς και σωστής δόμησης προγράμματος στις οποίες βασίζεται ο αντικειμενοστραφής προγραμματισμός
  • Να χρησιμοποιούν εργαλεία για εκσφαλμάτωση προγραμμάτων καθώς και χρήση εργαλείων που βοηθούν συνεργασία στην ανάπτυξη προγράμματος
  • Να αναπτύσσουν ολοκληρωμένα προγράμματα με την χρήση του Java API καθώς και με τις βιβλιοθήκες της Java


Γενικές Ικανότητες

  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση προηγμένων εργαλείων της Java
  • Προσαρμογή σε νέες καταστάσεις: Αξιολόγηση προτάσεων σχετικά με τον χειρισμό σύνθετων προβλημάτων
  • Λήψη Αποφάσεων: Συνδυασμός τεχνικών για πιο προηγμένα προβλήματα
  • Αυτόνομη εργασία: Γνώση των εργαλείων ανάπτυξης καθώς και των εγχειριδίων και του Διαδικτύου για εξεύρεση λύσεων
  • Ομαδική εργασία: Ικανότητα διαλόγου και συνεργασίας για την ανάπτυξη σύνθετων εφαρμογών
  • Εργασία σε διεθνές περιβάλλον: Δυνατότητα παρακολούθησης της διεθνούς βιβλιογραφίας και των επιστημονικών εκδηλώσεων, Επικοινωνιακή ικανότητα
  • Παραγωγή νέων ερευνητικών ιδεών: Προαγωγή ελεύθερης, δημιουργικής σκέψης για ανάπτυξη νέων προσεγγίσεων στην επίλυση προβλημάτων


Περιγραφή Μαθήματος

  1. Εισαγωγή στο Προγραμματισμό με Java
  2. Επιλογές, Επαναλήψεις, Χαρακτήρες και Συμβολοσειρές
  3. Μέθοδοι και Πίνακες
  4. Αντικείμενα και κλάσεις
  5. Κληρονομικότητα και Πολυμορφισμός
  6. Προηγμένες τεχνικές Αντικειμενοστραφούς Προγραμματισμού
  7. Εξαιρέσεις και Αρχεία
  8. Αφηρημένες κλάσεις και Interfaces
  9. JavaFX
  10. Βάσεις Δεδομένων με Java
  11. Γεγονοστραφής Προγραμματισμός και Animations
  12. Δικτυακός Προγραμματισμός
  13. Προγραμματισμός με Java Server Pages

Αξιολόγηση Σπουδαστών

Εξαμηνιαίο project 1: 25%

Εξαμηνιαίο project 2: 25%

Γραπτή Εξέταση: 50% 


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

  • Harvey M., Paul J. Deitel, "Java Προγραμματιμός", 10η Εκδ., Χ. ΓΚΙΟΥΡΔΑ & ΣΙΑ ΕΕ, 2015
  • Λιακέας Γ., "ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA", Έκδοση: 2η, ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ ΕΠΕ, 2015
  • Καρανικόλας Νικήτας Ν., "Java για όλους", Έκδοση: 1η, ΕΚΔΟΣΕΙΣ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΜΟΝ. ΕΠΕ, 2014
  • Schildt Herbert, "Java: The Complete Reference", 9th Ed., McGraw-Hill Education, 2014
  • Dr. Liang, "Intro to Java Programming", 10th Ed., Pearson, 2014
  • Charlie Hunt and Binu John, "Java Performance", 1st Ed., Addison-Wesley Professional, 2012