Περίγραμμα. Διαδικαστικά. Εργαστήρια Τεχνικών Προγραμματισμού 21/2/2017. ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ και Τεχνικές Προγραμματισμού

Σχετικά έγγραφα
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ και Τεχνικές Προγραμματισμού

Σήμερα. Εργαστήρια Τεχνικών Προγραμματισμού. Διαδικαστικά 19/3/2015. ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ και Τεχνικές Προγραμματισμού

Δομές Δεδομένων και Τεχνικές Προγραμματισμού Ενότητα 1: Εισαγωγικές Έννοιες

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

Επιλογές και Κριτήρια Σχεδιασμού ΑΤΔ Ανεξαρτήτως από Γλώσσα Υλοποίησης 24/4/2012

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

ΑΕΠΠ Ερωτήσεις θεωρίας

Εισαγωγή στην Επιστήμη των Υπολογιστών

Μεταβατικές διατάξεις Νέου Προγράμματος Σπουδών (ΝΠΣ) για τους φοιτητές εισαγωγής 2013 και πριν Υποχρεωτικά Μαθήματα

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

Σχεδίαση & Ανάλυση Αλγορίθμων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον υποδειγματική διδασκαλία Κεφ. 3 Δομές Δεδομένων & αλγόριθμοι

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

Μαλούτα Θεανώ Σελίδα 1

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Δοµές Δεδοµένων. 6η Διάλεξη Αναδροµικές Εξισώσεις και Αφηρηµένοι Τύποι Δεδοµένων. Ε. Μαρκάκης

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

Δομές Δεδομένων (Data Structures)

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

Χαράλαμπος Καραγιαννίδης

711 Πληροφορικής ΤΕΙ Αθήνας

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

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

Εισαγωγή. Χαράλαμπος Καραγιαννίδης. Διάλεξη 1. Εφαρμογές ΤΠ στην ΕΕΑ & Διδακτική της Πληροφορικής.

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

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

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ. Δρ. Κωνσταντίνος Κούτσικος - Δρ. Ιάσων Κουφοδόντης

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος

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

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

4.2.1 Α εξάμηνο Β εξάμηνο Γ εξάμηνο 4.2. ΣΥΝΟΠΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΑΝΑ ΕΞΑΜΗΝΟ

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

Εισαγωγή στον Προγ/μό Υπολογιστών. Διάλεξη 0

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος

Δομή του Προγράμματος Σπουδών

θα γίνουν δεκτές εργασίες με mail ή με οποιοδήποτε άλλο τρόπο) μόνο την Δευτέρα 24/10 και ώρα 16:00-21:00 (Α32) (διδάσκουσα: Μπρίνια), την

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

ΑΦAΙΡΕΤΙΚΟΣ (ή ΑΦΗΡΗΜΕΝΟΣ) ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) - σύνολο δεδομένων (data, objects) - σύνολο πράξεων στα δεδομένα

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0176 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ ΣΧΟΛΗ ΠΟΛΥΤΕΧΝΙΚΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0102 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 2

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ ΑΚΑΔΗΜΑΪΚΟΥ ΕΤΟΥΣ

Πρόταση για Ανασχηματισμό του Προγράμματος Προπτυχιακών Σπουδών της ΣΗΜΜΥ

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ

Προτεινόμενος τρόπος διδασκαλίας του μαθήματος με ενδεικτικό χρονοπρογραμματισμό. Α/Α Ενότητες Περιγραφή Ώρες 1 Εισαγωγικό μάθημα 1

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

Διάλεξη 11: Φροντιστήριο για Στοίβες. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

ΔΙΕΥΚΡΙΝΙΣΤΙΚΕΣ ΟΔΗΓΙΕΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ ΓΙΑ ΤΑ ΜΗΤΡΩΑ Ε/14..., E/13 ΚΑΙ Ε/12 ΟΠΩΣ ΙΣΧΥΟΥΝ ΓΙΑ ΤΟ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT)

ΘΕΜΑ Α. 1. Η δυαδική αναζήτηση χρησιμοποιείται μόνο σε ταξινομημένες συλλογές δεδομένων.

Αρχιτεκτονική Υπολογιστών Ι (ένα)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΚΑΤΑΝΟΜΗ ΜΑΘΗΜΑΤΩΝ ΣΤΑ ΕΞΑΜΗΝΑ

Διακριτά Μαθηματικά. Εύη Παπαϊωάννου.

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

K15 Ψηφιακή Λογική Σχεδίαση 1: Εισαγωγή

Μαθήματα 1 ου εξαμήνου

ΑΝΑΛΥΣΗ ΤΩΝ ΑΠΑΙΤΗΣΕΩΝ ΤΩΝ ΠΡΟΑΠΑΙΤΟΥΜΕΝΩΝ ΜΑΘΗΜΑΤΩΝ ΤΟΥ ΝΕΟΥ ΠΡΟΠΤΥΧΙΑΚΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ. Καθ. Αντώνης Πασχάλης

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

ΑΝΑΚΟΙΝΩΣΗ ΚΑΤΑΤΑΚΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ ΑΚ. ΈΤΟΥΣ

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

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

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

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

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

Μαθησιακοί Στόχοι Προγράμματος Σπουδών

Μαθήματα 1 ου εξαμήνου

Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές

Περιεχόμενα. 2 Αριθμητικά συστήματα

Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών. Μάθημα: ECE_Υ106 Εισαγωγή στους Υπολογιστές. Εγχειρίδιο Μαθήματος

Συνοπτικό Πρόγραμμα σπουδών

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

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ


Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

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

Transcript:

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ και Τεχνικές Προγραμματισμού http://eclass.di.uoa.gr/d419/ Τμήμα Αρτίων ΑΜ Αίθουσα A2 Τετάρτη 11-13 και Πέμπτη 11-13 Περίγραμμα Διαδικαστικά (Εργασίες, Εξετάσεις, κλπ) Ένταξη στο Πρόγραμμα Σπoυδών Αντικείμενο μαθήματος Διευκρινίσεις/Ερωτήσεις Γιάννης Κοτρώνης domes@di.uoa.gr Διαδικαστικά Υλικό (διαφάνειες, εργασίες, εργαστήρια, κλπ) και επικοινωνία μέσω eclass(εγγραφή) Email domes@di.uoa.gr Μερικά μαθήματα «φροντιστηριακά» με επιδείξεις προγραμμάτων. Εργαστήρια (5δύωρα σε ομάδες των 40) Επιδείξεις αλγορίθμων (προσομοιώσεις, κλπ) Βοηθητικό Υλικό Εργαστήρια Τεχνικών Προγραμματισμού Διδάσκων κ. Σαράντης Πασκαλής Στα Εργαστήρια PC(20 σε λειτουργία) 6Τμήματα των 40 ατόμων (2 ανά PC) Κάθε Τμήμα θα κάνει 5 δύωρα Εργαστήρια, ένα ανά 2 εβδομάδες Έχουν ανακοινωθεί ημέρες/ώρες. Επιλογή Τμήματος μέσω eclass. 1

Εργαστήρια Υποστήριξης Πριν από κάθε εργαστήριο θα σας δίδεται υλικό σχετικό με τεχνικές προγραμματισμού για μελέτη. Στο εργαστήριο θα εφαρμόζετε τις τεχνικές αυτές. Ζητάτε βοήθεια, διεκρινίσεις, κλπ Παρουσία υποχρεωτική Άμεση Αξιολόγηση 10% στον τελικό (2% κάθε εργαστήριο) Βαθμολογικά Τρεις ατομικές εργασίες. Συμμετοχή στον τελικό βαθμό 40% (10%-20%-10%). Αντιγραφή αποκλεισμός από μάθημα. Γλώσσα Υλοποίησης η C Γραπτή εξέταση 50% Εργαστήρια 10% Οι Εργασίες και Εργαστήρια μπορούν να κρατηθούν για το επόμενο έτος στο σύνολό τους εφόσον έχουν βαθμολογηθεί με >= 75%. Υποχρεωτικό Μάθημα Βασικός Κύκλος Σπουδών 7 μονάδες ECTS (European Credit Transfer and Accumulation System) 1 μονάδααντιστοιχεί σε 25 ώρες φοιτητή 7 * 25 = 175 ώρες συνολικής απασχόλησης 52 ώρες διαλέξεων (4 ώρες * 13 εβομάδες-φπ) 60 ώρες μελέτη θεωρίας 10 ώρες εργαστηρίων (2 ώρες * 5 εργαστήρια-φπ) 5 ώρες μελέτη εργαστηρίων (1 ώρα μελέτη*5 εργαστ.) 8, 25, 15 ώρες για Άσκηση 1, 2, 3 αντίστοιχα Σημαντικό Μάθημα Ουσιαστικό Προαπαιτούμενο σε όλα τα προγραμματιστικά μαθήματα και όχι μόνο. Βασική Γνώση στην Πληροφορική! Τυπικό Προαπαιτούμενο σε Κ22 Λειτουργικά Συστήματα (5 ο εξ) Κ24 Προγραμματισμός Συστήματος (6 ο εξ.) Κ31 Μεταγλωττιστές (6 ο εξ.) ΘΠ01 Αρχές Γλώσσών Προγραμματισμού(5 ο εξ.) ΥΣ02 Τεχνητή Νοημοσύνη (5 ο εξ.) 2

Αναζήτηση Αρχών στην Πληροφορική (Αφαίρεση- Απεικόνιση ) Δύσκολη Πρόβλεψη για το μέλλον Όμως η Ανασκόπηση βοηθά Π.χ. Hardware Παρελθόν (ηλεκτρομηχανικά συστήματα, λυχνίες, transistors, chips) Μέλλον ;; (κβαντομηχανικοί; Οπτικοί; Βιολογικοί;...) Επιβίωση Αρχών (1) Παρόλες τις αλλαγές στο H/W οι βασικές εντολές μηχανής απόδοση τιμής, test, branch, τα βασικά δομικά στοιχεία δεδομένων Bits, bytes, words παρέμειναν τα ίδια. Οι νόμοι της αριθμητικής και λογικής παρέμειναν αναλλοίωτοι Επιβίωση Αρχών (2) Ότι έχει αναπτυχθεί πάνω από αναλλοίωτα στοιχεία επιβιώνει Γλώσσες Προγραμματισμού (Cobol, Fortran, Lisp, C, Pascal). Οι μεταγλωττιστές τους αποδείχτηκαν μεταφέρσιμοι. Οι βασικές αρχές οργάνωσης τους (αλγόριθμοι, δομές δεδομένων) παρέμειναν ίδιες. Επιβίωσαν επειδή είχαν σωστό επίπεδο αφαίρεσης Η αρχή της Αφαίρεσης Κρατάμε μόνο τα χαρακτηριστικά από αντικείμενα που μας ενδιαφέρουν Αγνοούμε δευτερεύοντα χαρακτηριστικά ιδιαίτερα για το κάθε αντικείμενο. Δεν είναι πάντα τα ίδια χαρακτηριστικά Π.χ. «Αυτοκίνητο» Πάρκινγκ αριθμός κυκλοφορίας αυτοκινήτου Υπουργείο Συγκοινωνιών Πολλά άλλα στοιχεία, Προσωπικά στοιχεία «πόσα καίει», service, ΚΤΕΟ κλπ 3

Οι σωστές Αφαιρέσεις επιβιώνουν Αφαιρέσεις που επέδειξαν Αξία και Χρησιμότητα στο χρόνο (παρόλες τις αλλαγές) τις δεχόμαστε ως θεμελιώδεις Πληροφορική (μια άποψη): Η αναζήτηση θεμελιακών αρχών υπολογισμού και η εφαρμογή τους. Αρχές Δόμησης Λογισμικού Τι άλλες αρχές μπορούμε να «ανακαλύψουμε»; Π.χ. Αεροπορικές Πτήσεις Πτήσεις, Ημερομηνίες, κρατήσεις Αρχεία, Πίνακες, λίστες, εγγραφές, συμβολοσειρές Η ανάπτυξη προγραμμάτων εμπεριέχει την Απεικόνιση οντοτήτων, αντικειμένων, και συμπεριφοράς που απαιτούνται από την εφαρμογή χρησιμοποιώντας βασικά στοιχεία. Ο Υπολογιστής είναι μια μηχανή απεικόνισης (Εικονική Πραγματικότητα;) Bits, bytes, ακολουθίες λέξεων Γιατί ενδιάμεσα επίπεδα; Αφού τελικά όλα καταλήγουν σε «bits» και «bytes» Οι απαντήσεις είναι ακριβώς οι λόγοι ύπαρξης του μαθήματος και είναι πρωταρχικής σημασίας στην Πληροφορική. Στόχος η ανάπτυξη αξιόπιστων, αποδοτικών συστημάτων με ταχύτητα και οικονομία Λόγοι για ενδιάμεσα επίπεδα Οικονομία. Κτίζουμε συστήματα από έτοιμα συστατικά (επαναχρησιμοποίηση) Καλύτερη Διαχείριση. Διασπούμε ένα μεγάλο πρόβλημα σε μικρότερα μέρη. Ιδανικά τα μέρη είναι υποσυστήματα που αλληλοεπιδρούν απλά, σύντομα και με διαυγή τρόπο. Υψηλή χρηστικότητα. Άθροιση εμπειρίας σε επιλογές ενδιάμεσων δομών. 4

Αφαιρετικοί Τύποι Δεδομένων (ΑΤΔ) Στην Πληροφορική έχουμε πλήθος ενδιάμεσων Δομών Δεδομένων (συμβολοσειρές, πίνακες, εγγραφές, λίστες, δένδρα, ουρές, στοίβες, γράφους). Ο ΑΤΔ αναφέρεται στον τρόπο που «περιτυλίγουμε» (ορίζουμε και υλοποιούμε) τα Δεδομένα μαζί με τις επιτρεπτές πράξεις σε αυτά σε μια χρήσιμη ενότητα. Οι ΑΤΔ έχουν καθαρές διεπαφές («Τι κάνει») και χαμηλού επιπέδου απεικονίσεις («Πώς το κάνει»). Σας θυμίζει κάτι; (τύποι δεδομένων, συναρτήσεις) Τι και Πώς (τύποι δεδομένων) Τύπος: intx Τι ορίζει; Τιμές (minint..maxint) και Πράξεις(+, -, *, /, ) Πώς το υλοποιεί; Μέγεθος μνήμης (2, 4 bytes) Δυαδική Απεικόνιση (σε συμπλήρωμα ως προς 2) Όρια απεικόνισης (-2 16 έως 2 16-1) Πρόσθεση στην απεικόνιση (x=maxint +1) Τι και Πώς (συναρτήσεις) Το μεγαλύτερο πλεονέκτημα τους η αφαίρεση Τι κάνoυν; int search(int *Table, int limit; int key) Πώς το υλοποιούν; int search(int * Table, int limit, int key) { int i; for (i=0; i < limit ; i++) if (Table[i]== key) break; return i; } Πολυπλοκότητα Αλγορίθμων Οι πράξεις των ΑΤΔ υποστηρίζονται από συναρτήσεις-αλγορίθμους. Η έννοια της πολυπλοκότητας των αλγορίθμων είναι σημαντική και θα μας απασχολήσει. «Πόσο αποδοτικός είναι;» Εκφράζουμε αυτή την πολυπλοκότητα με μαθηματικούς τύπους Κριτήρια μνήμης ταχύτητας (συμβιβασμοί) 5

Y = A x Πολυπλοκότητα Αλγορίθμων ο συμβολισμός Ο( ) Χρόνος Ο(n 3 ) Ο(n 2 ) Ο(n) Ο(log 2 n) Μέγεθος προβλήματος n Κύριο Αντικείμενο ΑΤΔ και Υλοποιήσεις στην C Boolean Στοίβα (Stack) Ουρά (Queue) Λίστες (Lists) Δένδρα (Trees) Γραφήματα (Graphs) Εξίσου Σημαντικοί Άξονες (1) Εργαστήρια Προγραμματισμός Εμπέδωση, εμβάθυνση στην C Π.χ. Δυναμική Διαχείριση Μνήμης-δείκτες, Αναδρομή Τεχνικές Προγραμματισμού Ενότητες (modules.h +.c) Δοκιμή και Εκσφαλμάτωση 6

Εξίσου Σημαντικοί Άξονες (2) Εισαγωγή στην Αξιολόγηση Αλγορίθμων Πολυπλοκότητα Χρόνου-Μνήμης Γενικές Αρχές Πληροφορικής Απεικόνιση-Αφαίρεση Διεπαφές-Απόκρυψη Πληροφορίας Επαναχρησιμοποίηση Κώδικα κλπ 7