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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

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

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

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

Transcript:

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ και Τεχνικές Προγραμματισμού http://eclass.di.uoa.gr/d419/ Τμήμα Αρτίων ΑΜ Αίθουσα A2 Τετάρτη 11-13 και Πέμπτη 11-13 Γιάννης Κοτρώνης domes@di.uoa.gr

Περίγραμμα Διαδικαστικά (Εργασίες, Εξετάσεις, κλπ) Ένταξη στο Πρόγραμμα Σπoυδών Αντικείμενο μαθήματος Διευκρινίσεις/Ερωτήσεις

Διαδικαστικά Υλικό (διαφάνειες, εργασίες, εργαστήρια, κλπ) και επικοινωνία μέσω eclass (Εγγραφή) Email domes@di.uoa.gr Μερικά μαθήματα «φροντιστηριακά» με επιδείξεις προγραμμάτων. Εργαστήρια (5 δύωρα σε ομάδες των 40) Επιδείξεις αλγορίθμων (προσομοιώσεις, κλπ) Βοηθητικό Υλικό

Εργαστήρια Τεχνικών Προγραμματισμού Διδάσκων κ. Σαράντης Πασκαλής Στα Εργαστήρια PC (20 σε λειτουργία) 6 Τμήματα των 40 ατόμων (2 ανά PC) Κάθε Τμήμα θα κάνει 5 δύωρα Εργαστήρια, ένα ανά 2 εβδομάδες Έχουν ανακοινωθεί ημέρες/ώρες. Επιλογή Τμήματος μέσω eclass.

Εργαστήρια Υποστήριξης Πριν από κάθε εργαστήριο θα σας δίδεται υλικό σχετικό με τεχνικές προγραμματισμού για μελέτη. Στο εργαστήριο θα εφαρμόζετε τις τεχνικές αυτές. Ζητάτε βοήθεια, διεκρινίσεις, κλπ Παρουσία υποχρεωτική Άμεση Αξιολόγηση 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 ο εξ.)

Αναζήτηση Αρχών στην Πληροφορική (Αφαίρεση- Απεικόνιση ) Δύσκολη Πρόβλεψη για το μέλλον Όμως η Ανασκόπηση βοηθά Π.χ. Hardware Παρελθόν (ηλεκτρομηχανικά συστήματα, λυχνίες, transistors, chips) Μέλλον ;; (κβαντομηχανικοί; Οπτικοί; Βιολογικοί;...)

Επιβίωση Αρχών (1) Παρόλες τις αλλαγές στο H/W οι βασικές εντολές μηχανής απόδοση τιμής, test, branch, τα βασικά δομικά στοιχεία δεδομένων Bits, bytes, words παρέμειναν τα ίδια. Οι νόμοι της αριθμητικής και λογικής παρέμειναν αναλλοίωτοι

Επιβίωση Αρχών (2) Ότι έχει αναπτυχθεί πάνω από αναλλοίωτα στοιχεία επιβιώνει Γλώσσες Προγραμματισμού (Cobol, Fortran, Lisp, C, Pascal). Οι μεταγλωττιστές τους αποδείχτηκαν μεταφέρσιμοι. Οι βασικές αρχές οργάνωσης τους (αλγόριθμοι, δομές δεδομένων) παρέμειναν ίδιες. Επιβίωσαν επειδή είχαν σωστό επίπεδο αφαίρεσης

Η αρχή της Αφαίρεσης Κρατάμε μόνο τα χαρακτηριστικά από αντικείμενα που μας ενδιαφέρουν Αγνοούμε δευτερεύοντα χαρακτηριστικά ιδιαίτερα για το κάθε αντικείμενο. Δεν είναι πάντα τα ίδια χαρακτηριστικά Π.χ. «Αυτοκίνητο» Πάρκινγκ αριθμός κυκλοφορίας αυτοκινήτου Υπουργείο Συγκοινωνιών Πολλά άλλα στοιχεία, Προσωπικά στοιχεία «πόσα καίει», service, ΚΤΕΟ κλπ

Οι σωστές Αφαιρέσεις επιβιώνουν Αφαιρέσεις που επέδειξαν Αξία και Χρησιμότητα στο χρόνο (παρόλες τις αλλαγές) τις δεχόμαστε ως θεμελιώδεις Πληροφορική (μια άποψη): Η αναζήτηση θεμελιακών αρχών υπολογισμού και η εφαρμογή τους.

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

Γιατί ενδιάμεσα επίπεδα; Αφού τελικά όλα καταλήγουν σε «bits» και «bytes» Οι απαντήσεις είναι ακριβώς οι λόγοι ύπαρξης του μαθήματος και είναι πρωταρχικής σημασίας στην Πληροφορική. Στόχος η ανάπτυξη αξιόπιστων, αποδοτικών συστημάτων με ταχύτητα και οικονομία

Λόγοι για ενδιάμεσα επίπεδα Οικονομία. Κτίζουμε συστήματα από έτοιμα συστατικά (επαναχρησιμοποίηση) Καλύτερη Διαχείριση. Διασπούμε ένα μεγάλο πρόβλημα σε μικρότερα μέρη. Ιδανικά τα μέρη είναι υποσυστήματα που αλληλοεπιδρούν απλά, σύντομα και με διαυγή τρόπο. Υψηλή χρηστικότητα. Άθροιση εμπειρίας σε επιλογές ενδιάμεσων δομών.

Αφαιρετικοί Τύποι Δεδομένων (ΑΤΔ) Στην Πληροφορική έχουμε πλήθος ενδιάμεσων Δομών Δεδομένων (συμβολοσειρές, πίνακες, εγγραφές, λίστες, δένδρα, ουρές, στοίβες, γράφους). Ο ΑΤΔ αναφέρεται στον τρόπο που «περιτυλίγουμε» (ορίζουμε και υλοποιούμε) τα Δεδομένα μαζί με τις επιτρεπτές πράξεις σε αυτά σε μια χρήσιμη ενότητα. Οι ΑΤΔ έχουν καθαρές διεπαφές («Τι κάνει») και χαμηλού επιπέδου απεικονίσεις («Πώς το κάνει»). Σας θυμίζει κάτι; (τύποι δεδομένων, συναρτήσεις)

Τι και Πώς (τύποι δεδομένων) Τύπος: int x Τι ορίζει; Τιμές (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;

Πολυπλοκότητα Αλγορίθμων Οι πράξεις των ΑΤΔ υποστηρίζονται από συναρτήσεις-αλγορίθμους. Η έννοια της πολυπλοκότητας των αλγορίθμων είναι σημαντική και θα μας απασχολήσει. «Πόσο αποδοτικός είναι;» Εκφράζουμε αυτή την πολυπλοκότητα με μαθηματικούς τύπους Κριτήρια μνήμης ταχύτητας (συμβιβασμοί)

............ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ) O(n n 2 n n] 1)) (n [(n T(n) 2 2 Y = A x 1(1)n i, x a y Ax, y n 1 j j ij i

Πολυπλοκότητα Αλγορίθμων ο συμβολισμός Ο( ) Χρόνος Ο(n 3 ) Ο(n 2 ) Ο(n) Ο(log 2 n) Μέγεθος προβλήματος n

Κύριο Αντικείμενο ΑΤΔ και Υλοποιήσεις στην C Boolean Στοίβα (Stack) Ουρά (Queue) Λίστες (Lists) Δένδρα (Trees) Γραφήματα (Graphs)

Εξίσου Σημαντικοί Άξονες (1) Εργαστήρια Προγραμματισμός Εμπέδωση, εμβάθυνση στην C Π.χ. Δυναμική Διαχείριση Μνήμης-δείκτες, Αναδρομή Τεχνικές Προγραμματισμού Ενότητες (modules.h +.c) Δοκιμή και Εκσφαλμάτωση

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