ΜΥΥ205/ΠΛΥ212 – Τεχνικές Αντικειμενοστραφούς Προγραμματισμού

Εαρινό Εξάμηνο, 2018

 

Αρχική

Διδακτέα Ύλη

Ασκήσεις

Βιβλία – Υλικό

·       Απόλυτη Java, Walter Savitch (Ελληνικά)

·       Thinking in Java, Bruce Eckel (Αγγλικά)

·       Java Docs (Oracle online documentation) (Αγγλικά)

·       Στη σελίδα του μαθήματος Αντικειμενοστραφής Προγραμματισμός στο Πανεπιστήμιο Κρήτης υπάρχει μια χρήσιμη συλλογή από links σε βιβλία, διαφάνειες και προγραμματιστικό υλικό.

 

Διαφάνειες

Διαδικαστικά: Οι διαφάνειες του πρώτου μαθήματος με τα διαδικαστικά του μαθήματος (βαθμολογία κλπ) (pptx, pdf)

 

Διαφάνειες: Όλες οι διαφάνειες του μαθήματος σε ένα αρχείο. (pptx, pdf).

 

Οι διαφάνειες ανά διάλεξη:

 

·       Διάλεξη 1 (13 Φεβρουαρίου): Εισαγωγή – Γλώσσες προγραμματισμού, Προγραμματιστικά μοντέλα (paradigms), Αντικειμενοστραφής Προγραμματισμός (pptx, pdf)

·       Διάλεξη 2 (21 Φεβρουαρίου): Αντικειμενοστραφής Προγραμματισμός - Εισαγωγή στη γλώσσα προγραμματισμού Java. Ιστορία της γλώσσας. Το Hello World πρόγραμμα (pptx, pdf, code)

·       Διάλεξη 3 (27 Φεβρουαρίου): Εισαγωγή στη γλώσσα προγραμματισμού Java. Δήλωση μεταβλητών, είσοδος, έξοδος, διακλαδώσεις.(pptx, pdf, code)

·       Διάλεξη 4 (1 Μαρτίου): Εισαγωγή στη γλώσσα προγραμματισμού Java. Διακλαδώσεις και βρόχοι, εμβέλεια μεταβλητών.(pptx, pdf, code)

·       Διάλεξη 5 (6 Μαρτίου): Κλάσεις στην Java. Ορισμός αντικειμένων και κλήση μεθόδων. Strings, Wrapper κλασεις, Είσοδος/Έξοδος.(pptx, pdf, code)

·       Διάλεξη 6 (8 Μαρτίου): Δομές δεδομένων στην Java: Πίνακες, ArrayList, HashSet, HashMap. (pptx, pdf, code)

·       Διάλεξη 7 (13 Μαρτίου): Δημιουργία κλάσεων δεδομένων. Πεδία, μέθοδοι, παράμετροι-ορίσματα, επιστρεφόμενες τιμές.  (pptx, pdf, code)

·       Διάλεξη 8 (15 Μαρτίου): Δημιουργία κλάσεων δεδομένων στην Java. Μέθοδοι πρόσβασης (Accessor) και μετάλλαξης (Mutator). Τοπικές μεταβλητές. Το αντικείμενο this. (pptx, pdf, code)

·       Διάλεξη 9 (20 Μαρτίου): Δημιουργία κλάσεων δεδομένων στην Java. Constructors. (pptx, pdf, code)

·       Διάλεξη 10 (22 Μαρτίου): Υπερφόρτωση. Αντικείμενα σαν ορίσματα. (pptx, pdf, code)

·       Διάλεξη 11 (27 Μαρτίου): Αντικείμενα με πίνακες. toString και equals. Αντικείμενα σαν ορίσματα. (pptx, pdf, code)

·       Διάλεξη 12 (27 Μαρτίου): Αντικείμενα σαν επιστρεφόμενες τιμές. Αντικείμενα με πίνακες ΙΙ. (pptx, pdf, code)

·       Διάλεξη 13 (17 Απριλίου): Αναφορές. Διαχείριση μνήμης, στοίβα και σωρός. Αναφορές-παράμετροι (pptx, pdf, code)

·       Διάλεξη 14 (18 Απριλίου): Έλεγχος ισότητας – String interning. Από-αναφοροποίηση, derefrencing. (pptx, pdf, code)

·       Διάλεξη 15 (19 Απριλίου): Αναφορές σαν επιστρεφόμενες τιμές. Πίνακες με αντικείμενα. Βαθιά και ρηχά αντίγραφα. Copy Constructor. Η αναφορά this. Σύνθεση και αναφορές. (pptx, pdf, code)

·       Διάλεξη 16 (24 Απριλίου): Σύνθεση και συνάθροιση. Υλοποίηση δυναμικής στοίβας. (pptx, pdf, code)

·       Διάλεξη 17 (26 Απριλίου): Σύνθεση και συνάθροιση. Παράδειγμα: Τμήμα Πανεπιστημίου. (pptx, pdf, code)

·       Διάλεξη 18 (2 Μαΐου): Εισαγωγή στην κληρονομικότητα. Is-a σχέση. Υπέρβαση μεθόδων. Downcasting (pptx, pdf, code)

·       Διάλεξη 19 (3 Μαΐου): Κληρονομικότητα, late binding, αφηρημένες κλάσεις, interfaces. (pptx, pdf, code)

·       Διάλεξη 20 (8 Μαΐου): Παράδειγμα κληρονομικότητας. (pptx, pdf, code)

·       Διάλεξη 21 (10 Μαΐου): Παραδείγματα κληρονομικότητας. Γενικευμένες κλάσεις. (pptx, pdf, code)

·       Διάλεξη 22 (15 Μαΐου): Γενικευμένες κλάσεις. Εισαγωγή στις συλλογές. (pptx, pdf, code)

·       Διάλεξη 23 (17 Μαΐου): Συλλογές. (pptx, pdf, code)

·       Διάλεξη 24 (22 Μαΐου): Εξαιρέσεις. (pptx, pdf, code)

·       Διάλεξη 25 (24 Μαΐου): Αρχεία – Strings – Αρχεία, String processing - δομές. (pptx, pdf, code)

·       Διάλεξη 26 (29 Μαΐου): Γραφικά Περιβάλλοντα. Η βιβλιοθήκη SWING. Event-driven programming. (pptx, pdf, code)