User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

start [2022/02/21 18:17]
gthanos
start [2022/02/23 07:07]
Line 1: Line 1:
-====== Αντικειμενοστραφής Προγραμματισμός ====== 
- 
-===== Πρόγραμμα Διαλέξεων ===== 
- 
-^ Ημέρα ^ Ώρες ^ Αίθουσα ^ Διδάσκων ^  
-| Τετάρτη | 9.00 - 11.00 | Αμφ. 115 | Γιώργος Θάνος  
-| Παρασκευή | 9.00 - 11.00 |  Αμφ. 115 | Γιώργος Θάνος  
- 
-===== Θεωρία Μαθήματος ===== 
-Μπορείτε να βρείτε τμήματα της θεωρίας του μαθήματος παρακάτω: 
-  * [[java:toc|Θεωρεία Java]] 
-  * [[cpp:toc|Θεωρεία C++]] 
- 
-===== Στόχοι του Μαθήματος ===== 
- 
-Στόχος του μαθήματος είναι η γνώση και η χρήση των βασικών εννοιών του αντικειμενοστραφούς προγραμματισμού, με χρήση των γλωσσών προγραμματισμού Java και C++. Ειδικότερα το μάθημα πραγματεύεται τα παρακάτω θέματα: 
-  * Κλάσεις και Αντικείμενα 
-  * Κληρονομικότητα και ιεραρχίες κλάσεων 
-  * Υπερφόρτωση συναρτήσεων 
-  * Yπερφόρτωση τελεστών (μόνο για C++) 
-  * Πολυμορφισμός 
-  * Διεπαφές και abstract classes 
-  * Εξαιρέσεις 
-  * Νήματα 
-  * File I/O 
-  * C++ Templates και Java Generics 
-    * Java Collections Framework 
-    * C++, STL 
-  * Network I/O (μόνο για Java) 
-  * Γραφικό περιβάλλον επικοινωνίας με Swing (μόνο για Java) 
- 
-Με την ολοκλήρωση του μαθήματος οι φοιτητές θα πρέπει να κατέχουν τις παραπάνω έννοιες και να μπορούν να τις χρησιμοποιούν κατά την συγγραφή προγραμμάτων σε γλώσσες Java και C++. 
- 
-Για τους φοιτητές του παλαιού ΠΠΣ η ύλη παραμένει μόνο Java. 
- 
-===== Πολιτική του Μαθήματος και Διαδικασία Αξιολόγησης ===== 
- 
-==== Για τους φοιτητές του νέου ΠΠΣ ==== 
- 
-Το μάθημα περιλαμβάνει κατ' ελάχιστον πέντε (5) υποχρεωτικές εργασίες. Η αξιολόγηση των φοιτητών γίνεται μέσω των εργασιών με βάση τα εξής κριτήρια: 
- 
-  * Όλες οι εργασίες πρέπει να παραδοθούν και να πάρουν προβιβάσιμο βαθμό.  
-  * Ο τελικός βαθμός προκύπτει από το βαθμό των εργασιών. Κάθε εργασία συμμετέχει στον τελικό βαθμό με διαφορετικό βάρος. 
-  * Κάθε εργασία έχει συγκεκριμένη ημερομηνία (deadline) έως την οποία πρέπει να παραδοθεί.  
-  * Μέχρι δύο εργασίες της επιλογής σας μπορούν να υποβληθούν ή να επανυποβλήθούν και μετά την εξεταστική του Ιουνίου έως το τέλος Αυγούστου. Σε αυτή την περίπτωση ο βαθμός θα περαστεί το Σεπτέμβριο. 
- 
-==== Για τους φοιτητές του παλαιού ΠΠΣ ==== 
- 
-Για τους φοιτητές του παλαιού ΠΠΣ είναι υποχρεωτική η εκπόνηση εργασίας. Η αξιολόγηση των φοιτητών θα γίνει με εξέταση στο εργαστήριο ή εξ' αποστάσεως. Οι φοιτητές καλούνται να γράψουν κώδικα. Από τις εξετάσεις αποκλείονται φοιτητές που δεν έχουν παραδώσει εργασία. Η επαναληπτική εξέταση Σεπτεμβρίου είναι όμοια με αυτή του Ιουνίου. 
- 
-===== Πολιτική αντιγραφών ===== 
- 
-Φοιτητές που έχουν αντιγράψει σε εργασία ή τελική εξέταση αποκλείονται από το μάθημα για το τρέχον ακαδημαϊκό έτος. 
- 
-===== Συγγράμματα ===== 
- 
-Προτεινόμενα συγγράμματα στον Εύδοξο. 
- 
-  - Java, 4η έκδοση, W. Savitch, Εκδόσεις Α. Τζιόλα & Υιοί Ο.Ε., 2007, Θεσ/νίκη 
-  - Απόλυτη Java, W. Savitch, Στέλλα Παρίκου & ΣΙΑ Ο.Ε., 2009, Αθήνα 
- 
-Άλλα συγγράμματα που προτείνονται 
- 
-==== Για τη γλώσσα Java ==== 
- 
-  - [[ http://docs.oracle.com/javase/tutorial/ | Orable Java Documentation]] 
-  - Bruce Eckel, [[ http://inf-server.inf.uth.gr/~gthanos/tij3/ | Thinking in Java, 3rd edition]] 
-  - Joshua Bloch, [[ https://www.google.gr/search?q=effective+java+2n+edition&ie=UTF-8&sa=Search&channel=fe&client=browser-ubuntu&hl=en&gws_rd=cr,ssl&ei=Ch_SVILwC4G2UdSEgZAP |  Effective Java (2nd Edition) ]] 
-  - Deitel & Deitel, [[ https://www.google.gr/search?q=effective+java+2n+edition&ie=UTF-8&sa=Search&channel=fe&client=browser-ubuntu&hl=en&gws_rd=cr,ssl&ei=Ch_SVILwC4G2UdSEgZAP#channel=fe&hl=en-GR&q=java+how+to+program+9th+edition+pdf | Java How to Program ]] 
-  - Brian Goetz,  Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea, [[ https://www.google.gr/search?q=effective+java+2n+edition&ie=UTF-8&sa=Search&channel=fe&client=browser-ubuntu&hl=en&gws_rd=cr,ssl&ei=Ch_SVILwC4G2UdSEgZAP#channel=fe&hl=en-GR&q=java+concurrency+in+practice+pdf | Java Concurrency in Practice]] 
- 
-==== Για τη γλώσσα C++ ==== 
- 
-  * Deitel & Deitel, C Προγραμματισμός (7η έκδοση), [[http://www.mgiurdas.gr/biblia/c-programmatismos-7i-ekdosi|Γκιούρδας]] (διανέμεται στο μάθημα Προγραμματισμός Ι) ή [[https://www.google.gr/search?q=deitel+c+how+to+program+pdf|εδώ για την αγγλική έκδοση]]. 
-  * Bruce Eckel, [[http://inf-server.inf.uth.gr/~gthanos/ticpp2-v1/html/Frontmatter.html| Thinking in C++, vol 1, 2nd edition]] 
-  * Bruce Eckel, [[http://inf-server.inf.uth.gr/~gthanos/ticpp2-v2/html/TicV2.html|Thinking in C++, vol 2, 2nd edition]] 
-  * Savitch, [[http://inf-server.inf.uth.gr/courses/CE630/cpp_fall08/books/Savitch_Absolute_Cpp_1st_Ed_free.pdf|  Absolute C++, 1st edition]] 
- 
- 
- 
- 
  
start.txt · Last modified: 2022/02/23 07:07 (external edit)