Κωδικός Μαθήματος

ΠΠΣ-184

Εξάμηνο Μαθήματος

1ου Εξαμήνου

Πιστωτικές Μονάδες

7,5

Ηλεκτρονικό Υλικό

Κατηγορία Μαθήματος

Υποχρεωτικό

Διδάσκοντες Μαθήματος

Στόχος

Στόχος του μαθήματος είναι η εισαγωγή των φοιτητών στον αντικειμενοστρεφή τρόπο σκέψης για τη μοντελοποίηση και επίλυση προβλημάτων και στον αντικειμενοστρεφή προγραμματισμό (object oriented programming) και η εξοικείωσή τους με τις βασικές έννοιες της αντικειμενοστρεφούς γλώσσας προγραμματισμού Java.

Πιο συγκεκριμένα, οι φοιτητές:

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

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

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

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

Μαθησιακά Αποτελέσματα

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

Περιεχόμενα Μαθήματος

  • Εισαγωγή στον αντικειμενοστρεφή προγραμματισμό

    Εισαγωγή στον αντικειμενοστρεφή τρόπο σκέψης ως προσέγγιση για τη μοντελοποίηση προβλημάτων και την επίλυσή τους μέσω γλωσσών προγραμματισμού. Θεμελιώδεις έννοιες αντικειμενοστρεφούς προγραμματισμού. Μοντελοποίηση οντοτήτων του πραγματικού κόσμου. Αντικείµενα και Κλάσεις.

     

  • Εισαγωγή στη γλώσσα προγραμµατισµού Java

    Συντακτικό και xαρακτηριστικά της γλώσσας, μεταβλητές, τύποι δεδοµένων και παραστάσεις. ∆οµές ελέγχου. Πίνακες.

     

  • Κλάσεις και Αντικείμενα

    ∆ηµιουργία κλάσεων και κατασκευή αντικειµένων. Κατασκευαστές και Μέθοδοι κλάσεων. Κλήση μεθόδων επί αντικειμένων.

     

  • Αλληλεπίδραση μεταξύ αντικειμένων

    Aποστολή μηνυμάτων – κλήση μεθόδων, πέρασμα παραμέτρων.

     

  • Βασικές έννοιες αντικειμενοστρεφούς προγραμματισμού

    Κληρονοµικότητα και Πολυµορφισµός. Χρήση αφαιρέσεων και διασυνδέσεων. Χειρισμός εξαιρέσεων. Χειρισµός συµβάντων.

     

  • Παραμετρικός Πολυμορφισμός (Generics)

    Παραμετρικοί τύποι δεομένων, μεθόδων και κλάσεων.

     

  • Ανώνυμες κλάσεις

    Αρχεία, Ροές και Σειριοποίηση/αποσειριοποίηση αντικειμένων

    Λειτουργικός Προγραμματισμός

    Λειτουργικές διασυνδέσεις, ροές κι εκφράσεις lambda

     

  • Προγραμματισμός από τη μεριά του εξυπηρετητή (server–side programming)

    Υπηρεσίες ιστού (Web services), java servlets.

     

  • Πολυνηματικός προγραμματισμός

    Ανάπτυξη εφαρμογών

    Γραφική ∆ιασύνδεση Χρήστη (GUI). JavaFX. Χειρισμός συμβάντων. Ανάπτυξη προγραμμάτων πλήρους λειτουργικότητας.

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