3747 Τεχνολογίες και Προγραμματισμός Εφαρμογών στον Ιστό
Μάθημα Επιλογής, Ζ’ εξάμηνο, 6 μονάδες ECTS
Διδάσκων: Μέλος ΕΔΙΠ Δρ. Βασίλειος Ζαφείρης
URL: https://eclass.aueb.gr/courses/INF165/
Περιεχόμενο
Εφαρμογές στον Ιστό: απαιτήσεις και ιδιαιτερότητες. Αρχιτεκτονική εφαρμογών στον Ιστό: αρχιτεκτονική τριών επιπέδων, οι ρόλοι κάθε επιπέδου. Προγραμματισμός πελάτη εφαρμογών, προγραμματισμός στο φυλλομετρητή. γλώσσες επισημείωσης: HTML, XML. Γλώσσες προγραμματισμού εμφάνισης περιεχομένου εφαρμογών: CSS, XSL. Γλώσσες προγραμματισμού συμπεριφοράς εφαρμογών: Javascript. Aντικειμενοστρεφής και συναρτησιακός προγραμματισμός στη Javascript. Προγραμματισμός οδηγούμενος από συμβάντα. Ασύγχρονη επικοινωνία μέσω AJAX. Γλώσσες προγραμματισμού εξυπηρετητή: PHP/Ruby. Τεχνολογίες αλληλεπίδρασης πελάτη-εξυπηρετητή. Ασφάλεια εφαρμογών Ιστού, επιθέσεις και τεχνικές αντιμετώπισης. Ορθές πρακτικές ασφάλειας εφαρμογών. Τεχνολογία Λογισμικού Ιστού, Προγραμματιστικά πρότυπα, το πρότυπο Μοντέλο/Προβολή/Ελεγκτής, το μοντέλο REST. Τεχνολογία εφαρμογών για αύξηση επίδοσης, χρήση μνήμης προσωρινής αποθήκευσης (caching), εξισορρόπηση φορτίου. H χρήση υπηρεσιών Ιστού για ανάπτυξη εφαρμογών, τα μοντέλα SAAS, PAAS και ΙΑΑS προγραμματισμού στο Σύννεφο (Cloud computing).
Μαθησιακά Αποτελέσματα
Μετά την επιτυχή ολοκλήρωση του μαθήματος, οι φοιτητές θα είναι σε θέση:
- Να κατανοήσουν τις ιδιαιτερότήτες του προγραμματισμού στον Ιστό.
- Να προγραμματίζουν χρησιμοποιώντας τεχνικές διατήρησης κατάστασης (state) σε εφαρμογές Ιστού πάνω από HTTP.
- Να κατανοήσουν γλώσσες διαχείρισης περιεχομένου (XML, CSS).
- Να προγραμματίζουν σε γλώσσες προγραμματισμού πελάτη (JavaScript, Ajax, XSLT).
- Να προγραμματίζουν σε γλώσσες εξυπηρετητή (php).
- Να κατανοήσουν μοντέλα ανάπτυξης εφαρμογών στον Ιστό (REST, client-server, Model-View-Controller).
Προαπαιτούμενα Μαθήματα
Για να εγγραφεί στο μάθημα, ο φοιτητής πρέπει να έχει εξεταστεί επιτυχώς σε προηγούμενο εξάμηνο είτε στο μάθημα «Προγραμματισμός Υπολογιστών με JAVA» είτε στο μάθημα «Εισαγωγή στον Προγραμματισμό Υπολογιστών». Όμως, συνιστάται στους φοιτητές να έχουν εξεταστεί επιτυχώς και στα δύο αυτά μαθήματα καθώς και στο μάθημα «Βάσεις Δεδομένων».
Συνιστώμενη Βιβλιογραφία
- Ανάπτυξη Web Εφαρμογών με PHP και MySQL, Συγγραφέας: Welling, Luke, Thomson, Laura, Εκδόσεις Γκιούρδας, 2005
- Προγραμματισμός για το Web, Τίτλος πρωτοτύπου: Fundamentals of Web Development, Συγγραφείς: Randy Connolly, Ricardo Hoar, Εκδόσεις: Γκιούρδας, 2015
- Beginning HTML with CSS and XHTML, Συγγραφείς: Schultz, David, και Cook, Craig. , ISBN: 9781430203506
- HTML and CSS (Design and Build Web sites), Συγγραφέας: Duckett, Jon, Εκδόσεις Wiley and Sons, ISBN: 9781118008188, Free code samples: http://www.htmlandcssbook.com/code-samples/
- ppk on Javascript, Συγγραφέας: Peter Paul Koch, Εκδόσεις New Riders
Διδακτικές και Μαθησιακές Μέθοδοι
Διαλέξεις (2 διαλέξεις των 2 ωρών εβδομαδιαίως), εργαστήρια (συνολικά 4 εργαστήρια (HTML/CSS, Javascript, AJAX, PHP)) και προγραμματιστικές ασκήσεις ανά εργαστήριο που υλοποιούνται κατ’ οίκον (3 εργασίες).
Μέθοδοι Αξιολόγησης/Βαθμολόγησης
Ο τελικός βαθμός ισούται με άθροισμα των βαθμών της γραπτής τελικής εξέτασης με βαρύτητα 70% και των ασκήσεων με βαρύτητα 30%. Ο τελικός βαθμός θα ισούται μόνο με τον βαθμό της γραπτής τελικής εξέτασης (ο οποίος θα είναι μικρότερος του 5), αν αυτός είναι κάτω από 5.