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

ΠΠΣ-185

Εξάμηνο Μαθήματος

2ου Εξαμήνου

Πιστωτικές Μονάδες

7,5

Ηλεκτρονικό Υλικό

Κατηγορία Μαθήματος

Υποχρεωτικό

Διδάσκοντες Μαθήματος

Στόχος

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

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

Οι φοιτητές μετά την επιτυχή ολοκλήρωση του μαθήματος θα μπορούν:

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

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

  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών με τη χρήση απαραίτητων τεχνολογιών.
  • Προαγωγή δημιουργικής και επαγωγικής σκέψης.
  • Αυτόνομη Εργασία: Γνωριμία με τα εργαλεία ανάπτυξης και δόμηση προγραμμάτων στη Γλώσσα Python με χρήση κατάλληλων βιβλιοθηκών σε καλά ορισμένο πρόβλημα.
  • Ομαδική Εργασία: Ανάπτυξη ομαδο-συνεργατικών ικανοτήτων, ανάληψη ρόλων και εργασία στο πλαίσιο διεπιστημονικών ομάδων για την επίλυση πιο σύνθετων προβλημάτων.
  • Εργασία σε διεθνές περιβάλλον και παραγωγή νέων ερευνητικών ιδεών.

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

  • Δομικά Στοιχεία Γλώσσας

    Χαρακτηριστικά και συντακτικό της Python. Υποστηριζόμενες δομές δεδομένων και αλγοριθμικές δομές της python. Δομή προγράμματος και συναρτήσεις. Διανυσματικός και αντικειμενοστραφής προγραμματισμός. Κληρονομικότητα, Χειρισμοί Εξαιρέσεων, Πολυπρογραμματισμός, Πολυνηματικός Προγραμματισμός, Οπτικοποίηση, εργαλεία και πλατφόρμες αναπαράστασης δεδομένων. Ορθές προγραμματιστικές τεχνικές στην Python. Βασικές βιβλιοθήκες και πλατφόρμες ανάπτυξης εφαρμογών (τοπικών/δικτυακών).

     

  • Ανάπτυξη Προηγμένων Εφαρμογών

    Ανάπτυξη εφαρμογών με ενσωμάτωση γραφικών διεπαφών. Οδηγούμενος από το γεγονός προγραμματισμός στην Python. Δημιουργία και χρήση API καθώς και πλαισίων ανάπτυξης διαδικτυακών εφαρμογών. Ανάπτυξη εφαρμογών για τη διασύνδεση, ανάκτηση και χειρισμό σχεσιακών και μη σχεσιακών βάσεων δεδομένων. Αυτοματοποίηση λειτουργιών. Χρήση υπηρεσιών ιστού. Αρχιτεκτονικές REST και GraphQL. Εφαρμογές υψηλών απαιτήσεων σε Python. Εφαρμογές υποστήριξης απόφασης για επιχειρηματικά περιβάλλοντα (Επιχειρηματική λογική/Επιχειρηματική Ευφυία). Εισαγωγή στους κβαντικούς υπολογισμούς και εργαλεία στην Python.

     

  • Ανάπτυξη Σύνθετων Συστημάτων

    Διαχείριση συσκευών και αλληλεπίδραση με το διαδίκτυο των πραγμάτων (ΙοΤ). Ανάπτυξη συστημάτων διαχείρισης και εποπτείας δικτύων υπολογιστών, πρωτόκολλα επικοινωνίας. Συστήματα παροχής συστάσεων (Recommender systems).  Ανάπτυξη εφαρμογών παρακολούθησης και αξιολόγησης συστημάτων. Εργαλεία και βιβλιοθήκες βελτιστοποίησης απόδοσης συστημάτων. Διαδικτυακές εφαρμογές. Ανάπτυξη κατανεμημένων εφαρμογών με  προηγμένα χαρακτηριστικά επεκτασιμότητας, αξιοπιστίας και ασφάλειας. Ανάπτυξη εφαρμογών στο νέφος. Εισαγωγή στον προγραμματισμό στο άκρο με τη χρήση της Γλώσσας Python.

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