Παράλειψη σε κυρίως περιεχόμενο.

Aνάπτυξη διαδικτυακών εφαρμογών με node.js (Ε)

Ευχαριστίες


Η δημιουργία του παρόντος μαθήματος στηρίχθηκε σε δωρεά της Επιτροπής Κληροδοτήματος της Παγκρητικής Ενώσεως Αμερικής. Εκφράζουμε την ευγνωμοσύνη μας προς την Επιτροπή Κληροδοτήματος της Παγκρητικής Ενώσεως Αμερικής για τη γενναιόδωρη υποστήριξή της στο έργο και τον σκοπό του Mathesis.

Περιγραφή μαθήματος

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

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

Στις δύο πρώτες εβδομάδες, θα καλύψουμε αρχικά τη Node.js -το περιβάλλον εκτέλεσης εφαρμογών JavaScript που θα χρησιμοποιήσουμε- και, στη συνέχεια, το Express.js, πάνω στο οποίο θα στηριχτούμε για την ανάπτυξη της εφαρμογής μας.

Την τρίτη εβδομάδα, η εφαρμογή μας θα επικοινωνήσει με τη σχεσιακή βάση δεδομένων Postgres, χρησιμοποιώντας το Sequelize.

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

Αυτό είναι το τρίτο μιας σειράς μαθημάτων για τον προγραμματισμό διαδικτυακών εφαρμογών που προσφέρονται από το Mathesis. Βασική προϋπόθεση συμμετοχής είναι η γνώση της JavaScript και των τεχνολογιών HTML/CSS και Bootstrap. Το μάθημα με αντικείμενο "Ανάπτυξη διαδικτυακών εφαρμογών με Flask" καλύπτει παρόμοια ζητήματα, βασίζεται όμως στην Python αντί για την JavaScript.

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

Διδάσκοντες

Χρήστος Σιντόρης

Ο Χρήστος Σιντόρης είναι Ε.ΔΙ.Π. στο Πανεπιστήμιο Πατρών. Η πρώτη επαγγελματική επαφή του με τις τεχνολογίες του διαδικτύου ξεκίνησε το 1999, ενώ, στη συνέχεια, ως συνεργάτης του Ινστιτούτου Τεχνολογίας Υπολογιστών συμμετείχε στην ανάπτυξη μιας σειράς διαδικτυακών συστημάτων. Είναι μέλος της ερευνητικής ομάδας Αλληλεπίδρασης Ανθρώπου-Υπολογιστή και το ερευνητικό του ενδιαφέρον περιστρέφεται γύρω από τις διαδραστικές τεχνολογίες. Οι εκπαιδευτικές του δραστηριότητες στο Πανεπιστήμιο Πατρών αφορούν σχεδόν αποκλειστικά τον προγραμματισμό υπολογιστών (Web, C, Python, Java, βάσεις δεδομένων) και την αλληλεπίδραση ανθρώπου-υπολογιστή.

Νίκος Αβούρης

O Νίκος Αβούρης είναι καθηγητής στο Πανεπιστήμιο Πατρών και στο Ελληνικό Ανοικτό Πανεπιστήμιο. Διαθέτει εμπειρία άνω των 30 ετών στη διδασκαλία και την έρευνα σε θέματα πληροφορικής και τεχνολογίας υπολογιστών. Κύριο ερευνητικό του ενδιαφέρον είναι η Αλληλεπίδραση Ανθρώπου-Υπολογιστή. Διδάσκει «Βάσεις Δεδομένων», «Προγραμματισμό με την Python» και «Προγραμματισμό Διαδικτύου» στην Πολυτεχνική Σχολή του Πανεπιστημίου Πατρών. Έχει συγγράψει βιβλία σε ποικίλα θέματα υπολογιστών και πληροφορικής και έχει δημοσιεύσει εκτενώς στο ερευνητικό πεδίο των διαδραστικών τεχνολογιών. Το τελευταίο βιβλίο του με τίτλο Python: Εισαγωγή στους Υπολογιστές κυκλοφορεί από τις Πανεπιστημιακές Εκδόσεις Κρήτης.

Eθελοντές βοηθοί μαθήματος:

Αλέκος Παπαδόπουλος (AlekosPap), Βαγγέλης Σκαρμούτσος (SkarmoutsosV), Ξενοφών Στρατάκης (virxen75), Χρήστος Τσόλκας (chrtsolkas)

Συντελεστές

Βιντεοσκόπηση/Μοντάζ: Χρήστος Σιντόρης, Νίκος Αβούρης
Προγραμματισμός ασκήσεων: Έλενα Κολλάτου, Νίκος Γκικόπουλος

Η βιντεοσκόπηση έγινε το καλοκαίρι του 2022.

Το εικονίδιο απεικονίζει τα κυριότερα "εργαλεία" του μαθήματος και είναι μία σύνθεση του Νίκου Βαρδάκη.

Αξιολόγηση του μαθήματος από τους φοιτητές του

Κατά την πρώτη φορά που προσφέρθηκε το μάθημα, οι φοιτητές του (85 απαντήσεις) το αξιολόγησαν από τα ερωτηματολόγια εξόδου ως εξής:

Είστε ικανοποιημένος απ' αυτό που μάθατε σε σχέση μ' αυτό που περιμένατε;

Πολύ ικανοποιημένος: 39%
Ικανοποιημένος: 44%
Λίγο ικανοποιημένος: 14%
Καθόλου ικανοποιημένος: 3%

Έγραψαν για το μάθημα

Όπως πάντα, ένα ακόμη υπέροχο μάθημα. Το προηγούμενο μάθημα «Εισαγωγή στην ανάπτυξη διαδικτυακών εφαρμογών με Flask», βασιζόταν σε Python, Flask, virtualenv, WTForms, Jinja, SQLAlchemy και SQLite. Το παρόν μάθημα «Aνάπτυξη διαδικτυακών εφαρμογών με node.js» βασιζόταν σε Node.js (Javascript), Express, Handlebars, Sequelize, SQLite και PostgreSQL. Τα δύο αυτά μαθήματα, αν και χρησιμοποιούν διαφορετικά εργαλεία, καλύπτουν ουσιαστικά το ίδιο θέμα, δηλαδή τη δημιουργία μιας αξιόλογης και ασφαλούς εφαρμογής ιστού. Ο συνδυασμός των δύο αυτών μαθημάτων, αλλά και το καθένα ξεχωριστά, μου πρόσφερε πολύτιμες γνώσεις ώστε να είμαι σε θέση αντιληφθώ καλύτερα κάποια σημαντικά στοιχεία των εφαρμογών ιστού, όπως τη διαχείριση χρηστών με κρυπτογράφηση του συνθηματικού τους, τη χρήση ORM και τα οφέλη που προσφέρει τόσο στην ασφάλεια όσο και στην ευκολία μετάβασης σε διαφορετική βάση δεδομένων, τις διαδικασίες deployment και πολλά άλλα.
-Βαγγέλης Σ.


Εξαιρετικό μάθημα. Φυσική συνέχεια των δύο προηγούμενων μαθημάτων εισαγωγής στην ανάπτυξη ιστοσελίδων και του μαθήματος προχωρημένων θεμάτων ανάπτυξης ιστοσελίδων. Το παρόν μάθημα node.js θα το χαρακτήριζα σαν εργαλείο για ανάπτυξη μιας ολοκληρωμένης web εφαρμογής, με Βάση Δεδομένων, το Sequelize ORM, την πολύ καλή template engine Handlebars, το Bootstrap κλπ. Πολύ σημαντική και η τελική εργασία, αφού θα έπρεπε να εφαρμόσεις όλα όσα έμαθες στο μάθημα. Πολλές ευχαριστίες στους καθηγητές κυρίους Αβούρη και Σιντόρη και στο Mathesis.
-Γιάννης Β.


Παρακολουθώντας το μάθημα, απέκτησα μια σφαιρική άποψη για την ανάπτυξη σύγχρονων web εφαρμογών. Η τελική εργασία μού έδωσε την ευκαιρία να δοκιμάσω (hands on) τις γνώσεις μου στα εργαλεία που διδαχθήκαμε και να υλοποιήσω μια ιδέα που είχα από καιρό στο νου μου: να υλοποιήσω ένα «ιδιωματικό λεξικό» που αφορά την ντοπιολαλιά του χωριού μου.
-Νίκος Σ.




Bασικές πληροφορίες, αν αυτό είναι το πρώτο σας μάθημα!


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

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

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

Τα μαθήματα του Mathesis προσφέρονται δωρεάν και έτσι θα συνεχίσουν. Μπορείτε να τα παρακολουθήσετε μέχρι τέλους και να συμμετάσχετε στα εβδομαδιαία τεστ και την τελική εξέταση. Εάν επιθυμείτε τη βεβαίωση επιτυχούς παρακολούθησης, θα σας ζητείται όμως ένα μικρό αντίτιμο –της τάξης των 30€– για την έκδοσή της, μετά την υποβολή της τελικής σας εξέτασης. Εάν δεν υποβάλετε την τελική σας εξέταση –ή αν την υποβάλετε, αλλά δεν περάσετε το μάθημα– δεν υπάρχει κάποια υποχρέωση πληρωμής. Για τους ανέργους η βεβαίωση χορηγείται δωρεάν.

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

  1. Κωδικός Μαθήματος

    ΗΥ3.3
  2. Έναρξη Μαθήματος

    7/10/2024
  3. Προσπάθεια

    60 ώρες
  4. Διάρκεια

    4 εβδομάδες
  5. Παρακολούθηση

    Δωρεάν
  6. Κόστος Βεβαίωσης

    30€
Enroll