UCYLogo
Πανεπιστήμιο Κύπρου
Τμήμα Πληροφορικής

ΕΠΛ233: Αντικειμενοστρεφής Προγραμματισμός

 

Πρόγραμμα Μαθημάτων

JavaLogo

'Ανοιξη 2010


Ευρετήριο

ΕΠΛ233 | Συμβόλαιο | Πρόγραμμα Μαθημάτων | Χρήσιμο Υλικό  |  Ανακοινώσεις | Ιστολόγιο | Blackboard


 

ΔΙΑΛΕΞΕΙΣ

ΘΕΜΑΤΑ ΣΤΟΧΟΙ κ. ΑΝΑΓΝΩΣΜΑΤΑ
ΕΡΓΑΣΤΗΡΙΑ
ΕΝΟΤΗΤΑ 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

Αντικειμενοστρεφής Σχεδιασμός
  • Κεφάλαιο 2, "The Object-Oriented Design Process." Cay Horstmann (pdf).
  • Object-Oriented Programming Concepts, "The Java Tutorials," Sun Microsystems.
  • "A Laboratory For Teaching Object-Oriented Thinking." K. Beck and W. Cunningham, Proceedings of OOPSLA '89 (το άρθρο που εισήγαγε τις κάρτες CRC).
  • Χρήσιμες διαφάνειες για τη UML των Nelson Padua-Perez και Bill Pugh, Univ. of Maryland.
  • Σημαντικές έννοιες: Τεχνικές αντικειμενοστρεφούς σχεδιασμού με χρήση καρτών CRC και UML. Διαγράμματα κλάσεων, σειράς, κατάστασης.
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 Εργαστήριο
  • Επεξήγηση 5ης άσκησης.

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."
ΛΗΞΗ ΕΞΑΜΗΝΟΥ
 

[ΕΠΛ233]


Μάριος Δικαιάκος, © 2000-2010