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

ΠΠΣ-184

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

1ου Εξαμήνου

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

7,5

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

https://lefkippos.ds.unipi.gr/courses/DSERV103/

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

Υποχρεωτικό

Η Γλώσσα Προγραμματισμού Java

Στόχος

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

Περιεχόμενα

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

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

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

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

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

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

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

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

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

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

Διαχείριση αρχείων.

Δημιουργία, ανάγνωση και εγγραφή σε αρχεία κειμένου και δυαδικά αρχεία.

Διαχείριση βάσεων δεδομένων.

Πρόσβαση σε SQL Βάσεις Δεδομένων μέσω JDBC (Java Database Connectivity). Διατήρηση των δεδομένων (persistence) στη Java με χρήση εργαλείων όπως το Hibernate. Πρόσβαση σε noSQL Βάσεις Δεδομένων.

Προγραμματισμός από τη μεριά του εξυπηρετητή (serverside programming).

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

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

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

Προτεινόμενα Συγγράμματα

  • Paul J. Deitel, Harvey Deitel (2018): Java How to Program, 11th Edition, Pearson, ISBN: 9780134743356.
  • Herbert Schildt (2018): Java: The Complete Reference, Eleventh Edition, 11th Edition, McGraw-Hill, ISBN: 9781260440249.
  • Christian Bauer, Gavin King, Gary Gregory (2015): Java Persistence with Hibernate, 2nd Edition, Manning Publications ISBN: 9781617290459.