ΔΙΑΛΕΞΕΙΣ |
ΘΕΜΑΤΑ |
ΣΤΟΧΟΙ κ. ΑΝΑΓΝΩΣΜΑΤΑ |
| ΕΡΓΑΣΤΗΡΙΑ |
|
ΕΝΟΤΗΤΑ 1η: ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA
|
|
19/1 |
Εισαγωγή και Ανασκόπηση |
- Αναγνώσματα:
- Βασικές έννοιες:
- Η πλατφόρμα της JAVA, JAVA API, JVM, εκτέλεση προγραμμάτων JAVA.
- Μεταγλώττιση και Διερμηνεία.
- Τα πρώτα προγράμματα JAVA.
|
22/1 26/1
|
Αντικείμενα, Κλάσεις , Μέθοδοι |
- Αναγνώσματα:
- Βασικές έννοιες:
- Aφαιρετικότητα, Aντικείμενα, Kλάσεις, Μέθοδοι.
- Αρχέγονοι τύποι, Πεδία εμβέλειας.
- Διαχείριση Μνήμης, Στατικότητα, Κατασκευή Αντικειμένων.
|
| 22/1 |
Εκτέλεση προγραμμάτων JAVA |
- Στόχος: Σύνταξη, μεταγλώττιση και εκτέλεση HelloWorld.java Χρήση μεταγλωττιστή (javac) και διερμηνέα (javac).
- Πρακτική εξάσκηση: Να γίνει συγγραφή, μεταγλώττιση και εκτέλεση των πρώτων προγραμμάτων JAVA με χρήση συντάκτη emacs και απευθείας επίκλησης του μεταγλωττιστή και του διερμηνέα της JAVA.
- Διαφάνειες εργαστηρίου
|
| 29/1 |
Διαχείριση Μνήμης, Κατασκευή Αντικειμένων, Στατικότητα
[Slides] |
- Αναγνώσματα:
- Βασικές έννοιες:
- Διαχείριση Μνήμης, Στατικότητα, Κατασκευή Αντικειμένων.
|
| 29/1 |
Πρώτη Εργασία |
- Στόχος: Επίλυση υπολογιστικών προβλημάτων με αντικειμενοστρεφή προσέγγιση.
- Χρόνος παράδοσης: 1 εβδομάδα
- Εκφώνηση άσκησης
|
2/2
5/2 |
Τελεστές, Έλεγχος Ροής, Πίνακες |
- Αναγνώσματα:
- Κεφάλαια 4 (Operators), 5 (Controlling Execution), "Thinking in Java."
- Language Basics, "The Java Tutorials," Sun Microsystems.
- Εναλλακτικό ανάγνωσμα: Κεφάλαια 4, 6. AJ.
- Σημαντικές έννοιες:
- Tελεστές, βρόχοι
- Ψευδωνυμία
- Πίνακες
|
| 5/2 |
Εισαγωγή στο Eclipse |
- Στόχος: Εξοικείωση με το Ολοκληρωμένο Περιβάλλον Ανάπτυξης Eclipse (Eclipse Integrated Development Environment).
- Πρακτική εξάσκηση: Να γίνει η συγγραφή, μεταγλώττιση και εκτέλεση των πρώτων προγραμμάτων JAVA (HelloWorld κλπ) με το Ολοκληρωμένο Περιβάλλον Ανάπτυξης Eclipse (Eclipse Integrated Development Environment).
- Αναγνώσματα: Κεφάλαιo 1 και 2, "Eclipse in Action".
- Διαφάνειες εργαστηρίου
|
| 9/2
12/2
|
Επαναχρησιμοποίηση Κώδικα |
- Αναγνώσματα:
- Σημαντικές έννοιες:
- Επαναχρησιμοποίηση κώδικα
- APIs και Βιβλιοθήκες
- Βιβλιοθήκες Εισόδου/Εξόδου, Γραφικών.
- Ονοματολογία
- Εκδόσεις λογισμικού (versions)
|
| 9/2 |
Δεύτερη Εργασία |
- Στόχος: Προγραμματισμός με επαναχρησιμοποίηση κώδικα για είσοδο/έξοδο και γραφικά.
- Χρόνος παράδοσης: 1 εβδομάδα (17//2)
- Η εκφώνηση έχει αναρτηθεί στο Blackboard.
|
| 12/2 |
Επαναχρησιμοποίηση κώδικα |
- Στόχος: Εξοικείωση με βιβλιοθήκες εισόδου/εξόδου, γραφικών μέσα από το Eclipse.
- Πρακτική εξάσκηση: Θα δοθούν υπερσύνδεσμοι σε κώδικα βιβλιοθηκών γραφικών, επεξεργασίας εικόνων και ήχου, και θα ζητηθεί από τους φοιτητές να ενσωματώσουν και να επαναχρησιμοποιήσουν τις βιβλιοθήκες αυτές μέσα στο περιβάλλον του Eclipse.
- Αναγνώσματα: Θα χρησιμοποιηθούν βιβλιοθήκες από το βιβλίων των Sedgewick και Wayne.
- Διαφάνειες εργαστηρίου
|
16/2
19/2 |
Αρχικοποίηση και Εκκαθάριση |
- Αναγνώσματα:
- Κεφάλαιο 6 (Initialization & Cleanup), "Thinking in Java."
- Σημαντικές έννοιες:
- Κατασκευαστές
- Υπερφόρτωση Μεθόδων
- Αρχικοποιήσεις
- Στατικοί Αρχικοποιητές
- Διαχείριση Μνήμης
- Αποκομιδή Σκυβάλων
|
19/2
23/2
|
Έλεγχος Πρόσβασης |
- Αναγνώσματα: Κεφάλαιο 7, "Thinking in Java."
- Σημαντικές έννοιες: βιβλιοθήκες και χώροι ονομάτων, CLASSPATH, προσδιοριστές πρόσβασης (public, private, friendly).
|
| 19/2 |
Εκτέλεση προγραμμάτων JAVA |
- Eπεξήγηση και χρήση της μεταβλητής περιβάλλοντος CLASSPATH και των πακέτων Java
|
| ΕΝΟΤΗΤΑ 2η: ΑΝΤΙΚΕΜΕΝΟΣΤΡΕΦΗΣ (Α/Σ) ΣΧΕΔΙΑΣΜΟΣ |
23/2
26/2
|
Αντικειμενοστρεφής Σχεδιασμός |
|
| 26/2 |
Μοντελοποίηση με UML |
- Στόχος: Εξοικείωση με εργαλεία μοντελοποίησης UML και αντικειμενοστρεφή σχεδιασμό.
- Πρακτική εξάσκηση: Θα δοθεί προγραμματιστικό πρόβλημα και θα ζητηθεί να επιλυθεί και να μοντελοποιηθεί με UML.
- Διαφάνειες εργαστηρίου
|
| 26/2 |
Τρίτη Εργασία |
- Στόχος: μοντελοποίηση προγραμματιστικού προβλήματος με χρήση CRC και UML.
- Χρόνος παράδοσης: 2 εβδομάδες.
|
| ΕΝΟΤΗΤΑ 3η: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΕΙΑ ΣΤΗ JAVA |
2/3
5/3
|
Κληρονομικότητα |
- Κεφάλαιο 8, "Thinking in Java."
- Inheritance, "The Java Tutorials," Sun Microsystems.
- Σημαντικές έννοιες: επαναχρησιμοποίηση κλάσεων, σύνθεση, κληρονομικότητα, αναβάθμιση (upcasting), τελικές κλάσεις.
|
| 5/3 |
Δεν θα γίνει το εργαστήριο |
|
9/3
12/3
|
Πολυμορφισμός |
- Κεφάλαιο 9, "Thinking in Java."
- Σημαντικές έννοιες: πολυμορφικές κλήσεις μεθόδων, κληρονομικότητα και στατικότητα, κληρονομικότητα και προσδιοριστές πρόσβασης, αφαιρετικές κλάσεις.
|
| 12/3 |
Εισαγωγή στο Eclipse |
|
| 16/3 |
Αφαιρετικές Κλάσεις κ. Διαπροσωπείες |
- Κεφάλαιο 10 (Interfaces),"Thinking in Java."
- Σημαντικές έννοιες: Αφαιρετικές μέθοδοι και κλάσεις, διαπροσωπείες, κληρονομικότητα διαπροσωπειών, σχεδιαστικά πρότυπα (design patterns), πολυμορφισμός και διαπροσωπείες.
|
| 19/3 |
Εργαστήριο |
|
19/3
26/3
|
Εσωτερικές Κλάσεις |
- Κεφάλαιο 11 (Inner Classes), "Thinking in Java." 4th Edition. Prentice Hall.
|
| 23/3 |
Ενδιάμεση Εξέταση |
- Εξεταστέα Ύλη: μέχρι τον πολυμορφισμό (κεφάλαιο 9, Eckel).
|
| ΕΝΟΤΗΤΑ 4η: ΠΡΟΧΩΡΗΜΕΝΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΔΟΜΕΣ JAVA |
13/4
16/4 |
Βιβλιοθήκες Κιβωτίων |
- Κεφάλαια 12 (Holding your Objects), 18 (Containers in Depth). "Thinking in Java."
- JAVA tutorials, Sub Microsystems.
|
| 16/4 |
Εισαγωγή στο Eclipse |
|
| 20/4 |
Εξαιρέσεις |
- Κεφάλαιο 13 (Error Handling with Exceptions), "Thinking in Java."
|
| 23/4 |
Εισαγωγή στη Java |
|
23/4
27/4
|
Γενικευμένες Κλάσεις |
|
27/4
30/4 |
Δυναμική Πληροφορία Τύπου |
- Κεφάλαιο 14 (Type Information), "Thinking in Java."
|
|
ΛΗΞΗ ΕΞΑΜΗΝΟΥ
|
| |