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

ΠΠΣ-185

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

2ου Εξαμήνου

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

7,5

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

https://lefkippos.ds.unipi.gr/courses/DSERV105/

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

Υποχρεωτικό

Διδάσκοντες

Ν. Σγούρος

 

Η Γλώσσα Προγραμματισμού Python

Στόχος

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

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

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

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

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

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

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

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

Προτεινόμενα Συγγράμματα

  • Deitel, H. Deitel (2019), Python for Programmers, Pearson Education
  • Cassell, A. Gauld (2015), Python Projects, Wiley
  • Rhodes, J. Goerzen (2014), Foundations of network programming 3rd edition, Apress
  • Papathanasiou, N. Ploskas (2018), Multiple Criteria Decision Aid, Springer