Περιγραφή Μαθήματος ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ. Γεώργιος Παπαϊωάννου ( )

Σχετικά έγγραφα
Προγραμματισμός Υπολογιστών με C++

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Διαδικαστικά

Τεχνολογίες Υλοποίησης Αλγορίθµων

Δομές Δεδομένων. Παύλος Εφραιμίδης

Τεχνολογίες Υλοποίησης Αλγορίθµων

Αρχές Τεχνολογίας Λογισμικού

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

Δομημένος Προγραμματισμός ΙΙΙ - Java

ΗΥ 232. Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 1. Εισαγωγή στο μάθημα. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Δοµές Δεδοµένων. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Φθινοπωρινό Εξάµηνο Ευάγγελος Μαρκάκης

Εισαγωγή στον Προγραμματισμό

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή Χειμερινό Εξάμηνο Παναγιώτης Τσαπάρας

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Τεχνολογίες Υλοποίησης Αλγορίθµων

Επικοινωνία Ανθρώπου Υπολογιστή

Προγραμματισμός ΙΙ. Ενότητα 7: Βιβλιοθήκες - Μέρος 2. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Πληροφορίες για το μάθημα. Ευάγγελος Παπαπέτρου

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Γενικά (για τις γραπτές εξετάσεις)

Προγραμματισμός Χειμερινό Εξάμηνο 2014

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Δίκτυα Υπολογιστών. Πληροφορίες για το μάθημα. Ευάγγελος Παπαπέτρου. Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή Χειμερινό Εξάμηνο Νίκος Μαμουλής

Θέματα Προγραμματισμού Η/Υ

Διάλεξη 1η: Εισαγωγή

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2690

ΕΡΩΤΗΜΑΤΟΛΟΓΙΟ ΑΞΙΟΛΟΓΗΣΗΣ ΜΑΘΗΜΑΤΟΣ

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Σχολή Πολιτικών Μηχανικών

Τι πρέπει να γνωρίζω για το μάθημα Γενική Χημεία; Η πυξίδα μου

ΗΥ 134. Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 1. Εισαγωγή. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Προγραμματισμός ΙΙ Ενότητα 5:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι

ΑΣΤΙΚΑ ΥΔΡΑΥΛΙΚΑ ΕΡΓΑ ΚΟΥΤΣΟΓΙΑΝΝΗΣ ΔΗΜΗΤΡΙΟΣ, ΝΙΚΟΛΑΟΣ

Προγραμματισμός ΙΙ. Ενότητα 2: Διαχείριση μνήμης. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εισαγωγή Συμβόλαιο Μαθήματος

Προγραμματισμός Ι (ΗΥ120)

Οδηγός Μαθήματος Κινητικός Έλεγχος και Κινητική Μάθηση στην Αποκατάσταση

Σχολή Πολιτικών Μηχανικών. Συγκεντρωτικά αποτελέσματα προπτυχιακών μαθημάτων για το Χειμερινό εξαμήνο του ακ. έτους

Διδάσκων / Διδάσκουσα του μαθήματος

Το µάθηµα Αντικείµενο-Περιεχόµενα µαθήµατος Τρόπος ιδασκαλίας Εργαστήριο Βιβλίο, Βιβλιογραφία On-line Υλικό 2

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

οµηµένος Προγραµµατισµός ΙΙΙ - Java

Προγραμματισμός ΙΙ. Ενότητα 8: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Σχολή Πολιτικών Μηχανικών ΣΤΟΧΑΣΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΤΟΥΣ ΥΔΑΤΙΚΟΥΣ ΠΟΡΟΥΣ ΚΟΥΤΣΟΓΙΑΝΝΗΣ ΔΗΜΗΤΡΙΟΣ, ΝΙΚΟΛΑΟΣ. Ακ. έτος Χειμερινό εξάμηνο

Διοίκηση Παραγωγής και Συστημάτων Υπηρεσιών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

Σχολή Πολιτικών Μηχανικών

Μέγιστη τιμή Οι στόχοι του μαθήματος είναι σαφείς ,18 0, ,5 4,31 0, ,29 0, ,82 1, ,71 1,27 1 5

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Προγραμματισμός. Εαρινό Εξάμηνο 2011

Τι πρέπει να γνωρίζω για το μάθημα Γενική Χημεία; Η πυξίδα μου

ΚΡΥΠΤΟΓΡΑΦIΑ Α ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Περιγραφή Μαθήματος. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Λειτουργικά Συστήματα & Γλώσσες Προγραμματισμού. Υποχρεωτικό Μάθημα του 3 ου Εξαμήνου Προπτυχιακών Σπουδών της Σχολής Μηχανολόγων Μηχανικών ΕΜΠ

Αρχιτεκτονική Υπολογιστών

( Η/Υ ΙΙ 22/2/ / 24

Διδακτική της Πληροφορικής ΙΙ

Προγραμματισμός ΙΙ Ενότητα 4:

Λειτουργικά Συστήματα

«Εισαγωγή στην Γλώσσα Προγραμματισμού Python»

οµηµένος Προγραµµατισµός ΙΙΙ - Java Παύλος Εφραιµίδης οµηµένος Προγρ. ΙΙΙ - 1 Java Το Μάθηµα

Προγραμματισμός ΙΙ. Ενότητα 1: Προαπαιτούμενα. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Επικοινωνία Ανθρώπου Υπολογιστή. Α1. Εισαγωγή στην ΕΑΥ και γενικές πληροφορίες για το µάθηµα

ΠΡΟΧΩΡΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Χαρίδημος Κονδυλάκης Εισαγωγή

ΗΥ 252: Αντικειµενοστρεφής Προγραµµατισµός

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

ΚΑΝΟΝΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ ΕΡΓΑΣΤΗΡΙΩΝ

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

Προγραμματισμός ΙΙ. Ενότητα 4: Διαχείριση μνήμης. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Απογραφικό Δελτίο Εξαμηνιαίου Μαθήματος

ΗΥ 252: Αντικειµενοστρεφής Προγραµµατισµός

Εισαγωγή στον προγραμματισμό

Δίκτυα Υπολογιστών I

Προγραμματισμός ΙΙ Ενότητα 3:

Δομές Δεδομένων. Λουκάς Γεωργιάδης.

ίκτυα και Internet στο Επιχειρηματικό Περιβάλλον

Ψηφιακή Σχεδίαση ΙΙ Εισαγωγικό Μάθημα. Δρ. Μηνάς Δασυγένης

Δίκτυα Υπολογιστών I

Το µάθηµα Ψηφιακές Βιβλιοθήκες

ΜΟ.ΔΙ.Π. ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΚΡΗΤΗΣ. Διασφάλιση Ποιότητας στην Ανώτατη Εκπαίδευση. Ερωτηματολόγιο Αξιολόγησης Μαθήματος/ Διδασκαλίας από τους Φοιτητές

Προγραμματισμός ΙΙ. Ενότητα 7: Βιβλιοθήκες - Μέρος 1. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Γραμμική Άλγεβρα. Καλώς Ορίσατε

Εισαγωγή ΕΙΣΑΓΩΓΗ. Γεώργιος Παπαϊωάννου ( )

Προγραμματισμός Χειμερινό Εξάμηνο 2017

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΙΔΙΚΟ ΕΝΤΥΠΟ ΠΕΡΙΓΡΑΦΗΣ ΜΑΘΗΜΑΤΩΝ. Υποχρεωτικής επιλογής (Κατεύθυνσης)

Προγραμματισμός ΙΙ. Ενότητα 1: Βασικοί τύποι δεδομένων. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 9: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΧΑΡΑΛΑΜΠΟΠΟΥΛΟΣ ΑΝΤΩΝΙΟΣ, ΓΡΗΓΟΡΙΟΣ. Ακ. έτος Χειμερινό εξάμηνο

Επιλέξτε καθηγητή. 1. Οι στόχοι του μαθήματος ήταν σαφείς; Καθόλου Λίγο Μέτρια Πολύ Πάρα πολύ

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2670

Transcript:

ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr

Περιγραφή: Εισαγωγικές πληροφορίες για το μάθημα Τελευταία ενημέρωση: Οκτώβριος 2013

Γλώσσα αντικειμενοστραφούς προγραμματισμού υψηλού επιπέδου, με στοιχεία από διαδικαστικές γλώσσες (C, Pascal κλπ) Παράγει εκτελέσιμα αρχεία και βιβλιοθήκες για την εκάστοτε αρχιτεκτονική σε κώδικα μηχανής Προσφέρει μέσα σε ένα κοινό προγραμματιστικό περιβάλλον: Διαδικασιακό προγραμματισμό Αντικειμενοστρεφή προγραμματισμό Γενικευμένο προγραμματισμό

Απαιτούμενο προσόν για πολλές θέσεις εργασίας. Πλήρης έλεγχος στον προγραμματιστή Όπως και η C, υποκαθιστά σε πολλές περιπτώσεις τη χρήση γλώσσας assembly Ακριβής έλεγχος παντού και κυρίως στη διαχείριση της μνήμης Μεγάλη ταχύτητα εκτέλεσης. Αντίτιμο: Περίπλοκη γλώσσα Απαιτεί προσοχή και σχολαστικότητα στη συγγραφή κώδικα

5

Γιατί να χρησιμοποιήσω C++ αφού ξέρω Java; Η κάθε γλώσσα προορίζεται για άλλες εφαρμογές και διαφορετικές απαιτήσεις Ένας επιστήμονας πληροφορικής πρέπει να μπορεί να αντιμετωπίσει το κάθε πρόβλημα με το κατάλληλο εργαλείο Σε πολλές εφαρμογές που απαιτείται ταχύτητα και μεγάλη προβλεψιμότητα απόδοσης ή έλεγχος η Java δε μπορεί να ανταπεξέλθει: Προγραμματισμός σε επίπεδο λειτουργικού συστήματος Επιστημονικοί υπολογισμοί Μαζικά δεδομένα (π.χ. συστήματα διαχείρισης δεδομένων) Αλληλεπιδραστικά συστήματα (π.χ. γραφικά Η/Υ, GUIs)

Όταν η ταχύτητα του προγράμματος είναι κρίσιμη Παράγεται κώδικας μηχανής από την αρχή, όχι byte code, όχι Just in-time (JIT) παραγωγή κώδικα Ολική βελτιστοποίηση του κώδικα από τον compiler (δε μπορεί να γίνει στη Java) Δε μεσολαβεί κάποια Virtual Machine (π.χ. JVM) που σπαταλά πόρους για τη δική της λειτουργία Μπορούν να χρησιμοποιηθούν βελτιστοποιημένες υλοποιήσεις και ειδικά CPU Instruction Sets (SSE4 κλπ) Ο προγραμματιστής μπορεί να παρέμβει σε πολύ χαμηλό επίπεδο στη βελτιστοποίηση της απόδοσης

Όταν η κατανάλωση μνήμης του προγράμματος είναι σημαντικός παράγοντας Δεν υπάρχει garbage collection αποφασίζουμε μόνοι μας πως και πότε θα αποδεσμεύσουμε μνήμη Ελέγχουμε με ακρίβεια τι δεδομένα αποθηκεύουμε Παράγεται πολύ συμπαγής κώδικας Μπορούμε να υλοποιήσουμε δικούς μας μηχανισμούς διαχείρισης μνήμης (caches, memory pooling, lazy allocators)

Όταν η κατανάλωση ενέργειας του συστήματος είναι σημαντικός παράγοντας Δε μεσολαβεί VM. Η VM είναι εκτελέσιμο πρόγραμμα κι αυτό και εκτελώντας τον κώδικά μας, σπαταλάει κι αυτό πόρους του συστήματος (κυρίως κύκλους CPU) που ξοδεύουν ενέργεια Σημαντικός παράγοντας σε αρχιτεκτονικές κινητών συσκευών (κινητά, tablets, embedded systems κλπ)

Διδάσκων: Γεώργιος Παπαϊωάννου (gepap@aueb.gr) Ώρες γραφείου: βλ. e-class Ενημέρωση: e-class (http://eclass.aueb.gr). Γραφτείτε! Βοηθοί: Βλ. e-class Επικοινωνία: Περιοχές συζητήσεων. Αν ξέρετε την απάντηση, απαντήστε! Ρωτήστε τους υπευθύνους των εργαστηρίων Μηνύματα ηλεκτρονικού ταχυδρομείου μόνο αν είναι αδύνατη η χρήση των ομάδων συζητήσεων

Διαλέξεις Είναι σημαντικό να μην τις χάνετε! Απαραίτητες για την κατανόηση του μαθήματος και την επίλυση αποριών Εργαστηριακά μαθήματα Προσοχή: ΔΕΝ υποκαθιστούν τις διαλέξεις! Η ύλη τους επικεντρώνεται σε λίγα, πρακτικά ζητήματα. Καλύπτεται το πολύ ένα 20% όσων θα πούμε στο μάθημα Εργασίες 3 σπονδυλωτές εργασίες στη διάρκεια του εξαμήνου

Όπως σε κάθε γλώσσα προγραμματισμού, ο φοιτητής πρέπει να επικεντρώσει: Στην εκμάθηση της δομής και των αρχών της γλώσσας Στην εκμάθηση των βασικών APIs (Application Programming Interfaces) της γλώσσας Στην υλοποίηση και εφαρμογή βασικών δομών δεδομένων και προτύπων σχεδιασμού κώδικα (design patterns) στη γλώσσα αυτή Ενδεχομένως, στη μετάπτωση στυλ προγραμματισμού από άλλες γλώσσες Δεν υπάρχει μονοσήμαντος τρόπος να γίνουν τα παραπάνω!

Παρουσιάσεις διαλέξεων (από e-class) Βιβλίο (σύγγραμμα) Online C++ reference http://www.cplusplus.com/reference/ http://msdn.microsoft.com/enus/library/3bstk3k5(v=vs.100).aspx Άλλα Πληθώρα tutorials, οδηγιών, έτοιμων υποδειγμάτων και παραδειγμάτων υλοποίησης

Οι διαλέξεις βασίζονται στις διαφάνειες Οι διαφάνειες είναι χωρισμένες κατά θεματικές ενότητες, όχι απαραίτητα κατά σειρά διδασκαλίας Πολλές φορές θα ανατρέχουμε σε διαφορετικά αντικείμενα

Δίνεται λίστα προτεινόμενων συγγραμμάτων αλλά: Είναι ενδεικτική Δεν ακολουθούμε σειριακά και γραμμικά κάποιο βιβλίο Εξετάζουμε «αντικείμενα» μαθήματος και όχι «κεφάλαια» Διαβάζουμε με ανάλογο τρόπο! Οδηγός μας για τις περισσότερες πληροφορίες είναι το internet Ψάχνουμε! Δε διστάζουμε να διαβάζουμε και βιβλία/υλικό στα Αγγλικά! Το 99,99% του χρήσιμου υλικού είναι στα Αγγλικά Η Αγγλική ορολογία είναι πιο σαφής, μονοσήμαντη και κοινά χρησιμοποιούμενη παντού

Μπορείτε να λάβετε δωρεάν ένα από τα ακόλουθα: Deitel, H.M. και Deitel, P.J., «C++ Προγραμματισμός», 9η έκδοση, Εκδόσεις Μ. Γκιούρδας, 2010. Schildt, H., «Μάθετε τη C++ από το Μηδέν», 3η έκδοση, Κλειδάριθμος, 2004. Schildt, H., «C++ Βήμα προς Βήμα», 2η έκδοση, Εκδόσεις Μ. Γκιούρδας, 2005. Μπορείτε να τα ξεφυλλίσετε στη βιβλιοθήκη. Δίνονται ως βοηθήματα και βιβλία αναφοράς. Οι διαλέξεις δεν ακολουθούν κάποιο συγκεκριμένο βιβλίο. Η βιβλιοθήκη έχει και πολλά άλλα βιβλία C++! Επίσης, υπάρχουν βιβλία που διατίθενται δωρεάν σε ηλεκτρονική μορφή (βλ. ιστοσελίδα συνδέσμων στο e-class).

Erich Gamma, Ralph Johnson, John Vlissides, Richard Helm, Design patterns : elements of reusable object-oriented software, Addison Wesley Scott Meyers, Effective C++: 55 Specific Ways to Improve Your Programs and Designs, 3 rd Edition, Addison Wesley Scott Meyers, Effective STL: 50 Specific Ways to Improve the Use of the Standard Template Library, Addison Wesley

Προϋπόθεση για την κατανόηση του μαθήματος είναι να έχετε παρακολουθήσει επιτυχώς τα μαθήματα: Εισαγωγή στον Προγραμματισμό Υπολογιστών Προγραμματισμός Υπολογιστών με Java Μηχανισμοί που είναι κοινοί στην Java και τη C++ θεωρούνται γνωστοί Ένα μέρος του μαθήματος εξετάζει πώς μπορούν να υλοποιηθούν σε C++ δομές δεδομένων, σε χαμηλότερο επίπεδο από ό,τι στο μάθημα των "Δομών Δεδομένων" (3ου εξαμήνου), όπου χρησιμοποιείται Java και το οποίο θεωρείται ότι οι φοιτητές παρακολουθούν παράλληλα.

Οι διαφάνειες των διαλέξεων: Βρίσκονται στο e-class. Αν μπορείτε, μην τις τυπώνετε και διαβάστε τες ηλεκτρονικά. Προσέλευση: Παρακαλώ μην μπαίνετε στο αμφιθέατρο μετά την έναρξη του μαθήματος. Αν αργήσατε, παρακαλώ περιμένετε το διάλειμμα. Αν θέλετε να φύγετε, κάντε το αθόρυβα. Κατά τη διάλεξη: Μη μιλάτε μεταξύ σας, μην καπνίζετε, μην καταναλώνετε φαγητά, αναψυκτικά κλπ.

Τα εργαστήρια ξεκινούν από τη 2 η εβδομάδα Στα εργαστήρια: Επιδεικνύεται η χρήση εργαλείων ανάπτυξης λογισμικού Συζητιούνται απορίες σχετικές με την ύλη των εργαστηρίων της προηγούμενης εβδομάδας Λύνονται σχετικές ασκήσεις Παρέχονται συμβουλές για τις προγραμματιστικές εργασίες Προαιρετική παρακολούθηση. Εργαστηριακές τάξεις: Ο αριθμός των τάξεων και οι υπεύθυνοί τους θα ανακοινωθούν στο e-class. Προσοχή: Δεν υποκαθιστούν τις διαλέξεις!!

3 υποχρεωτικές εργασίες 30% του τελικού βαθμού Αυστηρά ανά ζεύγη: Ίδια ζεύγη για όλες τις εργασίες Άτομα της ίδιας εργαστηριακής τάξης σε κάθε ζεύγος Ατομική προφορική εξέταση στο τέλος του εξαμήνου

(και με καλό βαθμό;) Παρακολούθηση διαλέξεων και τήρηση σημειώσεων Μελέτη διαφανειών και σημειώσεων μετά από κάθε διάλεξη Όπου χρειάζεται, μελέτη σχετικών τμημάτων βιβλίων Εξάσκηση στον υπολογιστή κατά το διάβασμα Ενεργή συμμετοχή στα εργαστήρια Παρακολούθηση των περιοχών συζητήσεων στο e-class Σοβαρή ενασχόληση με τις εργασίες Επανάληψη μέσω των διαφανειών πριν τις εξετάσεις Λύσιμο παλαιών θεμάτων εξετάσεων