Σκοπός

Ο σκοπός του μαθήματος είναι διττός: (α) εξοικείωση με το συντακτικό, τις τεχνικές και τα εργαλεία της γλώσσας προγραμματισμού ανοικτού κώδικα Python και (β) εμβάθυνση σε ζητήματα διαδικτυακού προγραμματισμού, τόσο μέσω του περιβάλλοντος της Python όσο και με χρήση HTML (HyperText Markup Language), CSS (Cascade Style Sheet) και JavaScript, δίνοντας έμφαση στην ανάπτυξη εφαρμογών με MVC (Model View Controller) αρχιτεκτονικές. Ο φοιτητής στο τέλος του μαθήματος θα πρέπει να είναι σε θέση προγραμματίζει ολοκληρωμένες προγραμματιστικές εφαρμογές.

Περίγραμμα

  • Η γλώσσα προγραμματισμού Python (περιβάλλον, συντακτικό, βιβλιοθήκες)

  • Ανάπτυξη εφαρμογών και προτυποποίηση με Python

  • Model View Controller (MVC) αρχιτεκτονικές, αντικειμενοστρέφεια

  • Python και PHP για διαδικτυακό προγραμματισμό

  • XML, HTML, CSS

  • Σχεδιασμός και υλοποίηση Representational State Transfer (REST) APIs


Σκοπός

Σκοπός του μαθήματος είναι οι μεταπτυχιακοί φοιτητές να εξοικειωθούν με τις έννοιες, τις τεχνικές και τα εργαλεία των Βάσεων Δεδομένων, καθώς και να εξασκηθούν σε πραγματικά προβλήματα. Ειδικότεροι στόχοι του μαθήματος είναι οι ακόλουθοι: (α) εκμάθηση των θεμελιωδών στοιχείων των Σχεσιακών Βάσεων Δεδομένων και Συστημάτων Διαχείρισης Βάσεων Δεδομένων (DBMS), (β) σχεδίαση Βάσεων Δεδομένων σύμφωνα με την ανάλυση αναγκών της κάθε συγκεκριμένης εφαρμογής, (γ) υλοποίηση της σχεδίασης σε Σχεσιακό Σύστημα Διαχείρισης Βάσεων (RDBMS), (δ) Διαχείριση Βάσεων Δεδομένων με τη γλώσσα SQL και (ε) εκμάθηση της συνδεσιμότητας εφαρμογών με Βάσεις Δεδομένων

Περίγραμμα

  • Συστήματα Διαχείρισης Βάσεων Δεδομένων (Αρχεία vs DBMS, Πλεονεκτήματα ενός DBMS, Ερωτήματα σε ένα DBMS, Δομή ενός DBMS)

  • Σχεδίαση Βάσεων Δεδομένων (Οντότητες, Χαρακτηριστικά, Συσχετίσεις – Διαγράμματα Οντοτήτων Συσχετίσεων (ER) – Σχεδίαση Εννοιακού Μοντέλου με το Μοντέλο ER)

  • Το Σχεσιακό Μοντέλο (Δημιουργία και τροποποίηση Σχέσεων με SQL,Περιορισμοί ακεραιότητας, Ερωτήματα για Σχεσιακά Δεδομένα, Σχεδίαση Λογικού Μοντέλου: ER to Relational, Κανονικοποίηση)

  • Σχεσιακή Άλγεβρα (Επιλογή και Προβολή, Λειτουργίες Συνόλων, Συζεύξεις)

  • Η γλώσσα Ερωτημάτων SQL (Ερωτήματα SQL, Εμφωλευμένα Ερωτήματα, Συναθροιστικές λειτουργίες, Περιορισμοί ακεραιότητας, Σκανδάλες)

  • Ανάπτυξη Εφαρμογών ΒΔ (Ενσωματωμένη SQL, Δυναμική SQL, Αποθηκευμένες Διαδικασίες, Συνδεσιμότητα Προγραμμάτων με ΒΔ)

  • Αποθήκευση και Ευρετηριοποίηση (Δίσκοι και Αρχεία, Ευρετηριοποίηση δενδροειδούς δομής, Ευρετηριοποίηση βασισμένη σε Πίνακες Κατακερματισμού)

  • Βελτιστοποίηση Ερωτημάτων

  • Διαχείριση Συναλλαγών (Έλεγχος ταυτοχρονισμού, Ανάκτηση από κατάρρευση

  • Ασφάλεια

Σκοπός

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

Περίγραμμα

  • Αριθμοί κινητής υποδιαστολής
  • Αριθμητικές πράξεις, ακρίβεια και ταχύτητα πράξεων
  • Συμβολικές πράξεις
  • Συνάρτηση πολυπλοκότητας αλγόριθμου
  • Ασυμπτωτικοί συμβολισμοί Θ,Ο,Ω,ο,ω,
  • Ασυμπτωτική ανάλυση αλγορίθμων.
  • Διεργασίες και νήματα
  • Συγχρονισμός διεργασιών
  • Χρονοδρομολόγηση ΚΜΕ
  • Αδιέξοδα
  • Εικονική μνήμη και σελιδοποίηση
  • Διαχείριση συσκευών εισόδου/εξόδου
  • Συστήματα αρχείων

Στόχος του μαθήματος είναι οι μεταπτυχιακοί φοιτητές, μετά την επιτυχή παρακολούθησή του, να είναι σε θέση:

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

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

• Να γνωρίζουν πρωτόκολλα και αρχιτεκτονικές μέσω των οποίων μεταφέρονται ροές δεδομένων πραγματικού χρόνου στο Διαδίκτυο και υποστηρίζουν Ποιότητα Υπηρεσίας.

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

• Να διαθέτουν τις ικανότητες να αναλάβουν πρακτική ή/και ερευνητική εργασία που διερευνά τις τεχνικές που καλύπτονται στο μάθημα και να μπορούν να παρουσιάσουν και να σχολιάσουν τα ευρύματά τους.