σπουδες
ΠΜΣ Προηγμένα Συστήματα Πληροφορικής – Ανάπτυξης Λογιστμικού και Τεχνητής Νοημοσύνης
Προηγμένες Τεχνολογίες Ανάπτυξης Λογισμικού
Μαθήματα κατεύθυνσης
1ο ΕΞΑΜΗΝΟ
Αναγνώριση Προτύπων και Μηχανική Μάθηση
Τσιχριντζής Γεώργιος
302, κεντρικό κτίριο
+302104142322
Ανάπτυξη Λογισμικού για τον Παγκόσμιο Ιστό
Προηγμένα Θέματα Αντικειμενοστρεφούς Προγραμματισμού (Java)
Αλγοριθμικές Τεχνικές και Εφαρμογές
Λαμβάνοντας υπόψη το μέγαλο εύρος του αντικειμένου, το μάθημα εστιάζει κυρίως στους παράλληλους αλγορίθμους και παράλληλο υπολογισμό:
– Βασικές αλγοριθμικές τεχνικές για συστήματα διαμοιραζόμενης και κατανεμημένης μνήμης (Πήδηση δεικτών, Διαίρει και Βασίλευε, Σωλήνωση, Εξισορρόπηση φορτίου)
– Παράλληλοι αλγόριθμοι για αναζήτηση, ταξινόμηση, προβλήματα γραφημάτων ( συντομότερες διαδρομές, συνεκτικές συνιστώσες, ελάχιστο γεννητικό δέντρο), αριθμητικοί υπολογισμοί (πολλαπλασιασμός πινάκων, επίλυση συστήματος γραμμικών εξισώσεων, επίλυση διαφορετικών εξισώσεων), επεξεργασία εικόνας (π.χ. τμηματοποίηση εικόνας), υπολογιστική γεωμετρία (κυρτό περίβλημα, προβλήματα ορατότητας), προβλήματα μηχανικής (π.χ. προσομοίωση κίνησης ουρανίων σωμάτων (n-body simulation))
-Παράλληλος Προγραμματισμός: OpenMP, Pthreads, Java threads, CUDA, OpenCL, MPI
Με την επιτυχή ολοκλήρωση αυτής της ενότητας οι φοιτητές θα είναι σε θέση να:
1. Να εφαρμόζουν εύστοχα τις κατάλληλες αλγοριθμικές τεχνικές για την επίλυση υπολογιστικών προβλημάτων που προκύπτουν στα διάφορα πεδία εφαρμογών.
2. Να κατανοούν τη εγγενή δυσκολία ενός αλγοριθμικού προβλήματος.
3. Να εκτιμούν τόσο αναλυτικά όσο και πειραματικά την ποιότητα λύσης ενός αλγορίθμου.
4. Να προσδιορίζουν αναλυτικά την πολυπλοτητα χώρου και χρόνου των αλγοριθμικών τεχνικών.
5. Να υλοποιούν αποδοτικά αλγορίθμους λαμβάνοντας υπόψη την συγκεκριμένη πλατφόρμα υλοποίησης.
Ειδικά Θέματα Τεχνολογίας Λογισμικού
Βίρβου Μαρία
Καθηγήτρια
507/ΚΕΚΤ
+30.210.4142269
2ο ΕΞΑΜΗΝΟ
Ανάπτυξη Λογισμικού για Κινητές Συσκευές
Αντικείμενο του μαθήματος είναι η ανάπτυξη εφαρμογών οι οποίες μπορούν να εκτελεστούν από σύγχρονες κινητές συσκευές (smartphones) με ενσωματωμένο λειτουργικό σύστημα. Οι εφαρμογές αυτές δύναται να λειτουργήσουν τόσο στα σύγχρονα «έξυπνα» τηλέφωνα “smartphones”, όσο και σε άλλες «κινητές» συσκευές, οι οποίες έχουν κάνει την εμφάνισή τους τα τελευταία χρόνια και χρησιμοποιούν λειτουργικό σύστημα (Tablets, Wearables). Στο μάθημα αναλύονται περιληπτικά τα δημοφιλέστερα λειτουργικά συστήματα κινητών συσκευών, καθώς και τα εργαλεία ανάπτυξης εφαρμογών σε αυτά, ωστόσο η ύλη περιλαμβάνει κυρίως τη χρήση της αντικειμενοστρεφούς γλώσσας προγραμματισμού Java, για την ανάπτυξη εφαρμογών σε κινητές συσκευές υπό το λειτουργικό σύστημα Android. Ενδεικτικά, η ανάπτυξη των mobile apps θα υλοποιηθεί με τη χρήση του περιβάλλοντος ανάπτυξης λογισμικού Android Studio. Η Java είναι η πρώτη σε χρήση γλώσσα προγραμματισμού παγκοσμίως (δεδομένα 2017), ενώ το λειτουργικό σύστημα Android κατέχει το μεγαλύτερο μερίδιο της παγκόσμιας αγοράς των smartphones (δεδομένα 2018).
Ο μεταπτυχιακός φοιτητής, ο οποίος θα έχει ολοκληρώσει με επιτυχία το μάθημα, θα είναι σε θέση:
● Nα χρησιμοποιεί το εργαλείο Android Studio για την ανάπτυξη κινητών εφαρμογών
● Να αναπτύσσει native mobile apps κάνοντας χρήση του Android SDK
● Να χρησιμοποιεί τοπικές (SQLite) βάσεις δεδομένων
● Να χρησιμοποιεί τις πλέον σύγχρονες υπηρεσίες Cloud και Mobile backend as a service που παρέχει η Firebase
● Επιπλέον το μάθημα καλύπτει και την ύλη που αφορά:
○ στους αισθητήρες των κινητών συσκευών, στις υπηρεσίες γεοεντοπισμού και σε πλήθος άλλων προχωρημένων τεχνικών προγραμματισμού (asynchronous programming, android services, broadcast receivers, android intents).
Υπολογιστική Νέφους
Μιχάλας Άγγελος
–
Τεχνολογίες Εξατομίκευσης Λογισμικού
Βίρβου Μαρία
Καθηγήτρια
507/ΚΕΚΤ
+30.210.4142269
Ασφαλής Προγραμματισμός
Προηγμένα Θέματα Λογισμικού Υπηρεσιών Ιστού
Βίρβου Μαρία
Καθηγήτρια
507/ΚΕΚΤ
+30.210.4142269