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

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

 

Συμβόλαιο Μαθήματος

JavaLogo

'Ανοιξη 2010


Ευρετήριο

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


Τίτλος μαθήματος Αντικειμενοστρεφής Προγραμματισμός
Κωδικός 233
Πιστωτικές Μονάδες 7,5
Εξάμηνο  Εαρινό
Διαλέξεις Τρίτη, Παρασκευή, 10:30-12:00
ΧΩΔ01, 006
Εργαστήριο Παρασκευή, 13:30-15:00, 15:00-16:30, ΘΕΕ01, Β121
Διδάσκων Μάριος Δικαιάκος

Γενική Περιγραφή

Το μάθημα αυτό αποτελεί μιαν εισαγωγή στον αντικειμενοστρεφή προγραμματισμό και στη χρήση της αντικειμενοστρεφούς μεθοδολογίας για την επίλυση υπολογιστικών προβλημάτων. Κύριος στόχος του μαθήματος είναι η διδασκαλία των αρχών του αντικειμενοστρεφούς προγραμματισμού και η εφαρμογή των με χρήση της γλώσσας προγραμματισμού JAVA. Θεωρείται δεδομένη η καλή γνώση διαδικασιακού προγραμματισμού και δομών δεδομένων.

Μαθησιακοί Στόχοι

Ένας φοιτητής που ολοκληρώνει επιτυχώς το μάθημα θα πρέπει:

  1. Να γνωρίζει και να κατανοεί τις θεμελειώδεις αρχές αντικειμενοστρεφούς προγραμματισμού και την υλοποίησή τους στη γλώσσα προγραμματισμού JAVA.
  2. Να μπορεί να επινοήσει αντικειμενοστρεφείς λύσεις σε υπολογιστικά προβλήματα περιγεγραμμένα σε φυσική γλώσσα, χρησιμοποιώντας τεχνικές αντικειμενοστρεφούς σχεδιασμού. Να μπορεί να περιγράψει το σχέδιο της λύσης ενός προβλήματος με αντικειμενοστρεφή τρόπο, κάνοντας χρήση διαγραμμάτων UML.
  3. Να έχει εξοικειωθεί με το συντακτικό, την σημασιολογία και τα εγχειρίδια του API της JAVA και να έχει τη δυνατότητα επίλυσης ενός προβλήματος με τη JAVA.
  4. Να διαθέτει ευχέρεια ανάπτυξης, τεκμηρίωσης, ελέγχου και αποσφαλμάτωσης προγραμμάτων JAVA για την αποδοτική υλοποίηση αλγορίθμων. Να διαθέτει δεξιότητες επίλυσης πολύπλοκων υπολογιστικών προβλημάτων με χρήση του αντικειμενοστρεφούς προγραμματισμού.
  5. Να είναι εξοικειωμένος με τη χρήση του περιβάλλοντος ανάπτυξης Eclipse.
  6. Να μπορεί να επικοινωνήσει με αποτελεσματικό τρόπο τα πορίσματα της εργασίας του (αντικειμενοστρεφή σχέδια, προγράμματα JAVA) σε άλλους προγραμματιστές.

Προαπαιτούμενα Μαθήματα

Τρόπος Διδασκαλίας

Το μάθημα καλύπτει θεωρία και πρακτική και αποτελείται από 180 λεπτά διαλέξεων και 90 λεπτά εργαστηρίου εβδομαδιαίως. Οι φοιτητές θα εξοικειωθούν με το αντικείμενο του μαθήματος μέσω εργαστηριακών ασκήσεων και εργασιών. Ο προγραμματισμός ως διανοητική δραστηριότητα και επιδεξιότητα δεν διδάσκεται αλλά καλλιεργείται μέσω επίπονης εξάσκησης. Για τον λόγο αυτό οι φοιτητές πρέπει να δώσουν μεγάλη έμφαση στις εβδομαδιαίες προγραμματιστικές εργασίες, οι οποίες θα συμβάλλουν στην κατανόηση της διδακτέας ύλης και στην εξοικείωση με την γλώσσα προγραμματισμού JAVA.
 

Αξιολόγηση και Βαθμολογία

Οι επίτευξη των μαθησιακών στόχων του μαθήματος θα αξιολογηθούν με βάση ένα σύνολο εβδομαδιαίων εργασιών και δύο γρατπές εξετάσεις, την ενδιάμεση και την τελική. Οι γραπτές εξετάσεις θα επικεντρωθούν στην αξιολόγηση των μαθησιακών στόχων 1, 2, 3 και 6, ενώ οι εργασίες αποσκοπούν στην αξιολόγηση των στόχων 2, 3, 4, 5, και 6.

Ο τελικός βαθμός διαμορφώνεται με βάση τα ακόλουθα ποσοστά:

Εβδομαδιαίες Εργασίες:   20%
Ενδιάμεση Εξέταση:         30%
Γραπτή Τελική Εξέταση:  50%
Ωστόσο, για την εξασφάλιση προβιβάσιμου βαθμού στο μάθημα (δηλ. τουλάχιστον πέντε) απαιτείται η επίτευξη προβιβάσιμου βαθμού στον σταθμισμένο μέσο όρο ενδιάμεσης και τελικής εξέτασης. Σε περίπτωση αποτυχίας, ο τελικός βαθμός του μαθήματος θα είναι αυτός του σταθμισμένου μέσου όρου ενδιάμεσης και τελικής.

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

  1. "Thinking in Java." Bruce Eckel, 4th edition,  Prentice Hall, 2006.
  2. "Introduction to Programming in Java." Robert Sedgewick and Kevin Wayne, Addison Wesley, 2006.
  3. "Eclipse in Action. A guide for Java developers." David Gallardo, Ed Burnette, Robert McGovern. Manning, 2003.
  4. "Απόλυτη JAVA" του W. Savitch (μετάφραση Δ. Ιακωβίδη, Εκδόσεις Ίων, 2008).

Για την μελέτη μεθοδολογιών αντικειμενοστρεφούς σχεδιασμού (CRC, UML) μπορείτε να συμβουλευθείτε το βιβλίο "Object-Oriented Design and Patterns," του Cay Horstmann (Wiley, 2nd edition, 2006. Για μια σύντομη εισαγωγή στη UML μπορείτε να ανατρέξετε και στο βιβλίο "UML Distilled: A Brief Guide to the Standard Object Modeling Language", του M. Fowler (Addison Wesley, 3nd Edition, 2000).

Χρήσιμο εγχειρίδιο για τη γλώσσα προγραμματισμού JAVA και τις βιβλιοθήκες της είναι και βιβλίο "JAVA in a Nutshell" του David Flanagan, O'Reilly. 5th Edition, 2005. Πολύ χρήσιμα είναι επίσης και τα Διδακτικά Εγχειρίδια της Sun Microsystems "JAVA Tutorials".

Πληροφόρηση

Η ενημέρωση των φοιτητών σχετικά με τις εβδομαδιαίες εργασίες, τις εξετάσεις κλπ θα γίνεται μέσω του World-Wide Web και της ιστοσελίδας του μαθήματος.

Προγραμματιστικές Ασκήσεις

Γενικές οδηγίες

  1. Κάθε φοιτητής δικαιούται να παρακολουθεί τις διαλέξεις και τα εργαστήρια χωρίς ενοχλήσεις και αδικαιολόγητες διακοπές. Παρακαλούνται λοιπόν όλοι να διαφυλάξουν το δικαίωμα αυτό, σεβόμενοι τον χρόνο ενάρξεως και λήξεως των μαθημάτων, την καθαριότητα των αμφιθεάτρων και των εργαστηριακών χώρων και γενικώς την ακαδημαϊκή ελευθερία.
  2. Οι φοιτητές καλούνται να σεβαστούν τους κανόνες πνευματικής ιδιοκτησίας αναφορικά με την αντιγραφή και χρήση λογισμικού και την φωτοαντιγραφή βιβλίων.
  3. Η απουσία από εξέταση και η καθυστέρηση παράδοσης εργασιών γίνονται αποδεκτές μόνο σε έκτακτες περιστάσεις και κατόπιν προηγουμένης συννενοήσεως με τον καθηγητή. Ο καθηγητής δεν υποχρεούται να δώσει εξετάσεις σε άτομα που απουσίασαν αδικαιολόγητα από μία εξέταση. Η καθυστερημένη παράδοση εργασιών συνεπάγεται βαθμολογική ποινή, ασχέτως της ποιότητας της παραδεδομένης εργασίας.
  4. Ενστάσεις στα αποτελέσματα εξετάσεων και στην βαθμολογία εργαστηριακών ασκήσεων γίνονται δεκτές βάσει των κανονισμών του Πανεπιστημίου.
  5. Η αντιγραφή ή η προσπάθεια αντιγραφής μεταξύ φοιτητών σε εξετάσεις ή εργασίες, απαγορεύεται αυστηρά. Τυχούσες αντιγραφές θα συνεπάγονται την αποπομπή των αναμεμιγμένων φοιτητών από την τάξη, τον μηδενισμό του βαθμού τους στις εν λόγω εξετάσεις ή εργασίες και την καταγγελία τους στο Συμβούλιο του Τμήματος για την εφαρμογή περαιτέρω πειθαρχικών κανόνων.

[ΕΠΛ233]


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