O κ. Εφραιμίδης έχει μια διαφορετική προσέγγιση στο μάθημα του σε σχέση με τους άλλους καθηγητές. Στις διαλέξεις θα μιλάτε για έννοιες προγραμματισμού όπως οι αλγόριθμοι ταξινόμησης και οι δομές δεδομένων κτλ χωρίς να αναφέρεστε σε Java καθόλου. Στο εργαστήριο θα κάνετε αυτές τις εφαρμογές σε Java (η Java είναι σχεδόν ολόιδια με C++ οπότε καλά κάνει και ακολουθεί αυτή τη τακτική κατά την άποψή μου). Τώρα όσο αφορά την ύλη του μαθήματος:
1η εργασία. Αλγόριθμοι ταξινόμησης και αναζήτησης.
2η εργασία. Δομές δεδομένων (τα κάνατε και C++ αυτά).
3η εργασία. Γραφήματα και αλγόριθμοι πάνω σε αυτά (BFS/DFS/Diijkstra)
Διαγωνισμός. Κατασκευάστε έναν αλγόριθμο για ένα πρόβλημα γενικού ενδιαφέροντος (σε εμάς ήταν για επεξεργασία data-stream, να βρίσκει το max), ο ταχύτερος βραβεύεται.
Στα εργαστήρια γενικά μπορείς άνετα να πάρεις ένα 9,5-9,8 (ή 10 αν νικήσεις στο διαγωνισμό :p ).
Στη τελική εξέταση από την άλλη το format είναι το εξής:
1ο Θέμα: Καμιά 10αριά ερωτήσεις θεωρίας του στυλ "Πως δουλεύει η heapsort και ποιος ο χρόνος πολυπλοκότητάς της"
2ο Θέμα: Να γράψετε κάποιες συναρτήσεις σε Java π.χ. bubblesort/binary search/push&pop για stack/queue κτλ
3ο Θέμα: Κάποιο πιο πολύπλοκο προγραμματιστικό θέμα. Π.χ. να εφαρμόσετε τον αλγόριθμο Diijkstra σε κάποιο γράφημα ή να περιγράψετε μια λύση κάποιου προγραμματιστικού προβλήματος.
Στη τελική εξέταση ένας βαθμός 7,5-8,5 είναι κατά τη γνώμη μου άριστα.
Γενικά οι τελικοί βαθμοί είναι στο πεδίο του 8-9 μιας και ανεβαίνουν κατά 20% από τα εργαστήρια.
Κλείνοντας αν το επιλέξεις να ξέρεις ότι είναι ένα μάθημα που θα κουράσει με τις 3 υποχρεωτικές εργασίες και με τα εβδομαδιαία υποχρεωτικά εργαστήρια αλλά αξίζει το κόπο