Προγραμματισμός πλήρους στοίβας στον Παγκόσμιο Ιστό

Course ID
ΠΜΣ02
Κατεύθυνση
Εξάμηνο
Χειμερινό
Τύπος
Υποχρεωτικό 1ης κατεύθ.

Μαθησιακά Αποτελέσματα

Στόχος του μαθήματος είναι να παρέχει στους μεταπτυχιακούς φοιτητές τις βάσεις και την πρακτική εμπειρία για τη σχεδίαση και ανάπτυξη εφαρμογών στον Παγκόσμιο Ιστό. Η εστίαση είναι τόσο στις τεχνολογίες ανάπτυξης στην πλευρά του εξυπηρετητή όσο και στην πλευρά του πελάτη, καλύπτοντας όλο το φάσμα των τεχνολογιών, πρωτοκόλλων, μοτίβων και συστημάτων που μεσολαβούν. Με το πέρας του μαθήματος, οι φοιτητές αναμένεται να είναι σε θέση να

  • κατανοήσουν με ελάχιστο κόπο οποιαδήποτε τεχνολογία, σχεδιαστικό μοτίβο, πρωτόκολλο, εργαλείο, γλώσσα προγραμματισμού ή εφαρμογή στο Web
  • σχεδιάζουν εφαρμογές με βάση το πλαίσιο MVC ή παρόμοια
  • υλοποιήσουν δυναμικές εφαρμογές χρησιμοποιώντας Javascript και NodeJS

Περιεχόμενο Μαθήματος

Το μάθημα επενδύει ιδιαίτερα στο κομμάτι της πρακτικής εξάσκησης, δίνοντας έμφαση στην υλοποίηση ασκήσεων και παραδειγμάτων από κοινού με το διδακτικό προσωπικό στο εργαστήριο. Μία ολοκληρωμένη εφαρμογή στον Παγκόσμιο Ιστό ζητείται ως εργασία ενώ η εξέταση βασίζεται σε πρακτικά θέματα κατανόησης και όχι σε απομνημόνευση. Οι βασικές ενότητες στις οποίες δομείται το περιεχόμενο του μαθήματος είναι οι ακόλουθες:
Ενότητα 1: Βασικές έννοιες παγκόσμιου ιστού. Το πρωτόκολλο HTTP.
Ενότητα 2: Προγραμματισμός από την πλευρά του πελάτη. Η γλώσσα προγραμματισμού Javascript. Προγραμματισμός με συμβάντα. Το μοντέλο αντικειμένων εγγράφου (DOM).
Ενότητα 3: Προγραμματισμός από την πλευρά του εξυπηρετητή. Μοντέλα προγραμματισμού, REST
Ενότητα 4: Εισαγωγή στο NodeJS
Ενότητα 5: Γλώσσες σήμανσης
Ενότητα 6: Υβριδικά μοντέλα προγραμματισμού. Το πλαίσιο Ajax. Αναφορά σε πλαίσια της Javascript για το front-end όπως η JQuery, UI thread και web workers.
Ενότητα 7: NodeJS και NPM. Προηγμένα θέματα: modules, callbacks, promises, async-await, arrow functions, events, websockets
Ενότητα 8: Web Design Patterns
Ενότητα 9: Javascript frameworks: ReactJS
Ενότητα 10: Javascript frameworks: AngularJS
Ενότητα 11: Javascript frameworks: VueJS
Ενότητα 12: Website performance considerations

ΓΕΝΙΚΕΣ ΙΚΑΝΟΤΗΤΕΣ

Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών

 Προσαρμογή σε νέες καταστάσεις

Λήψη αποφάσεων

Αυτόνομη εργασία

Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης

 

ΔΙΔΑΚΤΙΚΕΣ ΚΑΙ ΜΑΘΗΣΙΑΚΕΣ ΜΕΘΟΔΟΙ - ΑΞΙΟΛΟΓΗΣΗ

Τρόπος Παρακολούθησης: Δια ζώσης, Εξ αποστάσεως εκπαίδευση
Χρήση Τεχνολογιων Πληροφορίας και Επικοινωνιών: eclass, estudies

Δραστηριότητα Φόρτος Εργασίας
Εξαμήνου
Παρακολούθηση διαλέξεων 36
Εργαστηριακή Άσκηση 0
Ατομικές ή Ομαδικές Εργασίες 56
Αυτοτελής μελέτη 58
Σύνολο 150

ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

Δύο ατομικές εργασίες που περιλαμβάνουν υλοποίηση εφαρμογών και συστημάτων

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

Marijn Haverbeke, Eloquent JavaScript, 3rd Edition: A Modern Introduction to Programming.
Mario Casciaro and Luciano Mammino, Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques, 3rd Edition.
Randy Connolly and Ricardo Hoar, Fundamentals of Web Development.