Σύγχρονες Μέθοδοι Προγραμματισμού

Σχετικά έγγραφα
Αλγόριθμοι και Πολυπλοκότητα

Διαχείριση Δεδομένων

Σχεδιασμός και Διαχείριση Λογισμικού

Σχεδίαση Λογισμικού. Σημείωση

Προηγμένα Θέματα Δικτύων Υπολογιστών

Βασικές Εξειδικεύσεις σε Αρχιτεκτονική και Δίκτυα Υπολογιστών

Ειδικά Θέματα Ακουστικού Σχεδιασμού και Πολυμέσων

Ηχομόνωση Ηχοπροστασία

Προχωρημένα Ζητήματα Σχεδιασμού Κατανεμημένων Συστημάτων Εγχειρίδιο Μελέτης

Τεχνολογία Λογισμικού

Γλώσσες Προγραμματισμού

Ηχομόνωση Ηχοπροστασία

Οργάνωση και Αλληλεπιδράσεις σε Μοριακό Επίπεδο

Ζητήματα Σχεδιασμού και Προγραμματισμού Συστημάτων ΔιάχυτουΥπολογισμού

Συστήματα Διάχυτου και Σφαιρικού Υπολογισμού

Ρύπανση-Ενέργεια και Τεχνολογίες Αντιρύπανσης

Τεχνολογία Φωτισμού και Σύνδεση με την Παραγωγή

Σχεδίαση Middleware Εγχειρίδιο Μελέτης

Εφαρμογές Φωτισμού και Πολυμεσικές Εφαρμογές

Τεχνολογία Φωτισμού και Σύνδεση με την Παραγωγή

Γενικές Αρχές Φωτισμού

Ρύπανση-Ενέργεια και Τεχνολογίες Αντιρύπανσης

Αρχιτεκτονικές Συστημάτων Διάχυτου και Σφαιρικού Υπολογισμού

Λογισμικό και Μέθοδοι για Ακουστικό Σχεδιασμό

Εφαρμογές Φωτισμού και Πολυμεσικές Εφαρμογές

Ήχος και Τέχνες. Ήχος και Ακουστική στη Μουσική ΤΟΜΟΣ A. Ανδρέας Φλώρος Επίκ. Καθηγητής Ιονίου Πανεπιστημίου

Οργάνωση και Αλληλεπιδράσεις σε Μοριακό Επίπεδο

Γενικές Αρχές Φωτισμού

Βασικές Εξειδικεύσεις σε Αρχιτεκτονική και

Δίκτυα Υπολογιστών. Σημείωση

Δρ. Φώτης Κοντομίχος Δρ. Θωμάς Ζαρούχας Δρ. Παναγιώτης Χατζηαντωνίου

Ιστορία της Τέχνης και Ιστορία της Επιστήμης του Φωτός

Πρωτόκολλα, Υπηρεσίες και Εφαρμογές Ασύρματων Δικτύων Εγχειρίδιο Μελέτης

Κρυπτογραφία και Ασφάλεια Δικτύων

Ρύπανση-Ενέργεια και Τεχνολογίες Αντιρύπανσης

Ψηφιακές Επικοινωνίες

Εργαλεία Γνώσης για τη Σχεδίαση και Προσομοίωση Έργων Φωτισμού

Σϋγχρονεε Προσεγγίσει ins Εκπαίδευσηε Ενηλίκων

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

μ ÛÈÎ Ú ÈÎ Ô Î È ÈÔ ÎËÛË

μ ÛÈÎ Ú ÈÎ Ô Î È ÈÔ ÎËÛË

"Αθηνά" - Ερευνητικό Κέντρο Καινοτομίας στις Τεχνολογίες της Πληροφορίας, των Επικοινωνιών και της Γνώσης

ÚıÔ ÔÍ ÛÙÔÓ 20fi ÈÒÓ. È ÏÔÁÔ ÙË ÚıÔ ÔÍ ÌÂ ÛË Î È Ó ÙÔÏ Δ ª. Ú Ú Ù μ Û ÏÂÈÔ Ú μ ÏÏÈ Ó ÙÔ ÕÁÁÂÏÔ. apple Î. ıëáëù

EÈÛ ÁˆÁ ÛÙËÓ ÏËÚÔÊÔÚÈÎ

EÈÛ ÁˆÁ ÛÙËÓ ÏËÚÔÊÔÚÈÎ

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

ΑΔΑ: ΒΕΖΔ469ΗΡΧ-Ξ5Ψ. Αθήνα, 18 Ιουνίου 2013 Αρ. Πρωτ.: 5798/ΠΤ Η ΕΔΕΤ Α.Ε. ΛΑΜΒΑΝΟΝΤΑΣ ΥΠΟΨΗ:

Οργάνωση και Αλληλεπιδράσεις σε Μοριακό Επίπεδο

Περιεχόμενα. Πρόλογος... xiii

Γλώσσα, Κοινωνία και Εκπαίδευση

ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΟΛΥΜΕΣΩΝ

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

ΕΠΙΧΕΙΡΗΣΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ «ΑΝΤΑΓΩΝΙΣΤΙΚΟΤΗΤΑ & ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ» ΚΑΙ ΠΕΡΙΦΕΡΕΙΩΝ ΣΕ ΜΕΤΑΒΑΣΗ

Τεχνολογία Πολιτισμικού Λογισμικού

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

Οντοκεντρικός Προγραμματισμός

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

ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας. Πρόγραµµα Σπουδών ΠΡΟΧΩΡΗΜΕΝΕΣ ΣΠΟΥ ΕΣ ΣΤΗ ΦΥΣΙΚΗ.

Υπολογιστικά Συστήματα

22/9/ o Τεχνολογίες του Λογισμικού, με έμφαση στην ανάλυση, στο σχεδιασμό και στην υλοποίηση συστημάτων λογισμικού

ΕΛΛΗΝΙΚΆ ΑΚΑΔΗΜΑΪΚΆ ΗΛΕΚΤΡΟΝΙΚΆ ΣΥΓΓΡΆΜΜΑΤΑ ΚΑΙ ΒΟΗΘΉΜΑΤΑ

Τμήμα Πληροφορικής. Σχολή Τεχνολογικών Εφαρμογών. Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλονίκης

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

ÈÔÈÎËÙÈÎ appleè ÂÈÚ ÛÂˆÓ Î È ÚÁ ÓÈÛÌÒÓ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

Μονάδα Εσωτερικής Αξιολόγησης και Επιμόρφωσης

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

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

Εισαγωγή στους Η/Υ και τις Εφαρμογές Ενότητα 5: Επεξεργασία δεδομένων με τη γλώσσα προγραμματισμού python Υπο-ενότητα 5.2: Συμβολοσειρές-Έλεγχος Ροής

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Θεωρία Πληροφορίας και Kωδικοποίησης

- Επιστημονικός Υπεύθυνος Ενέργειας: Θεόδωρος Γ. Εξαρχάκος Καθηγητής του Πανεπιστημίου Αθηνών Πρόεδρος του Παιδαγωγικού Ινστιτούτου «Αναμόρφωση / εκ

ΠΡΑΚΤΙΚΟ. 1) Δρ Ε. Καρκαλέτση 2) Δρ Α. Κούρτη 3) Δρ Ι. Σταματελάτο

ΑΞΙΟΛΟΓΗΣΗ ΕΠΙΣΤΗΜΟΝΙΚΩΝ ΚΑΙ ΕΡΓΑΣΤΗΡΙΑΚΩΝ ΣΥΝΕΡΓΑΤΩΝ Μαθηματική Ανάλυση ΚΑΤΑΤΑΞΗ ΕΠΙΣΤΗΜΟΝΙΚΩΝ ΚΑΙ ΕΡΓΑΣΤΗΡΙΑΚΩΝ ΣΥΝΕΡΓΑΤΩΝ ΜΕ ΠΛΗΡΗ ΠΡΟΣΟΝΤΑ

ΤΕΙ Θεσσαλίας - Διοίκησης και Οικονομίας (ΣΔΟ) Τμήμα Διοίκησης Επιχειρήσεων

στο πλαίσιο υλοποίησης του Υποέργου 16

E π A π π ª π. Â È ÛÌfi ÔÁÈÛÌÈÎÔ. TfiÌÔ ' ÏÒÛÛÂ ÚÔÁÚ ÌÌ ÙÈÛÌÔ II. KÏÂ ÓıË Ú ÌappleÔ Ï Ë. (AÓÙÈÎÂÈÌÂÓÔÛÙÚÂÊ ÚÔÁÚ ÌÌ ÙÈÛÌfi )

Ήλιος: Το ψηφιακό Αποθετήριο Ανοικτής Πρόσβασης του Εθνικού Ιδρύματος Ερευνών

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Πειραιάς S 2 Ε Lab Ιούνιος Εισηγητής: Δ. Ν. Καλλέργης, MSc. Εργ. Συνεργάτης

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

ΕΠΙΧΕΙΡΗΣΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ «Εκπαίδευση και δια βίου μάθηση»

HTML5, CSS και JavaScript

Aρχές Διοίκησης Επιχειρήσεων

ΑΔΑ: 4ΑΡΟ46941Δ-Ε. Συνολικός Προϋπολογισμός Έργου : ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΙΑ ΙΚΤΥΟ 137/

ΕΛΛΗΝΙΚΑ ΑΚΑΔΗΜΑΪΚΑ ΣΥΓΓΡΑΜΜΑΤΑ ΚΑΙ ΒΟΗΘΗΜΑΤΑ ΖΩΝΤΑΝΕΥΩΝΤΑΣ ΤΗ ΓΝΩΣΗ ΜΕ ΤΟ ΔΙΑΔΡΑΣΤΙΚΟ ΒΙΒΛΙΟ

Πρόγραμμα Μεταπτυχιακών Σπουδών στην Πληροφορική (ΠΜΣ) Τμήμα Πληροφορικής ΑΠΘ

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

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13

ΠΡΑΞΗ «ΜΟΔΙΠ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ» ΕΡΓΟ: «ΕΡΓΟ ΜΟ.ΔΙ.Π ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ» ΚΩΔΙΚΟΣ ΕΡΓΟΥ(ΦΚ/MIS): D.089 /MIS

2 Προσωπική Αναφορά Ράπτη Ευάγγελου

Περιεχόμενα Παρουσίασης

ΕΠΙΤΡΟΠΗ ΕΡΕΥΝΩΝ. Ι. Θεοτόκη 72, Κέρκυρα, τηλ.: , Fax: , ΠΡΟΣΚΛΗΣΗ ΕΚΔΗΛΩΣΗΣ ΕΝΔΙΑΦΕΡΟΝΤΟΣ

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

Transcript:

Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό Πρόγραμμα «Εκπαίδευση και Διά Βίου Μάθηση» (ΕΠΕΔΒΜ) του ΕΣΠΑ (2007-2013), Άξονας Προτεραιότητας 7: «Ενίσχυση της Διά Βίου Εκπαίδευσης Ενηλίκων στις 8 Περιφέρειες Σύγκλισης» με κωδικό MIS 296121 και η οποία συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο - ΕΚΤ) και από εθνικούς πόρους, μέσω του Προγράμματος Δημοσίων Επενδύσεων (ΠΔΕ) του ΥΠΑΙΘ. Σύγχρονες Μέθοδοι Προγραμματισμού Σημείωση Το ΕΑΠ είναι υπεύθυνο για την επιμέλεια έκδοσης και την ανάπτυξη των κειμένων σύμφωνα με τη Μεθοδολογία της εξ Αποστάσεως Εκπαίδευσης. Για την επιστημονική αρτιότητα και πληρότητα των συγγραμμάτων την αποκλειστική ευθύνη φέρουν οι συγγραφείς, κριτικοί αναγνώστες και ακαδημαϊκοί υπεύθυνοι που ανέλαβαν το έργο αυτό.

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστημών και Τεχνολογίας Πρόγραμμα Σπουδών ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΞΕΙΔΙΚΕΥΣΗ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Θεματική Ενότητα ΕΞΕΙΔΙΚΕΥΣΕΙΣ ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ Τόμος Γ Σύγχρονες Μέθοδοι Προγραμματισμού Συγγραφή ΣΠΥΡΙΔΩΝ ΣΙΟΥΤΑΣ Αναπληρωτής Καθηγητής Ιονίου Πανεπιστημίου ΙΩΑΝΝΗΣ ΤΖΗΜΑΣ Επίκουρος Καθηγητής ΤΕΙ Δυτικής Ελλάδας ΙΩΑΝΝΗΣ ΚΑΡΥΔΗΣ Διδάσκων (Π.Δ. 407/80) στο Ιόνιο Πανεπιστήμιο Κριτική Ανάγνωση ΕΥΑΓΓΕΛΟΣ ΣΑΚΚΟΠΟΥΛΟΣ Διδάκτωρ Πανεπιστημίου Πατρών Ακαδημαϊκός Υπεύθυνος για την ανάπτυξη του έντυπου διδακτικού υλικού του ΠΣ ΒΑΣΙΛΕΙΟΣ ΒΕΡΥΚΙΟΣ Αναπληρωτής Καθηγητής Ελληνικού Ανοικτού Πανεπιστημίου Συντονιστής για την ανάπτυξη του έντυπου διδακτικού υλικού της ΘΕ ΒΑΣΙΛΕΙΟΣ ΒΕΡΥΚΙΟΣ Αναπληρωτής Καθηγητής Ελληνικού Ανοικτού Πανεπιστημίου Ειδικός στη Μεθοδολογία της Ανοικτής και εξ Αποστάσεως Εκπαίδευσης ΑΔΑΜΑΝΤΙΑ ΣΠΑΝΑΚΑ Γλωσσική Επιμέλεια ΧΑΡΙΚΛΕΙΑ ΠΑΠΑΔΟΠΟΥΛΟΥ Τεχνική Επιμέλεια Καλλιτεχνική Επιμέλεια Σελιδοποίηση ΒΙΒΛΙΟΤΕΧΝΙΑ ΠΑΠΠΑΣ ΦΩΤΙΟΣ - ΔΟΥΒΟΥ ΣΕΒΑΣΤΗ Ο.Ε. ISBN: 978-960-538-982-6 Κωδικός Έκδοσης: ΠΛΣ 60/Γ Copyright 2015 για την Ελλάδα και όλο τον κόσμο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πάροδος Αριστοτέλους 18, 26335 Περιβόλα Πατρών Τηλ.: 2610 367300, Φαξ: 2610 367650 To παρόν έργο πνευματικής ιδιοκτησίας προστατεύεται κατά τις διατάξεις του Ελληνικού Νόμου (Ν. 2121/1993 όπως έχει τροποποιηθεί και ισχύει σήμερα) και τις διεθνείς συμβάσεις περί πνευματικής ιδιοκτησίας. Απαγορεύεται απολύτως η άνευ γραπτής αδείας του εκδότη, κατά οποιονδήποτε τρόπο ή μέσο, αντιγραφή, φωτοανατύπωση και εν γένει αναπαραγωγή, εκμίσθωση ή δανεισμός, μετάφραση, διασκευή, αναμετάδοση στο κοινό σε οποιαδήποτε μορφή (ηλεκτρονική, μηχανική κ.λπ.) και η εν γένει εκμετάλλευση του συνόλου ή μέρους του έργου.

Σχολή Θετικών Επιστημών και Τεχνολογίας Πρόγραμμα Σπουδών ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΞΕΙΔΙΚΕΥΣΗ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Θεματική Ενότητα ΕΞΕΙΔΙΚΕΥΣΕΙΣ ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ Τόμος Γ Σύγχρονες Μέθοδοι Προγραμματισμού ΣΠΥΡΙΔΩΝ ΣΙΟΥΤΑΣ Αναπληρωτής Καθηγητής Ιονίου Πανεπιστημίου ΙΩΑΝΝΗΣ ΤΖΗΜΑΣ Επίκουρος Καθηγητής ΤΕΙ Δυτικής Ελλάδας ΙΩΑΝΝΗΣ ΚΑΡΥΔΗΣ Διδάσκων (Π.Δ. 407/80) στο Ιόνιο Πανεπιστήμιο ΠΑΤΡΑ 2015

Βιογραφικά Ο Σπυρίδων Σιούτας είναι Αναπληρωτής Καθηγητής στο Τμήμα Πληροφορικής του Ιονίου Πανεπιστημίου. Αποφοίτησε από το Τμήμα Μηχανικών Η/Υ και Πληροφορικής της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών το Δεκέμβριο του 1997. Έλαβε Μεταπτυχιακό Δίπλωμα Ειδίκευσης (MPhil) και Διδακτορικό (PhD) από το ίδιο Τμήμα τα έτη 2000 και 2002 αντίστοιχα. Τα ερευνητικά του ενδιαφέροντα εστιάζονται σε Αλγορίθμους Διαχείρισης Μεγάλου Όγκου Δεδομένων τόσο σε κεντρικοποιημένες (centralized) όσο και σε μη κεντρικοποιημένες (decentralized) ή κατανεμημένες (distributed) Βάσεις Δεδομένων. Έχει δημοσιεύσει πάνω από 100 άρθρα σε έγκριτα διεθνή επιστημονικά συνέδρια και περιοδικά και έχει λάβει πάνω από 600 ετεροαναφορές. O Ιωάννης Τζήμας είναι Επίκουρος Καθηγητής στο Τμήμα Μηχανικών Πληροφορικής του ΤΕΙ Δυτικής Ελλάδας. Είναι απόφοιτος του Τμήματος Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής του Πανεπιστημίου Πατρών και διδάκτωρ του ίδιου Τμήματος στον τομέα των Τεχνολογιών Διαδικτύου. Η ερευνητική του δραστηριότητα εστιάζεται στους τομείς των Δικτυοκεντρικών Πληροφοριακών Συστημάτων, των Δικτύων Η/Υ και των εφαρμογών τους, καθώς και των Τεχνολογιών Διαδικτύου, όπου έχει δημοσιεύσει σημαντικό αριθμό άρθρων σε διεθνή επιστημονικά περιοδικά και συνέδρια. Από το 1995 έως σήμερα έχει διατελέσει Τεχνικός Υπεύθυνος του εργαστηρίου Γραφικών, Πολυμέσων και Γεωγραφικών Συστημάτων του Τμήματος Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής του Πανεπιστημίου Πατρών, ενώ παράλληλα από το 1997 έως το 2011 ήταν Τεχνικός Συντονιστής της Ερευνητικής Μονάδας Τεχνολογιών Διαδικτύου και Πολυμέσων του Ερευνητικού Ακαδημαϊκού Ινστιτούτου Τεχνολογίας Υπολογιστών. Με τις παραπάνω ιδιότητες έχει συμμετάσχει στο συντονισμό και στην υλοποίηση ερευνητικών και αναπτυξιακών έργων από το 1995 έως σήμερα. Τέλος, μέχρι τα μέσα του 2013, ήταν επιστημονικός υπεύθυνος του Κέντρου Διαχείρισης Δικτύου του ΤΕΙ Μεσολογγίου. Ο Ιωάννης Καρύδης είναι Διδάσκων (Π.Δ. 407/80) στο Τμήμα Πληροφορικής του Ιονίου Πανεπιστημίου. Έλαβε πτυχίο (BEng in Engineering Science & Technology) από το Brunel University του Ηνωμένου Βασιλείου το 2000, Μεταπτυχιακό Δίπλωμα (MSc in Advanced Methods in Computer Science) από το Queen Mary University του Ηνωμένου Βασιλείου το 2001 και Διδακτορικό Δίπλωμα (Μέθοδοι Εξόρυξης και Ανάκτησης Ακουστικών και Συμβολικών Μουσικών Δεδομένων) από το Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης το 2006. Στη συνέχεια εκπόνησε μεταδιδακτορική μελέτη στις Μουσικές Βάσεις Δεδομένων στο ίδιο πανεπιστήμιο. Κατά το 2013-2014 διετέλεσε ΣΕΠ του ΕΑΠ (ΠΛΣ 60 Εξειδικεύσεις Τεχνολογίας Λογισμικού). Από το Δεκέμβριο του 2014 έως το Μάιο του 2015 εργάστηκε ως μεταδιδάκτορας στο πεδίο της Μουσικής Ανάκτησης Πληροφορίας στο Ινστιτούτο Επεξεργασίας Λόγου. Τα ερευνητικά του ενδιαφέροντα περιλαμβάνουν τις βάσεις δεδομένων ακουστικών σημάτων, την ανάκτηση μουσικής πληροφορίας, την εξόρυξη γνώσης από ακουστικά και συμβολικά ηχητικά δεδομένα και την πολιτιστική πληροφορική. Το 2013 συνιδρύει και έκτοτε είναι διαχειριστής της Creative Web Applications (www.cwa.gr). Αν θελήσετε να επικοινωνήσετε μαζί του, το e-mail του είναι: karydis@ionio.gr.

Περιεχόμενα Πρόλογος...17 ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στις τεχνολογίες του παγκόσμιου ιστού Σπ. Σιούτας Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...19 1.1 HTML...21 1.1.1 Ιστορική αναδρομή HTML...21 1.1.2 DTD και HTML...27 1.1.3 Ανάλυση για τα μέρη των ετικετών...29 1.1.4 Ετικέτα κεφαλίδας «<head/>»...31 1.1.5 Ετικέτα <head> και μηχανές αναζήτησης...32 1.1.6 Ετικέτα κεφαλίδας περιεχομένου «<h1>, <h2>, <h3>, <h4>, <h5>, <h6>»...33 1.1.7 Ετικέτα παραγράφου «<p>»...34 1.1.8 Ετικέτα λίστας «<ul>, <ol>, <li>»...35 1.1.9 Εικόνες και «<img/>»...36 1.1.10 Μορφότυποι εικόνων Μεγέθη...37 1.1.11 Ετικέτα υπερσυνδέσμων «<a>»...37 1.1.12 Ετικέτα δημιουργίας φόρμας «<form>, <input>, <select>»...39 1.1.13 Ετικέτα περιεχομένου «<div>»...41 1.1.14 Ετικέτα για την εισαγωγή κώδικα JavaScript «<script>»...46 1.1.15 Υποστηριζόμενες τεχνολογίες...46 1.2 HTML5 Ετικέτες Χαρακτηριστικά...48 1.2.1 Ετικέτα Canvas και SVG...48 1.2.2 Ετικέτες πολυμέσων...50

8 ΣΥΓΧΡΟΝΕΣ ΜΕΘΟΔΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 1.3 CSS Style...53 1.3.1 Στοιχεία του CSS3...56 1.4 XML XQuery XPath...65 1.4.1 Βασική σύνταξη XML εγγράφων...65 1.4.2 XQuery...67 1.4.3 XPath...70 Σύνοψη...73 Λίστα Ελέγχου Γνώσεων...73 Ευρετήριο Όρων...74 Γλωσσάρι...75 Βιβλιογραφία...76 Οδηγός για Περαιτέρω Μελέτη...77 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...78 Απαντήσεις Δραστηριοτήτων...80 Κατάλογος εικόνων...87 Κατάλογος πινάκων...88 ΚΕΦΑΛΑΙΟ 2 Τεχνολογίες scripting προγραμματισμού στον ιστό Σπ. Σιούτας Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...89 2.1 Αίτημα και απάντηση ιστοσελίδας (web request & response)...91 2.2 HTML DOM...93 2.3 JavaScript jquery...95 2.3.1 jquery βιβλιοθήκη...96 2.3.2 jquery: Χρησιμοποιώντας τα βασικά εργαλεία...99 2.3.3 jquery: Επιλέγοντας στοιχεία...101

ΠΕΡΙΕΧΟΜΕΝΑ 9 2.3.4 jquery: Διαμορφώνοντας στοιχεία...102 2.3.5 jquery: Επεξεργασία κανόνων CSS...106 2.3.6 jquery: Χειρισμός συμβάντων...108 2.3.7 jquery: Επεξεργασία εφέ...110 2.3.8 jquery: Ενσωματώνοντας νέα εργαλεία για τη βιβλιοθήκη...113 2.4 JSON...115 2.5 AJAX...117 2.5.1 AJAX κλήσεις με τη βοήθεια της jquery...120 Σύνοψη...130 Λίστα Ελέγχου Γνώσεων...130 Ευρετήριο Όρων...131 Γλωσσάρι...131 Βιβλιογραφία...132 Οδηγός για Περαιτέρω Μελέτη...132 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...133 Απαντήσεις Δραστηριοτήτων...135 Κατάλογος εικόνων...139 Κατάλογος πινάκων...139 K ΕΦΑΛΑΙΟ 3 Εισαγωγή στον προγραμματισμό με τη γλώσσα Python Ι. Τζήμας Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...141 3.1 Βασικοί τύποι δεδομένων...143 3.1.1 Αριθμοί Numbers...143 3.1.2 Συμβολοσειρές Strings...146 3.1.3 Λίστες (Lists)...152

10 ΣΥΓΧΡΟΝΕΣ ΜΕΘΟΔΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 3.1.4 Πλειάδες (Tuples)...155 3.1.5 Σύνολα (Sets)...157 3.1.6 Λεξικά (Dictionaries)...159 3.1.7 None...161 3.1.8 Λογικοί τύποι (Booleans)...162 3.2 Έλεγχος ροής...164 3.2.1 Εντολές και μπλοκ...164 3.2.2 Συνθήκες και λογικές εκφράσεις...165 3.2.3 Η εντολή if...167 3.2.4 Εντολές επανάληψης...170 3.2.5 Η συνάρτηση range...171 3.2.6 Τεχνικές επανάληψης...172 3.2.7 Οι εντολές break και continue...175 3.2.8 Η εντολή pass...177 3.2.9 H εντολή else σε βρόχους επανάληψης...177 3.3 Συναρτήσεις...180 3.3.1 Παράδειγμα συνάρτησης...180 3.3.2 Ορίσματα συνάρτησης...181 3.3.3 Τοπικές και καθολικές μεταβλητές...182 3.3.4 Προεπιλεγμένες τιμές ορισμάτων...183 3.3.5 Λέξεις-κλειδιά ορισμάτων...184 3.3.6 Μεταβλητό πλήθος ορισμάτων...184 3.3.7 Η εντολή return...186 3.3.8 DocStrings...186 3.4 Κλάσεις...188 3.4.1 Ορισμός κλάσης...189 3.4.2 Μέθοδοι...189

ΠΕΡΙΕΧΟΜΕΝΑ 11 3.4.3 Η μέθοδος init...191 3.4.4 Χαρακτηριστικά και στατικές μέθοδοι...193 3.4.5 Κληρονομικότητα...197 3.4.6 Ενθυλάκωση...202 3.4.7 Πολυμορφισμός...205 3.5 Αρχεία...208 3.5.1 Ανάγνωση αρχείου κειμένου...208 3.5.2 Εγγραφή σε αρχείο κειμένου...212 3.5.3 Δυαδικά (Binary) αρχεία...214 3.5.4 Συμπιεσμένα αρχεία...214 Σύνοψη...216 Λίστα Ελέγχου Γνώσεων...216 Ευρετήριο Όρων...217 Γλωσσάρι...221 Βιβλιογραφία...225 Οδηγός για Περαιτέρω Μελέτη...226 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...227 Απαντήσεις Δραστηριοτήτων...237 Κατάλογος πινάκων...250 K ΕΦΑΛΑΙΟ 4 Εισαγωγή στον προγραμματισμό με τη γλώσσα Ruby Ι. Τζήμας Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...251 4.1 Βασικοί τύποι δεδομένων...253 4.1.1 Μεταβλητές Variables...253 4.1.2 Αριθμοί Numbers...254

12 ΣΥΓΧΡΟΝΕΣ ΜΕΘΟΔΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 4.1.3 Σταθερές Constants...257 4.1.4 Συμβολοσειρές Strings...258 4.1.5 Πίνακες (Arrays)...264 4.1.6 Δομές κατακερματισμού (Hashes)...267 4.2 Έλεγχος ροής...271 4.2.1 Η εντολή if...271 4.2.2 Επιστρεφόμενη τιμή...273 4.2.3 Η εντολή case...274 4.2.4 Η εντολή επανάληψης while...276 4.2.5 Οι εντολές unless και until...277 4.2.6 Η μέθοδος loop...278 4.2.7 Η εντολή επανάληψης for...279 4.2.8 Εκτέλεση πριν και μετά το πρόγραμμα...280 4.3 Μέθοδοι...281 4.3.1 Ορισμός...281 4.3.2 Επιστρεφόμενες τιμές...281 4.3.3 Ορίσματα...282 4.3.4 Μπλοκ...284 4.4 Κλάσεις...286 4.4.1 Βασικά χαρακτηριστικά αντικειμενοστρέφειας...288 4.4.2 Μέθοδοι κλάσης και μέθοδοι αντικειμένου...292 4.4.3 Κληρονομικότητα...292 4.4.4 Υπερσκέλιση μεθόδων...294 4.4.5 Ενθυλάκωση...295 4.4.6 Πολυμορφισμός...297 4.4.7 Εμφωλευμένες κλάσεις...298

ΠΕΡΙΕΧΟΜΕΝΑ 13 4.5 Αρχεία...300 4.5.1 Ανάγνωση από αρχείο...301 4.5.2 Εγγραφή σε αρχείο...303 4.5.3 Κωδικοποιήσεις...305 4.5.4 Λειτουργίες αρχείων...306 Σύνοψη...310 Λίστα Ελέγχου Γνώσεων...311 Ευρετήριο Όρων...312 Γλωσσάρι...315 Βιβλιογραφία...319 Οδηγός για Περαιτέρω Μελέτη...320 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...321 Απαντήσεις Δραστηριοτήτων...327 Κατάλογος πινάκων...332 ΚΕΦΑΛΑΙΟ 5 Εισαγωγή στις τεχνολογίες παγκόσμιου ιστού στον εξυπηρετητή με τη γλώσσα Ruby και το πλαίσιο Rails Ι. Καρύδης Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...333 5.1 Γενικά...337 5.2 Ιστορικά στοιχεία...338 5.3 Εγκατάσταση του πλαισίου Rails...339 5.4 Δημιουργία σκελετού εφαρμογής και εκκίνηση του πλαισίου Rails...341 5.4.1 hello, world...344 5.5 Αρχιτεκτονική Μοντέλο Όψη Ελεγκτής...346

14 ΣΥΓΧΡΟΝΕΣ ΜΕΘΟΔΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 5.6 Διασύνδεση με βάση δεδομένων...348 5.6.1 Συμβάσεις προτύπου ενεργών εγγραφών στο Rails...348 5.6.2 Δημιουργία και υπερφόρτωση μοντέλων προτύπου ενεργών εγγραφών...349 5.7 Επιτάχυνση ανάπτυξης...352 5.8 Φόρμες και επικύρωση...355 5.8.1 Ανταλλαγή πληροφορίας με φόρμες...355 5.8.2 Επικύρωση πληροφορίας στις φόρμες...360 5.9 Προηγμένα θέματα στο Rails...365 5.9.1 Eμφωλεύοντας συνδεδεμένα μοντέλα...365 5.9.2 Rails και JavaScript/AJAX...372 5.9.3 Θέματα ασφάλειας στο Rails...375 Σύνοψη...382 Λίστα Ελέγχου Γνώσεων...383 Ευρετήριο Όρων...384 Γλωσσάρι...385 Βιβλιογραφία...388 Οδηγός για Περαιτέρω Μελέτη...391 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...393 Απαντήσεις Δραστηριοτήτων...398 Κατάλογος εικόνων...400 Κατάλογος πινάκων...401 ΠΑΡΑΡΤΗΜΑ Εγκατάσταση συστήματος διαχείρισης εικονικών υπολογιστών...402 Εγκατάσταση Ubuntu 12.04 LTS στον εικονικό υπολογιστή...403 Εγκατάσταση της Ruby στον εικονικό υπολογιστή...411

ΠΕΡΙΕΧΟΜΕΝΑ 15 ΚΕΦΑΛΑΙΟ 6 Τεχνολογίες του προηγμένου προγραμματισμού ιστού Ι. Καρύδης Σκοπός, Προσδοκώμενα Αποτελέσματα, Έννοιες-Κλειδιά, Εισαγωγικές Παρατηρήσεις...413 6.1 Διαχείριση εκδόσεων στον προγραμματισμό...415 6.1.1 Το σύστημα Git...415 6.1.2 Το σύστημα Subversion...422 6.2 Συνεδρίες (Sessions)...427 6.3 Δοκιμάζοντας την απόδοση των εφαρμογών...431 6.4 Διάθεση προτυποποιημένης πληροφορίας κατά RSS...435 6.5 Βασικές αρχές API προγραμματισμού ιστού...440 6.6 Η Python στο διαδικτυακό προγραμματισμό...445 Σύνοψη...449 Λίστα Ελέγχου Γνώσεων...450 Ευρετήριο Όρων...451 Γλωσσάρι...452 Βιβλιογραφία...454 Οδηγός για Περαιτέρω Μελέτη...455 Απαντήσεις σε Ασκήσεις Αυτοαξιολόγησης...457 Απαντήσεις Δραστηριοτήτων...462 Κατάλογος εικόνων...464 Κατάλογος πινάκων...464