ΠΛΗΡΟΦΟΡΙΕΣ ΜΑΘΗΜΑΤΟΣ

Περιεχόμενο μαθήματος

1: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ    
2: Η ΓΛΩΣΣΑ JAVA (ΚΛΑΣΕΙΣ, ΜΕΤΑΒΛΗΤΕΣ, ΜΕΘΟΔΟΙ, ΣΤΙΓΜΙΟΤΥΠΑ)
3: JAVA: ΕΞΑΙΡΕΣΕΙΣ, ΕΙΣΟΔΟΣ-ΕΞΟΔΟΣ, ΝΗΜΑΤΑ
4: JAVA: ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ, ΓΡΑΦΙΚΑ, APPLETS
5: Η ΓΛΩΣΣΑ C++
6: C++: ΚΛΑΣΕΙΣ, ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ, ΠΟΛΥΜΟΡΦΙΣΜΟΣ    
7: C++: TEMPLATES, ΥΠΕΡΦΟΡΤΩΣΗ ΤΕΛΕΣΤΩΝ, ΕΞΑΙΡΕΣΕΙΣ
8: C++: ΒΙΒΛΙΟΗΚΗ STL, ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
9: C++: ΕΙΣΟΔΟΣ - ΕΞΟΔΟΣ / ΑΛΦΑΡΙΘΜΗΤΙΚΑ / ΑΡΧΕΙΑ

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

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

  • Εισαγωγή στις έννοιες του Οντοκεντρικού Προγραμματισμού. Κλάσεις, κληρονομικότητα. Πλεονεκτήματα-Μειονεκτήματα.   
  • Εισαγωγή στην Γλώσσα Προγραμματισμού Java. Σύγκριση με την C. Βασικά Δομικά Στοιχεία (Κλάσεις, Μεταβλητές, Μέθοδοι, Στιγμιότυπα, Δημιουργοί) και Βιβλιοθήκες. Ιεραρχίες κλάσεων και Κληρονομικότητα. Χειρισμός Εξαιρέσεων στην Java. Είσοδος και έξοδος δεδομένων. Νήματα και παράλληλος προγραμματισμός. Διεπαφές χρήστη στην Java. Χρήση των βιβλιοθηκών AWT και SWING. Γραφικά και μικροεφαρμογές (Applets).
  • Εισαγωγή στην Γλώσσα Προγραμματισμού C++. Σύγκριση με την Java. Βασικές δομές ελέγχου, συναρτήσεις και μεταβλητές. Πίνακες και δείκτες. Ιεραρχίες κλάσεων στην C++. Κληρονομικότητα και πολυμορφισμός. Χρήση πρωτότυπων κλάσεων και συναρτήσεων (templates). Υπερφόρτωση Τελεστών για χρήση με αντικείμενα νέων κλάσεων. Χειρισμός εξαιρέσεων στην C++. Η πρότυπη βιβλιοθήκη STL (Standard Template Library) και χρήση βασικών δομών όπως οι δυναμικοί πίνακες (vectors). Χρήσιμες δομές δεδομένων (Λίστες, Στοίβα, Ουρά κτλπ) με χρήση αυτοαναφερόμενων κλάσεων. Χρήση των καναλιών (Strems) της C++ για είσοδο και έξοδο δεδομένων και επεξεργασία αρχείων. Χρήση αλφαριθμητικών (strings) στην C++ μέσω καναλιών.

Προαπαιτούμενα

Συνιστάται η γνώση κάποιας διαδικαστικής γλώσσας προγραμματισμού όπως η C.

Πρόγραμμα Εργαστηρίου

Μέθοδοι διδασκαλίας

Ημερομηνίες - Πρόγραμμα Διεξαγωγής Εργαστηρίων ανά Ομάδα (2016-2017)
  Δευτέρα
09.00-11.00
Δευτέρα
14.00-16.00
Τρίτη
11.00-13.00
Τετάρτη
09.00-11.00
Παρασκευή
11.00-13.00
Εβδ1: Εξάσκηση 1ο σετ (Java), ασκ. 1,2,3 φυλ. 6 Μαρ-10 Μαρ
Εβδ2: Εξάσκηση 1ο σετ (Java), ασκ. 1,2,3 φυλ. 13 Μαρ-17 Μαρ
Εβδ3: 1η Εξέταση Java (ασκ. 1,2,3 φυλ.-1ο σετ) 20 Μαρ-24 Μαρ
Εβδ4: Εξάσκηση 2ο σετ (Java), ασκ 4,5,6 φυλ. 27 Μαρ-31 Μαρ
Εβδ5: Εξάσκηση 2ο σετ (Java), ασκ 4,5,6 φυλ. 3 Απρ-7 Απρ
ΔΙΑΚΟΠΕΣ ΠΑΣΧΑ

Εβδ6: 2η Εξέταση Java (ασκ 4,5,6 φυλ.-2ο σετ)

(θα εξεταστούν κανονικά οι ομάδες Τετ 26/4 και Παρ 28/4. Οι ομάδες της Δευτέρας 24 και της Τρίτης 25/4 θα εξεταστούν την εβδομάδα 1-5/5)

24 Απρ-28 Απρ

Εβδ7: 2η Εξέταση Java (ασκ 4,5,6 φυλ.-2ο σετ):

  • την Τρ 2/5 11:00-13:00 θα εξεταστεί η ομάδα της Δευτ 24/5, 9:00-11:00
  • την Τετάρτη 3/5 9:00-11:00 θα εξεταστεί η ομάδα της Δευ 24/5, 14:00-16:00
  • την Παρασκευή 5/5 11:00-13:00 θα εξεταστεί η ομάδα της Τρίτης 25/4 11:00-13:00
1 Μάη-5 Μάη
Εβδ8: Εξάσκηση 3ο σετ (C++), ασκ φυλ. C++ 8 Μάη-12 Μάη
Εβδ9: Εξάσκηση 3ο σετ (C++), ασκ φυλ. C++ 15 Μάη-19 Μάη
Εβδ10: Εξέταση 3ο σετ (C++) 22 Μάη-26 Μάη
Εβδ11: ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ ΕΡΓΑΣΤΗΡΙΟΥ 29 Μάη-2 Ιουν
Εβδ12: Εξέταση Εργασιών (Project JAVA, C++) 5 Ιουν-9 Ιουν

 

Διαδικασία Εργαστηρίων

Μέθοδοι διδασκαλίας

Στο εργαστήριο έρχεστε κάθε εβδομάδα στο δίωρο που ανήκετε (βλ. Ομάδες Χρηστών) για να ασχοληθείτε με τις "ομάδες εργαστηριακών ασκήσεων" και τα αντίστοιχα "σετ ασκήσεων".

Συνολικά θα δοθούν τρια σετ εργαστηριακών ασκήσεων, τα δύο πρώτα πάνω σε JAVA και το τρίτο πάνω σε C++.
    
Εργαστηριακές Ασκήσεις JAVA:
Οι εργαστηριακές ασκήσεις βρίσκονται στο "Φυλλάδιο Εργαστηριακών Ασκήσεων JAVA". Από το φυλλάδιο αυτό θα γίνουν οι 6 πρώτες εργαστηριακές ασκήσεις, χωρισμένες σε δυο ομάδες: 1-2-3 και 4-5-6.

Εργαστηριακή Άσκηση C++:
Οι εργαστηριακές ασκήσεις βρίσκονται στο "Φυλλάδιο Εργαστηριακών Ασκήσεων C++".
    
Για κάθε μία από αυτές τις τρεις ομάδες εργαστηριακών ασκήσεων (2 Java, 1 C++) θα σας δίνεται και ένα αντίστοιχο σετ ασκήσεων. Για κάθε ομάδα εργαστηριακών ασκήσεων και αντίστοιχο σετ ασκήσεων έχετε δύο εβδομάδες στη διάθεσή σας για να ασχοληθείτε μαζί τους. Την τρίτη εβδομάδα θα έλθετε στο δίωρο που ανήκετε για εξέταση σ' αυτά. Το πρόγραμμα των εργαστηρίων για όλο το εξάμηνο θα βρίσκεται στον Ημερολόγιο. Οι ασκήσεις θα αναρτηθούν στην ενότητα 'Εργασίες' (πρέπει να συνδεθείτε με τον λογαριασμό σας στο eclass), απο όπου θα γίνεται και η παράδοση τους.

Το αρχείο που θα παραδώσετε πρέπει να είναι .rar ή .zip και να περιέχει αναφορά pdf και κώδικα των ασκήσεων που υλοποιήσατε. Για τα Σετ ασκήσεων θα πρέπει να συμπεριλάβετε στην αναφορά και να περιλάβετε τον κώδικα και των αντίστοιχων εργαστηριακών ασκήσεων.
Για τις ασκήσεις σε Java εκτός της αναφοράς συμπεριλαμβάνετε τους φακέλους που δουλέψατε στο BlueJ (Αρκούν τα αρχεία .java και .bluej).

  • Το αρχείο δεν θα πρέπει να ξεπερνά τα 3MB!
  • Για τα πρότζεκτ, τα οποία είναι ομαδικά αρκεί να το παραδόσει ένα απο τα 3 μέλη της ομάδας.
  • Στην αναφορά των Project πρέπει να αναγράφονται όλα τα ονόματα, τα ΑΜ και τα email των συνεργατών της ομάδας.


* Σε περίπτωση που χαθεί κάποια μέρα το εργαστήριο λόγω αργίας ή άλλου προβλήματος (π.χ. κλειστό υπολογιστικό λόγω απεργίας, κατάληψης ή εκλογών), οι φοιτητές μπορούν να προσέρχονται για επίλυση αποριών και εξέταση στα υπόλοιπα τμήματα της εβδομάδας.

 

Διαδικασία Προφορικής Εξέτασης:

 

  • Κάθε τρίτη εβδομάδα (δηλ. την 3η, 6η και 9η εβδομάδα) εργαστηρίου θα εξετάζεστε στην ομάδα εργαστηριακών ασκήσεων και το αντίστοιχο σετ ασκήσεων που ασχοληθήκατε τις δύο προηγούμενες εβδομάδες. Προϋπόθεση γι' αυτό είναι να έχετε παραδώσει ένα αρχείο που θα περιέχει τους κώδικες και μια τεχνική αναφορά που θα αφορά και την εκτέλεση της ομάδας εργαστηριακών ασκήσεων και τις απαντήσεις στο αντίστοιχο σετ ασκήσεων.
  • Επιπλέον υπάρχει δυνατότητα να εξεταστείτε και την 2η εβδομάδα εξάσκησης ενός ΣΕΤ εφόσον έχετε ολοκληρώσει τις ασκήσεις και έχετε παραδόσει το αρχείο.
  • Επομένως σε κάθε εξέταση θα πρέπει να προσέρχεστε εφόσον:
    • Έχετε κάνει upload την άσκηση (rar ή zip) στη σχετική σελίδα. Για να μετρήσει ο βαθμός, θα πρέπει υποχρεωτικά να ανεβάσετε την άσκηση (αρχείο rar ή zip) μέχρι την ημερομηνία της εξετάσης.
    • Έχετε μαζί σας ένα φλασάκι ή CD με όλους τους κώδικες(αρχεία .java) από το BlueJ και την αναφορά(αρχείο .pdf). Καλό είναι επίσης να τους έχετε και κάπου εναλλακτικά, π.χ. στο email σας, στο diogenis ή σε ένα download site για το ενδεχόμενο που δεν παίζει ή δεν εγκαθίσταται το φλασάκι την ώρα της εξέτασης.
  • Δεν μπορείτε να εξεταστείτε σε άλλο τμήμα από αυτό που έχετε δηλωθεί.
  • Δεν μπορείτε να εξεταστείτε αν δεν έχετε φέρει μαζί τα αρχεία (αναφοράς και κώδικα)

 



Εργασίες (Projects)
Εκτός απο τις εργαστηριακές ασκήσεις θα ανακοινωθούν και δυο εργασίες (πιθανότατα ομαδικές), μια σε JAVA και μια σε C++. Οι εργασίες θα έχουν συγκεκριμένη προθεσμία παράδοσης.

Λογισμικό

Περισσότερα

JAVA

 

Στο εργαστήριο χρησιμοποιείται το περιβάλλον ΒlueJ. Για προσωπική χρήση, μπορείτε να το κατεβάσετε από εδώ. Εγχειρίδιο χρήσης στα αγγλικά, για την έκδοση 2.0.x και στα ελληνικά, για την εκδόση 1.2.x.

 

C++

Στο εργαστήριο χρησιμοποιείτε είτε g++ (πρέπει να συνδεθείτε με diogenis.ceid.upatras.gr) είτε code::blocks (είναι εγκατεστημένο στα windows συστήματα).  όσοι δουλεύουν σπίτι τους μπορούν να χρησιμοποιήσουν και άλλους compilers όπως Dev-C++.

C++ Compiler: code::blocks

To code::blocks είναι εγκατεστημένο στα PC του ΥΚ (κεντρική αίθουσα και μικρή) στα Windows συστήματα. Δεν εγκαταστάθηκαν σε συστήματα Linux καθώς η έκδοσή του είναι πολύ παλιά και δεν υποστηρίζεται.

Ένα πολύ καλό εγχειρίδιο για code::blocks:  http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/codeblocks-instructions.pdf

Εγχειρίδιο για ένωση πολλαπλών αρχείων σε project στο code::blocks και  Dev-C++:  https://www.ceid.upatras.gr/webpages/courses/cplusplus/CodeBlocks_DevCpp_Tutorial.pdf

Παρουσιάσεις για χρήση code::blocks:

https://www.youtube.com/channel/UCxUf2MtXGChw7GfldcxRw8g

https://www.youtube.com/watch?v=i1kubuz1loI 

c++ Compiler:  g++ - GNU project C++ Compiler: Xρήση στο λογαριασμό σας στον diogenis.ceid.upatras.gr και ακολoυθείτε την ίδια διαδικασία με τον gcc της c (οι περισσότεροι παράμετροι είναι οι ίδιοι, κοιτάξτε με man g++ στο λογαριασμό σας στον diogenis.ceid.upatras.gr ή http://www.skrenta.com/rt/man/g++.1.html).

Ο  g++ είναι ουσιαστικά η εκδοχή του gcc compiler για c++ προγράμματα.

καλείται: g++ [option | filename ]).

κοιτάξτε: http://www.skrenta.com/rt/man/g++.1.html , http://www.cprogramming.com/g++.html, http://www.vietspring.org/cpp_linux/gpp.html,  http://pages.cs.wisc.edu/~beechung/ref/gcc-intro.html, http://www.cs.fsu.edu/~jestes/howto/g++compiling.txt,  https://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_3.html#SEC6, https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html.

 

C++ Compiler: BloodShed Dev-C++ (v. 4.9.9.2) (www.bloodshed.net) και C++ Compiler για Windows 8: BloodShed Dev-C++ (v. 5.5.1)

Ένα κοινό πρόβλημα που αντιμετωπίζουν πολλοί με το περιβάλλον Dev-C++ είναι ότι όταν τρέχουν ένα πρόγραμμα τρέχει και κλείνει προτού προλάβει ο χρήστης να εξετάσει την έξοδο. Για να παρακαμφθεί αυτό υπάρχουν οι εξής τρόποι:

* Στο τέλος της main() και πριν από return εισάγετε μια εντολή όπως η cin.get() ώστε το πρόγραμμα να περιμένει μια είσοδο από το πληκτρολόγιο πριν τερματίσει.

* Μία παρόμοια μέθοδος (αν χρησιμοποιείτε Windows) είναι να εισάγετε στο τέλος της main () και πριν από return την εντολή system(?PAUSE?)

* Μπορείτε επίσης να βάλετε στην τελευταία εντολή της main ένα breakpoint, και αντί να κάνετε το πρόγραμμα Run, να το κάνετε Debug. Το output θα μείνει ανοιχτό και θα μπορείτε να το κλείσετε εσείς με την επιλογή Continue στο Debug tab στο κάτω μέρος της οθόνης.

Αξιολόγηση

Μέθοδοι αξιολόγησης

Αξιολόγηση

Οι πρωτοετείς φοιτητές έχουν τις εξής υποχρεώσεις για το μάθημα: 

  • Να συμμετέχουν στις παραδόσεις του μαθήματος.
  • Να συμμετέχουν στο φροντιστήριο του μαθήματος όπου θα λύνονται οι ασκήσεις που θα δίνονται μαζί με τις εργαστηριακές και θα γίνονται επί πλέον παραδείγματα στο στυλ των θεμάτων της γραπτής εξέτασης.
  • Να συμμετέχουν στο εργαστήριο και μάλιστα στις προφορικές εξετάσεις (προόδους) του εργαστηρίου (αφού παραδώσουν τις αντίστοιχες αναφορές) καθώς και στην τελική εξέταση. Σημειώνεται ότι η φυσική παρουσία στο εργαστήριο δεν είναι μεν υποχρεωτική, είναι όμως σημαντική για την εξασφάλιση της επιτυχίας στις προφορικές εξετάσεις.
  • Να παραδώσουν δύο εργασίες (πρότζεκτ), μια σε Java και μια σε C++, οι οποίες συμμετέχουν με κάποιο ποσοστό στον τελικό βαθμό (βλ. παρακάτω).
  • Να συμμετάσχουν στη γραπτή εξέταση του Ιουνίου (οι προϋποθέσεις συμμετοχής αναφέρονται παρακάτω). Oι εξετάσεις γίνονται με κλειστά βιβλία.  Η ύλη της γραπτής εξέτασης είναι το σύνολο των θεμάτων που πραγματεύονται οι διαλέξεις (με βάση τους τίτλους διαλέξεων στις διαφάνειες Java και C++). Ο κάθε φοιτητής θα πρέπει στα βιβλία και συγγράμματα που επιλέγει να εστιάσει στα θέματα αυτά.
  • ΕΞΕΤΑΣΕΙΣ ΣΕΠΤΕΜΒΡΙΟΥ: όσοι φοιτητές δώσουν γραπτές εξετάσεις Σεπτέμβριο: (i) μπορούν να δώσουν τότε τα projects C++ και java (αν δεν τα έχουν δώσει ή έχουν βαθμολογηθεί τον Ιούνιο συνολικά σε αυτά με λιγότερο από 5),  (ιι) μπορούν να δώσουν πάλι τελική εξέταση εργαστηρίου (αν έχουν βαθμολογηθεί με κάτω από 5 τον ιούνιο), (iii) Ο ΒΑΘΜΟΣ ΤΩΝ ΤΡΙΩΝ ΣΕΤ ΕΡΓΑΣΤΗΡΙΑΚΩΝ ΑΣΚΗΣΕΩΝ ΔΙΑΤΗΡΕΙΤΑΙ.

ΦΟΙΤΗΤΕΣ ΠΡΩΤΟΥ ΕΤΟΥΣ:
Τελικός βαθμός
Ο τελικός βαθμός του μαθήματος προκύπτει με βάση τις παρακάτω ποσοστώσεις:
Βαθμός Εργαστηρίου: 30%
Βαθμός Εργασιών: 20%
Γραπτή Εξέταση Ιουνίου : 50%

ΦΟΙΤΗΤΕΣ ΠΑΛΑΙΟΤΕΡΩΝ ΕΤΩΝ ΠΟΥ ΧΡΩΣΤΟΥΝ ΤΟ "ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ" (ενoποιημένο μάθημα):
Ισχύει ό,τι και για τους φοιτητές του πρώτου έτους. Όσοι έχουν εκπληρώσει τις υποχρεώσεις τους από πέρυσι (εργαστήριο, πρότζεκτ) μπορούν να έλθουν στις εξετασεις Ιουνίου και Σεπτεμβρίου. Σε όσους λείπει κάτι (ή θέλουν να βελτιώσουν μια βαθμολογία τους σε άσκηση ή τελική εξέταση) μπορούν να έλθουν να το συμπληρώσουν. Σε περίπτωση που κάποιος φοιτητής θέλει να παραδώσει project θα πρέπει να παραδώσει το project του τρέχοντος ακαδημαϊκού έτους.
Μπορείτε να δείτε τους βαθμούς που έχετε κατοχυρώσει (2015) εδώ.
Βαθμοί 2016

Ο βαθμός εργαστηρίου προκύπτει από τους βαθμούς των τριών προφορικών εξετάσεων (προόδων) του εργαστηρίου και την τελική εξέταση εργαστηρίου. Κάθε εξέταση στο εργαστήριο συμβάλλει κατά ένα ποσοστό στην τελική βαθμολογία. Πιο συγκεκριμένα: η 1η, 2η, και τρίτη εξέταση απο 5% και η τελική εξέταση 15%. Δηλ. το συνολικό ποσοστό των εργαστηριακών εξετάσεων είναι 30%.

Ο βαθμός εργασιών προκύπτει απο την παράδοση και προφορική εξέταση στις 2 εργασίες με ποσοστό 10 % η καθεμία.

Το υπόλοιπο 50% θα προέρχεται από την γραπτή εξέταση.

Όποιος δεν συμμετάσχει σε κάποια από τα παραπάνω χάνει το αντίστοιχο ποσοστό.


ΦΟΙΤΗΤΕΣ ΠΑΛΑΙΟΤΕΡΩΝ ΕΤΩΝ ΠΟΥ ΧΡΩΣΤΟΥΝ ΤΟ "ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι (JAVA)":
Για φοιτητές προηγούμενων ετών που χρωστάνε το μάθημα Οντοκεντρικός Προγραμματισμός Ι (JAVA) ισχύουν τα παρακάτω:
Ο τελικός βαθμός του μαθήματος προκύπτει με βάση τις παρακάτω ποσοστώσεις:
Βαθμός Εργαστηρίου: 40%
Γραπτή Εξέταση Ιουνίου : 60%

Ο βαθμός εργαστηρίου προκύπτει από τους βαθμούς των δυο προφορικών εξετάσεων (προόδων) του εργαστηρίου πάνω στην JAVA με ποσοστό 10% η κάθε μία και από τον βαθμό της τελικής εξέτασης εργαστηρίου (σε θέματα JAVA μόνο) με ποσοστό 20%.

Όσοι έχετε βαθμούς στα δυο πρώτα Σετ της JAVA ή στην Τελική Εξέταση Εργαστηρίου απο παλαιότερα, οι βαθμοί σας έχουν κρατηθεί. Μπορείτε να επιλέξετε μια απο τις ομάδες εργαστηρίου, ωστε να παραδόσετε και να εξεταστείτε σε όσα Σετ δεν έχετε βαθμό ή για να βελτιώσετε τον βαθμό σας. Δεν χρειάζεται να δηλώσετε κάτι. Σε όσα σετ δεν έρθετε να εξεταστείτε θα κρατήσουμε τον παλιό βαθμό εφόσον υπάρχει. Μπορείτε να δείτε τους βαθμούς που έχετε εδώ:
Βαθμοί 2016
Βαθμοί 2015
(δεύτερη καρτέλα)

Βαθμοί 2014 (οι βαθμοί αυτοί δεν ισχύουν πλέον)

 

 

 

 

Για τους τριτοετείς και άνω που χρωστάνε C++ (ONTOKENΤΡΙΚΟΣ ΙΙ):

Η τελική βαθμολογία προκύπτει από τo project C++ και τις εξετάσεις. Οι εξετάσεις οι γραπτές γίνονται ΜΟΝΟ ΣΤΗ C++.
Το βάρος τους στην τελική βαθμολόγηση έχει ως εξής: Project C++ Oντοκεντρικού (Yποχρεωτικό): 30% Γραπτή Εξέταση: 70%.

Προσέξτε ότι η εννοια "ΥΠΟΧΡΕΩΤΙΚΟ" αναφέρεται στη συνεισφορά στο τελικό βαθμό, αν κάποιος φοιτητής δεν φέρει project βαθμολογείται αυτόματα με 0 στο σχετικό ποσοστό,  μπορεί όμως να συμμετέχει στις εξετάσεις.

Για να υπάρξει προσμέτρηση της προγραμματιστικής εργασίας στον τελικό βαθμό, ο βαθμός της γραπτής εξέτασης θα πρέπει να είναι μεγαλύτερος ή ίσος του 5. Η ύλη της γραπτής εξέτασης είναι το περιεχόμενο του επιλεγόμενου (από τον φοιτητή) διδακτικού βιβλίου, με ιδιαίτερη έμφαση στα θέματα που πραγματευονται οι διαλέξεις (με βάση τους τίτλους διαλέξεων στο πρόγραμμα μαθήματος).

Το project μπορεί να υποβληθεί μόνο μέσα στις καθορισμένες ημερομηνίες του εαρινού εξαμήνου ή τον Σεπτέμβριο με ποσοστό 15%.
Το νέο project κάθε χρονιάς είναι υποχρεωτικό για όλους τους φοιτητές (3oυ έτους και άνω) όλων των εξαμήνων ανεξαρτήτως αν έχουν παρακολουθήσει ή έχουν κάνει project κάποια προηγούμενη χρονιά. TO PROJECT KAΘΕ ΧΡΟΝΙΑΣ ΕΙΝΑΙ ΙΔΙΟ ΜΕ ΑΥΤΟ ΤΩΝ ΠΡΩΤΟΕΤΩΝ ΓΙΑ ΤΗ C++. Εξαίρεση αποτελούν οι επί διπλωματι φοιτητές (έχουν συμπληρώσει 5 έτη σπουδών), οι οποίοι μπορουν να παραδώσουν και να εξεταστούν σε project που είχαν αναλάβει στο παρελθόν,

 


 ΠΡΟΫΠΟΘΕΣΕΙΣ ΣΥΜΜΕΤΟΧΗΣ ΣΤΗΝ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΙΟΥΝΙΟΥ (ΓΙΑ ΟΛΟΥΣ TOY ENIAIOY MAΘHMATOΣ):

Για να μπορεί να συμμετάσχει κάποιος στην γραπτή εξέταση του Ιουνίου ΘΑ ΠΡΕΠΕΙ ΝΑ ΕΧΕΙ ΣΥΜΜΕΤΑΣΧΕΙ ΤΟΥΛΑΧΙΣΤΟΝ ΣΕ ΜΙΑ ΑΠΟ ΤΙΣ ΤΡΕΙΣ ΠΡΟΟΔΟΥΣ ΤΟΥ ΕΡΓΑΣΤΗΡΙΟΥ ΚΑΙ ΟΠΩΣΔΗΠΟΤΕ ΣΤΗΝ ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ ΕΡΓΑΣΤΗΡΙΟΥ. Αυτό σημαίνει ότι δεν μπορεί κάποιος να περάσει το μάθημα χωρίς να έχει κάνει καθόλου εργαστήριο. Για να συνυπολογιστεί ο βαθμός εργαστηρίου θα πρέπει ο βαθμός της γραπτής εξέτασης να είναι τουλάχιστον 4,5.

Οι βαθμοί του εργαστηρίου κρατούνται για δύο χρόνια.

 

Εξετάσεις Σεπτεμβρίου Οντοκεντρικού   
Όσοι φοιτητές δώσουν γραπτές εξετάσεις Σεπτέμβριο: (i) μπορούν να δώσουν τότε τα projects c++ και java (αν δεν τα έχουν δώσει ή έχουν βαθμολογηθεί τον Ιούνιο συνολικά σε αυτα με λιγότερο από 5), (ii) μπορούν να δώσουν πάλι τελική εξέταση εργαστηρίου (αν έχουν βαθμολογηθεί κάτω από 5 σε αυτή τον Ιούνιο), (iii) O BAΘΜΟΣ ΤΩΝ ΤΡΙΩΝ ΣΕΤ ΕΡΓΑΣΤΗΡΙΑΚΩΝ ΑΣΚΗΣΕΩΝ ΔΙΑΤΗΡΕΊΤΑΙ,

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

  1. Αντικειμενοστρεφής Προγραμματισμός-Java (3η Έκδ.), Κλεάνθης Θραμπουλίδης, Εκδ. Τζιόλα, Θεσσαλονίκη, 2004
  2. Πλήρες Εγχειρίδιο της Java 6 (5η Έκδ.) Roger Cadenhead και Laura Lemay, Εκδ. Μ. Γκιούρδας, Αθήνα, 2007
  3. Java in a Nutshell, David Flanagan; 1-56592-262-X, 2nd Edition, May 1997
  4. Sams Teach Yourself Java 2 in 21 Days, Rogers Cadenhead,Laura Lemay
  5. Thinking in Java (4th Edition),  Bruce Eckel
  6. Ivor Horton's Beginning Java, Ivor Horton
  1.  The C++ Programming Language, Bjarne Stroustrup
  2. Η Βίβλος της C++, Stevens Al, Walnum Clayton, 2000, Α. Γκιούρδα & ΣΙΑ ΟΕ, ISBN: 960-512-243-Χ
  3. C++ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ, H.M. Deitel, P.J. Deitel
  4. C++ How to Program, 9/e Paul & Harvey Deitel
  5. C++ Primer, S. Lippman, J. Lajoie
  6. C++ Primer, Stephen Prata
  7. Thinking in C++, Bruce Eckel