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

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

 

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

JavaLogo

Χειμώνας 2009


Ευρετήριο

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


Τίτλος μαθήματος Αντικειμενοστρεφής Προγραμματισμός
Κωδικός 233
Πιστωτικές Μονάδες 8
Εξάμηνο  Χειμερινό
Διαλέξεις Δευτέρα, Πέμπτη 10:30-12:00, Κτήριο ΘΕΕ01, Αίθουσα 202
Εργαστήριο Τετάρτη 10:30-12:00, Κτήριο ΘΕΕ01, Αίθουσα Β121
Τετάρτη 12:00-13:29, Κτήριο ΘΕΕ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. "Eclipse in Action. A guide for Java developers." David Gallardo, Ed Burnette, Robert McGovern. Manning, 2003.

Για την μελέτη μεθοδολογιών αντικειμενοστρεφούς σχεδιασμού (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 και της ιστοσελίδας του μαθήματος.
 

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

  • Ορθότητα: προγράμματα τα οποία δεν μεταφράζονται, δεν εκτελούνται, ή δεν δίνουν τα σωστά αποτελέσματα θεωρούνται λανθασμένα. Στην πρώτη και στην δεύτερη περίπτωση το πρόγραμμα μηδενίζεται, ενώ στην τρίτη περίπτωση χάνει το 60% του βαθμού του. Βεβαιωθείτε ότι έχετε ελέγξει την ορθότητα των προγραμμάτων σας πριν τα παραδώσετε.
  • Σαφήνεια και εφαρμογή των προγραμματιστικών συμβάσεων : βασικό στοιχείο ενός καλού προγράμματος είναι η ευαναγνωσιμότητά του, η οποία επιτυγχάνεται με την σωστή επιλογή ονομάτων μεταβλητών, με την καλή στοίχιση των εντολών, με την κατάλληλη χρήση διαδικασιών και δομών δεδομένων, και με την διάνθιση του κώδικα με επεξηγηματικά σχόλια. Ασαφή ή κρυπτικά προγράμματα θα χάνουν μονάδες.
  • Χρόνος Εκτέλεσης: οι προγραμματιστικές εργασίες θα εκτελεσθούν πάνω σε μεγάλα σύνολα δεδομένων εισροής (input data). Προγράμματα τα οποία εκτελούνται σε σωστά αλλά είναι πολύ αργά λόγω χρήσης λανθασμένων προγραμματιστικών τεχνικών ή αργών αλγορίθμων, θα χάνουν βαθμούς.

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

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

[ΕΠΛ233]


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