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

ΜΔΑ-290

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

1ου Εξαμήνου

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

7,5

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

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

Υποχρεωτικό

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

Στόχος

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

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

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

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

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

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

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

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

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

  • Διασύνδεση με Πηγές Δεδομένων

    Διασύνδεση, ανάκτηση και χειρισμός δεδομένων από σχεσιακές και μη σχεσιακές βάσεις δεδομένων. Καθαρισμός, κανονικοποίηση και ομαδοποίηση δεδομένων, τεχνικές συμπλήρωσης και επέκτασης δεδομένων. Παραδείγματα ανάκτησης δεδομένων από διαφόρων τύπων πηγές δεδεοένων. Δημιουργία και χρήση κανονικών εκφράσεων (regular expressions).

  • Μοντελοποίηση και Ανάλυση Δεδομένων

    Εφαρμογές ανάλυσης χρονοσειρών (περιοδικότητα, τάση, εποχικότητα). Δειγματοληψία, μετασχηματισμοί και αναπαπαράσταση  χρονοσειρών. Εξαγωγή χαρακτηριστικών. Προγνωστικά μοντέλα. Τεχνικές και παραδείγματα για προεπεξεργασία, παλινδρόμιση και δημιουργία στατιστικών μοντέλων. Ανάλυση δεδομένων μεγάλης κλίμακας. Ανάλυση δεδομένων από κοινωνικά δίκτυα. 

  • Τεχνικές Μηχανικής Mάθησης

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

  • Python και Νεφοϋπολογιστική

    Υποδομές μεγάλων δεδομένων στο νέφος. Ανάπτυξη λύσεων που προορίζονται για υπολογιστικά νέφη, αυτοματοποίηση διαδικασιών και διαχείριση δεδομένων. Εργαλεία και πλατφόρμες ανάπτυξης δικτυακών εφαρμογών στην Python. Εργαλεία και τεχνικές για την ανάκτηση δεδομένων από το διαδίκτυο, χρήση APIs, τεχνικές δημοσίευσης και παρακολούθησης εκτέλεσης εφαρμογών στη γλώσσα python.

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