Μαθησιακοί στόχοι

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

Βασικός στόχος είναι η σχεδίαση και ανάπτυξη συστημάτων και δυναμικών εφαρμογών του παγκόσμιου ιστού αλλά και του διαδικτύου γενικότερα όπου ένα σημαντικό τους μέρος εκτελείται server-side.

Oι φοιτητές θα αποκτήσουν την απαραίτητη γνώση για την ανάπτυξη προηγμένων εφαρμογών ιστού με τη άμεση χρήση γλωσσών προγραμματισμού όπως η PHP.

Επίσης στόχος είναι να γίνει κατανόηση των μεθόδων σχετικά με την ανάπτυξη Web 2.0+ συστημάτων και εφαρμογών καθώς και προηγμένων αρχιτεκτονικών για την ανάπτυξη διαδικτυακών συστημάτων και εφαρμογών (API, Service Oriented Architectures).

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

Έτσι, θα είναι σε θέση να:

  1. Εξηγούν αρχιτεκτονικές για την ανάπτυξη διαδικτυακών συστημάτων και εφαρμογών (client-server), βασικά συστατικά στοιχεία υποδομής για τις εφαρμογές ιστού (web servers) και θεμελιώδεις έννοιες για την ανάπτυξη διαδικτυακών συστημάτων (state, session, application, request, response).
  2. Κατασκευάζουν εφαρμογές και συστήματα που απαιτούν Client side προγραμματισμό αξιοποιώντας τεχνολογίες και γλώσσες: HTML5, CSS, Javascript, JQuery, bootstrap.
  3. Κατασκευάζουν δυναμικές εφαρμογές και συστήματα που απαιτούν Server Side προγραμματισμό με χρήση της γλώσσας προγραμματισμού PHP.
  4. Να διασυνδέσουν την εφαρμογή τους με βάσεις δεδομένων MySQL και να διατηρούν την ασφάλεια της εφαρμογής του σε υψηλά επίπεδα (αποφυγή SQL Injections κ.ά.)
  5. Να κατασκευάζουν RESTful web APIs που επιστρέφουν αποτελέσματα σε μορφή JSON ή XML.
  6. Να αναπτύσσουν ανεξάρτητα το front end τμήμα και το back end τμήμα της εφαρμογής χρησιμοποιώντας το μοντέλο MVC (Model-View-Controler) και να χρησιμοποιούν api για την επικοινωνία των τμημάτων της εφαρμογής καθώς και κλήσεις AJAX για ασύγχρονη επικοινωνία. Να δημιουργούν και να διαχειρίζονται περιεχόμενο σε μορφή JSON και XML/DTD.
  7. Να αναπτύσσουν συνεργατικά την εφαρμογή τους χρησιμοποιώντας (Distributed) Version Control Systems (D-VCS, π.χ. git-github).
  8. Να αναπτύσσουν δυναμικές εφαρμογές ιστού χρησιμοποιώντας frameworks (π.χ. laravel) και συστήματα διαχείρισης περιεχομένου (CMS Joomla, wordpress, Drupal).

Γενικές Ικανότητες

Με την ολοκλήρωση του μαθήματος ο φοιτητής έχει αποκομίσει τις παρακάτω γνώσεις και ικανότητες:

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

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

  1. Ανασκόπηση του WWW, Ιστορική αναδρομή, Εξυπηρετητές ιστού, URLs, Το μοντέλο πελάτη-εξυπηρετητή στο WWW.
  2. Ανασκόπηση στις τεχνολογίες και τις γλώσσες για client side (HTML, CSS, Javascript, DOM, bootstrap).
  3. Εισαγωγή στην PHP (εντολές ελέγχου, επανάληψης, συναρτήσεις, φόρμες, get, post, sessions, cookies)
  4. PHP και MySQL (H βιβλιοθήκη MySQLI, PDO. Σύνδεση με βάση δεδομένων, εκτέλεση SQL DML και DDL από κώδικα PHP, SQL Injections και prepared statements)
  5. Το πρωτόκολλο http.
  6. Η γλώσσα JSON και η γλώσσα XML. Επικύρωση XML μέσω DTD.
  7. Ασύγχρονη επικοινωνία server – client μέσω AJAX. Ενημέρωση ιστοσελίδας χωρίς επαναφόρτωση.
  8. H βιβλιοθήκη JQUERY.
  9. Υπηρεσίες ιστού (web services), Web APIs, REST APIs. Ανεξάρτητη ανάπτυξη του front-end και του back-end. Επικοινωνία μέσω API.
  10. Versioning Control Systems (VCS). Συνεργατική ανάπτυξη διαδικτυακής εφαρμογής, χρήση του git.
  11. PHP frameworks και Συστήματα διαχείρισης περιεχομένου (CMS).

Βιβλία

  1. Σημειώσεις και υλικό μπορείτε να βρείτε στον παρόντα ιστότοπο.
  2. Στον εύδοξο, θα πρέπει να επιλέξετε Βιβλίο Θεωρίας μεταξύ των:
    1. Προγραμματισμός για το Web, 1η εκδ., Κωδικός Βιβλίου στον Εύδοξο: 50661201, ISBN: 978-960-512-6902
    2. Προγραμματισμός Internet & World Wide Web 4η Έκδοση, Κωδικός Βιβλίου στον Εύδοξο: 12543770, ISBN: 978-960-512-612-4
    3. Μάθετε PHP, MySQL και Apache Όλα σε Ένα, 5η Έκδοση, Κωδικός Βιβλίου στον Εύδοξο: 41960260, ISBN: 978-960-512-6551
    4. Μάθετε Ajax, Javascript και PHP,Όλα σε ένα, Κωδικός Βιβλίου στον Εύδοξο: 12308, ISBN: 978-960-512-562-2
    Σχόλια για τα βιβλία:

    Από τα παραπάνω, τα 2 πρώτα είναι περισσότερο γενικά (και προτείνονται) ενώ τα 3 & 4 καλύπτουν μικρότερη ύλη.

Βιβλιογραφία

  1. Ελληνική
    1. Ανάπτυξη Web Εφαρμογών με PHP και MySQL. Welling, Luke, Thomson, Laura
  2. Διεθνής
    1. PHP and MySQL Web Development (4th Edition) [Paperback]. Luke Welling (Author), Laura Thomson (Author)
    2. Introducing .NET 4.0: With Visual Studio 2010 (Expert's Voice in .NET) [Paperback]. Alex Mackey (Author)
    3. Pro C# 2010 and the .NET 4 Platform [Paperback]. Andrew Troelsen (Author)
    4. Using Joomla: Building Powerful and Efficient Web Sites [Paperback]. Ron Severdia (Author)
    5. jQuery in Action [Paperback]. Bear Bibeault (Author), Yehuda Katz (Author).
    6. Microsoft ADO.NET 4 Step by Step (Step By Step (Microsoft)) [Paperback]. Tim Patrick (Author)