studies
Master Degree (M.Sc.) in "Informatics"
Courses of 3st semester
3rd semester
Software Engineering
Course Code MPPLTL01
Course Type Obligatory
Teaching Hours 3
ECTS: 5
Συμβολή του μαθήματος στην κάλυψη των τεχνολογικών απαιτήσεων:
Οι φοιτητές εκτίθενται σε σύγχρονες τεχνικές μοντελοποίησης λογισμικού, στον αρχιτεκτονικό σχεδιασμό και στη σύγχρονη γλώσσα μοντελοποίησης UML
- Μοντέλα κύκλου ζωής λογισμικού με έμφαση στη Rational Unified Process,
- Γλώσσες μοντελοποίησης με έμφαση στη UML,
- Προϋπολογισμός κόστους λογισμικού,
- Ανάλυση απαιτήσεων, σχεδιασμός, υλοποίηση και γλώσσες προγραμματισμού,
- Έλεγχος, συντήρηση και εργαλεία CASE.
Με την επιτυχή ολοκλήρωση αυτού του μαθήματος ο φοιτητής θα είναι σε θέση να:
- Συντάσσει με ευχέρεια δομημένα έγγραφα ανάλυσης απαιτήσεων λογισμικού
- Σχεδιάζει αρχιτεκτονικά πρωτότυπα σχέδια λογισμικού βασισμένα σε γλώσσες μοντελοποίησης και διαγράμματα
- Παράγει με ευχέρεια κώδικα βασισμένο στο στάδιο του σχεδιασμού, ο οποίος θα ανταποκρίνεται στα αντίστοιχα διαγράμματα
- Χρησιμοποιεί με ευχέρεια το μοντέλο κύκλου ζωής λογισμικού Rational Unified Process
- Εφαρμόζει με ευχέρεια και πρωτοτυπία τις σχετικές με την τεχνολογία λογισμικού γνώσεις στις έρευνες, μελέτες και εργασίες τους με κριτικό και δημιουργικό τρόπο.
- Επιδεικνύει κριτική κατανόηση στον τρόπο διασύνδεσης των σχετικών με τη τεχνολογία λογισμικού γνώσεων με ποικίλους γνωστικούς τομείς.
- Εφαρμόζει τις σχετικές με την τεχνολογία λογισμικού γνώσεις για την επίλυση σύνθετων ζητημάτων στο χώρο εργασίας με επιστημονικά τεκμηριωμένο τρόπο.
- Αναπτύσσει με αυτονομία τις σχετικές με την τεχνολογία λογισμικού γνώσεις και ικανότητές τους.
- Επιλύει προβλήματα και να λαμβάνουν στρατηγικές αποφάσεις με αφετηρία την επαγωγική σκέψη βασιζόμενοι τις σχετικές με την τεχνολογία λογισμικού γνώσεις.
Professor
507, Central Building
+30.210.4142269
Pattern Recognition
Course Code MPPLAP01
Course Type Obligatory
Teaching Hours 3
ECTS: 5
Αναγνώριση Προτύπων (pattern recognition) είναι η επιστημονική περιοχή που έχει στόχο την ταξινόμηση αντικειμένων σε κατηγορίες (κλάσεις) και συμπεριλαμβάνει το επιστημονικό πεδίο της Μηχανικής Μάθησης (machine learning). Σκοπός, επομένως, του παρόντος μαθήματος είναι να παρουσιάσει με ενιαίο τρόπο τις ευρύτερα χρησιμοποιούμενες τεχνικές και μεθοδολογίες για προβλήματα αναγνώρισης προτύπων.
Το περιεχόμενο του μαθήματος χωρίζεται σε οκτώ ενότητες και κάθε ενότητα πραγματοποιείται σε μία ή περισσότερες διαλέξεις.
Ενότητα 1: Εισαγωγή στην Αναγνώριση Προτύπων
Ενότητα 2: Ταξινομητές που βασίζονται στη θεωρία αποφάσεων του Bayes:
Θεωρία Αποφάσεων του Bayes, H Γκαουσσιανή Συνάρτηση Πυκνότητας Πιθανότητας, Ταξινομητές Ελάχιστης Απόστασης, Ταξινομητής Ευκλείδειας Απόστασης, Ταξινομητής Mahalanobis Απόστασης, Εκτίμηση Μέγιστης Πιθανοφάνειας των παραμέτρων της Γκαουσσιανής Συνάρτησης Πυκνότητας Πιθανότητας
Μοντέλα Μίξης, Ο Αλγόριθμος Expectation-Maximization, Παράθυρα Parzen
Εκτίμηση Πυκνότητας Πιθανότητας με βάση τους k-πλησιέστερους γείτονες, Ο Ταξινομητής Naive Bayes, Ο Ταξινομητής Πλησιέστερων Γειτόνων
Ενότητα 3: Ταξινομητές που βασίζονται στη Βελτιστοποίηση Συνάρτησης Κόστους:
Ο αλγόριθμος Perceptron, H online έκδοση του αλγόριθμου Perceptron, Ταξινομητής Ελάχιστου Τετραγωνικού Σφάλματος, Περίπτωση πολλών κλάσεων, Μηχανές Διανυσματικής Στήριξης (ΜΔΣ/SVM): Η γραμμική περίπτωση, Επεκτάσεις για την περίπτωση πολλών κλάσεων, SVM: Η μη γραμμική περίπτωση, Ο Αλγόριθμος Perceptron με χρήση Πυρήνων, O Αλγόριθμος AdaBoost, Πολυστρωματικά Δίκτυα Perceptrons
Ενότητα 4: Μετασχηματισμοί Δεδομένων: Γένεση Χαρακτηριστικών και Μείωση Αριθμού Διαστάσεων:
Ανάλυση σε Κύριες Συνιστώσες (PCA), Ανάλυση σε Ιδιάζουσες Τιμές (SVD), Ανάλυση Γραμμικής Διάκρισης κατά Fisher, Ανάλυση σε Κύριες Συνιστώσες με Χρήση Πυρήνων, Μέθοδος Χαρτογράφησης Ιδιοτιμών του Laplacian Μητρώου
Ενότητα 5: Επιλογή Χαρακτηριστικών:
Αποκοπή Ακραίων Τιμών, Κανονικοποίηση Δεδομένων, Έλεγχος Υποθέσεων: t-Test,
Καμπύλη Receiver Operating Characteristic, Λόγος Διάκρισης κατά Fisher, Μέτρα Διαχωριστικής Ικανότητας μεταξύ κλάσεων, Απόκλιση, Απόσταση Bhattacharya και Φράγμα Chernoff, Μέτρα βασισμένα σε Μητρώα Διασποράς, Επιλογή Υποσυνόλου Χαρακτηριστικών, Βαθμωτή Επιλογή Χαρακτηριστικών, Διανυσματική Επιλογή Χαρακτηριστικών
Ενότητα 6: Σύγκριση με Πρότυπα Αναφοράς: Απόσταση Edit, Σύγκριση Ακολουθιών Πραγματικών Αριθμών, Δυναμική Χρονική Στρέβλωση στα πλαίσια της Αναγνώρισης Φωνής
Ενότητα 7: Κρυφά Μοντέλα Markov: Μοντελοποίηση, Αναγνώριση και Εκπαίδευση
Ενότητα 8: Ομαδοποίηση: Βασικές Έννοιες και Ορισμοί, Αλγόριθμοι Ομαδοποίησης, Ακολουθιακοί Αλγόριθμοι, Αλγόριθμος BSAS, Βελτίωση Ομαδοποίησης, Αλγόριθμοι Ομαδοποίησης Βασιζόμενοι στη Βελτιστοποίηση Συνάρτησης Κόστους, Αλγόριθμοι Σαφούς Ομαδοποίησης, Αλγόριθμοι Μη-Σαφούς Ομαδοποίησης, Άλλοι Αλγόριθμοι Ομαδοποίησης, Αλγόριθμοι Ιεραρχικής Ομαδοποίησης, Γενικό Σχήμα Συγχώνευσης, Εξειδικευμένοι Αλγόριθμοι Συγχώνευσης, Επιλογή της καλύτερης Ομαδοποίησης
Με την επιτυχή́ ολοκλήρωση του μαθήματος ο φοιτητής θα είναι σε θέση:
- Να διαθέτει προχωρημένες και εξειδικευμένες γνώσεις σε αλγορίθμους, τεχνικές και μεθοδολογίες αναγνώρισης προτύπων, όπως στην Μπεϋζιανή θεωρία ταξινόμησης, σε γραμμικούς και μη γραμμικούς ταξινομητές, σε Νευρωνικά δίκτυα, σε Κρυφά Μοντέλα Markov, σε αλγορίθμους ομαδοποίησης και τεχνικές επιλογής χαρακτηριστικών και μείωσης αριθμού διαστάσεων δεδομένων.
- Να αντιλαμβάνεται με ευχέρεια πώς συνδυάζονται γνώσεις πιθανοτήτων, στατιστικής, γραμμικής άλγεβρας και βελτιστοποίησης για τη δημιουργία αλγορίθμων αναγνώρισης προτύπων.
- Να αναλύει προβλήματα πραγματικών δεδομένων (ανοικτής πρόσβασης), στα οποία απαιτείται η σχεδίαση/ανάπτυξη/υλοποίηση συστημάτων ταξινόμησης αντικειμένων.
- Να εκτιμά με κριτική σκέψη το εφικτό των προβλημάτων αυτών, να επιλέγει τους κατάλληλους αλγορίθμους/τεχνικές και να προβαίνει στην αποτίμηση και συγκριτική μελέτη των επιδόσεων εναλλακτικών λύσεων.
- Να διαχειρίζεται με ευχέρεια τον φόρτο και την πολυπλοκότητα τέτοιων προβλημάτων πραγματικών δεδομένων σε περιβάλλον ομαδικής εργασίας.
- Να κατέχει προχωρημένες προγραμματιστικές δεξιότητες σε περιβάλλον ανάπτυξης λογισμικού Python/MATLAB/GNU Octave για την υλοποίηση πρωτότυπων αλγορίθμων, τεχνικών και μεθόδων ταξινόμησης αντικειμένων.
- Να εκτιμά και να επαναχρησιμοποιεί υφιστάμενες υλοποιήσεις συναρτήσεων ανοιχτού κώδικα, σχετικών με το πεδίο της αναγνώρισης προτύπων, όπως των συναρτήσεων της βιβλιοθήκης scikit-learn.
- Να διακρίνει έννοιες συναφείς της αναγνώρισης προτύπων, στα συγγενή επιστημονικά πεδία της Μηχανικής Μάθησης, της Ανάλυσης Δεδομένων και της Τεχνητής Νοημοσύνης.
- Να εφαρμόζει με ευχέρεια και πρωτοτυπία αλγορίθμους, τεχνικές και μεθοδολογίες αναγνώρισης προτύπων στις έρευνες, μελέτες και εργασίες τους με κριτικό και δημιουργικό τρόπο.
- Να επιδεικνύει κριτική κατανόηση στον τρόπο διασύνδεσης των αλγορίθμων, τεχνικών και μεθοδολογιών αναγνώρισης προτύπων με ποικίλους γνωστικούς τομείς.
- Να εφαρμόζει αλγορίθμους, τεχνικές και μεθοδολογίες αναγνώρισης προτύπων για την επίλυση σύνθετων ζητημάτων στο χώρο εργασίας με επιστημονικά τεκμηριωμένο τρόπο.
- Να αναπτύσσει με αυτονομία τις σχετικές με την αναγνώριση προτύπων γνώσεις και ικανότητές τους.
- Να επιλύει προβλήματα και να λαμβάνουν στρατηγικές αποφάσεις με αφετηρία την επαγωγική σκέψη βασιζόμενοι στους αλγορίθμους, στις τεχνικές και στις μεθοδολογίες αναγνώρισης προτύπων.
302, Central Building
+302104142322
Algorithms
Course Code ΜΠΠΛΑ01
Course Type Obligatory
Teaching Hours 3
ECTS: 5
Basic techniques for the algorithm design (divide-and-conquer, greediness, dynamic programming), time and space complexity, basic methods for the analysis of algorithm performance, sorting, seaching, basic algorithms for graphs depth-first search, breadth-first search and its applications such as topological sorting, finding of articulation points, and strongly-connected componets), shortest paths, minimum spanning trees, max flows, algorithms for basic arithmetic computation (matrix computations, fast fourier transform) complexity classes, introduction to the approximation and on-line algorithms.
On successful completion of this unit students will be able to:
1. Aptly apply the algorithmic techniques for solving computational problems in various application fields.
2. Identfy the inherent difficulty of an algorithmic problem.
3. Evaluate the quality of an algorithmic solution both analytically and experimentally.
4. Analytically determine the time and the space complexity of algorithms.
5. Efficiently implement algorithms taking into account the features of the implementation platform.
301, Lam. 126
+302104142124
Computer Networks
Course Code MPPLDY01
Course Type Obligatory
Teaching Hours 3
ECTS: 5
Στο μάθημα αυτό περιγράφονται με εισαγωγικό, αλλά πλήρη, τρόπο οι βασικές έννοιες και αρχές δικτύωσης και τα πρωτόκολλα, πάνω στα οποία στηρίζονται τα διάφορα είδη δικτύων, όπως και το Διαδίκτυο.
In particular, the following are analysed:
Βασικές έννοιες και αρχές δικτύωσης
● είδη δικτύων (δίκτυα άμεσου συνδέσμου, δίκτυα μεταγωγής, διαδίκτυα),σχεδίαση (αρχιτεκτονική αναφοράς OSI και αρχιτεκτονική TCP/IP)
Σύνδεσμοι και μετάδοση πληροφορίας
● διάδοση και μετάδοση σήματος μέσα από ένα σύνδεσμο, ταχύτητα μετάδοσης, πολυπλεξία, κλπ
Δίκτυα άμεσου συνδέσμου
● αλγόριθμοι και τεχνολογίες προσπέλασης σε κοινό μέσο
● αξιόπιστη μετάδοση
Δίκτυα Μεταγωγής
● προώθηση και τεχνολογίες μεταγωγής
Διαδίκτυα
● γενικές αρχές διαδικτύωσης, δρομολόγηση, είδη αλγόριθμων δρομολόγησης, κλπ
● δίκτυα IP: διευθυνσιοδότηση, ARP, προώθηση, δρομολόγηση (OSPF,BGP), κατακερματισμός, πρωτόκολλο ICMP
Επικοινωνία από άκρο σε άκρο
● επικοινωνία διεργασιών (βασικοί μηχανισμοί)
πρωτόκολλα UDP και TCP
Ασύρματες Επικοινωνίες
● Αρχές λειτουργίας κινητών επικοινωνιών
● Πρωτόκολλα πρόσβασης στο μέσο σε τοπικά ασύρματα δίκτυα
Επίδοση Εφαρμογών
● Κωδικοποίηση και ποιότητα υπηρεσιών
● πρωτόκολλα για μεταφορά βίντεο
Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα:
- Κατανοεί θεμελιώδεις έννοιες (π.χ. Αρχιτεκτονικές δικτύων: Μεταγωγής, Μεταγωγή κυκλώματος και μεταγωγή πακέτου, Τύποι δικτύων (τοπικά δίκτυα, μητροπολιτικά δίκτυα, δίκτυα ευρείας περιοχής, ενσύρματα και ασύρματα δίκτυα), Τοπολογίες δικτύων (πλέγμα, αρτηρία, δακτύλιος, αστέρας).
- Aναγνωρίζει τα Χαρακτηριστικά απόδοσης (π.χ) καθυστέρηση, εύρος ζώνης, ρυθμαπόδοση, ρυθμός απώλειας πακέτων.
- Προσδιορίζει και θα ταξινομεί με ευχέρεια τα στάδια Σχεδίασης Δικτύων: Διαστρωμάτωση, Πρωτόκολλα και Πρότυπα, Συνδεσμοστραφείς και ασυνδεσμικές υπηρεσίες,
- Διακρίνει το μοντέλο αναφοράς OSI, τη στοίβα πρωτοκόλλων TCP/IP και τη χρήση τους στους Οργανισμούς Τυποποίησης
- Διαθέτει εξειδικευμένες γνώσεις και θα είναι σε θέση να προσεγγίζει και να ορίζει το Φυσικό επίπεδο: αναλογική και ψηφιακή αναπαράσταση, Κωδικοποίηση και διαμόρφωση, Μέσα μετάδοσης, Ανίχνευση και Διόρθωση σφαλμάτων, Πολυπλεξία.
- Διακρίνει με ευχέρεια το Επίπεδο Συνδέσμου Μετάδοσης Δεδομένων: πλαισίωση, έλεγχος σφαλμάτων (πρωτόκολλα ARQ), έλεγχος ροής, πρότυπα και πρωτόκολλα δευτέρου επιπέδου (DSL, ISDN).
- Εχει εμπεδώσει τα επίπεδα του Ελέγχου πολλαπλής πρόσβασης: διευθυνσιοδότηση, πολλαπλή πρόσβαση με και χωρίς ανταγωνισμό, τεχνολογίες τοπικών δικτύων (Ethernet, Token Ring, Gigabit Ethernet), Επαναλήπτες, γέφυρες, κατανεμητές και μεταγωγείς.
- Διαχειρίζεται τα Ασύρματα τοπικά δίκτυα (wifi) και δίκτυα κινητών επικοινωνιών (3η και 4η γενιά).
- Υλοποιεί τις εφαρμογές των Δικτύων Μεταγωγής (μεταγωγή πακέτου και εικονικά κυκλώματα, μεταγωγείς) και θα σχεδιάζει/αναπτύσσει τη πρωτότυπη Διαδικτύωση (δρομολόγηση, αλγόριθμοι δρομολόγησης διανυσμάτων απόστασης και κατάστασης συνδέσμων), τον Έλεγχο συμφόρησης, Το πρωτόκολλο IP (διευθυνσιοδότηση, πρωτόκολλα δρομολόγησης OSPF και BGP, κατακερματισμός).
- Κατανοεί σε βάθος τις αρχές πίσω από τις υπηρεσίες του επιπέδου μεταφοράς δεδομένων (Πολύπλεξη/αποπολύπλεξη(multiplexing/demultiplexing, αξιόπιστη μεταφορά δεδομένων, έλεγχος ροής (flow control), έλεγχος συμφόρησης (congestion control) και θα τηρεί τα πρωτόκολλα επιπέδου μεταφοράς του Διαδικτύου, UDP: ασυνδεσμική μεταφορά, TCP: συνδεσμική μεταφορά,
- Ελέγχει με ευχέρεια το επίπεδο συμφόρησης του TCP,
- Αναπτύσσει και θα εφαρμόζει εννοιολογικά, σχεδιαστικά θέματα πρωτοκόλλων δικτυακών εφαρμογών,
- Αξιοποιεί μοντέλα υπηρεσιών επιπέδου μεταφοράς, μοντέλο πελάτη εξυπηρετητή (client-server), μοντέλο ομότιμων (peer-to-peer), δημοφιλή πρωτόκολλα επιπέδου εφαρμογής: HTTP, SMTP / POP3 / IMAP, DNS
- Aναπτύσσει νέα πρωτόκολλα και εφαρμογές αξιολογώντας την κάθε περίπτωση
- μπορεί να εφαρμόζει με ευχέρεια και πρωτοτυπία τις σχετικές με τα δίκτυα γνώσεις στις έρευνες, μελέτες και εργασίες τους με κριτικό και δημιουργικό τρόπο.
- μπορεί να επιδεικνύουν κριτική κατανόηση στον τρόπο διασύνδεσης των σχετικών με τα δίκτυα γνώσεων με ποικίλους γνωστικούς τομείς.
- μπορεί να εφαρμόζουν τις σχετικές με τα δίκτυα γνώσεις για την επίλυση σύνθετων ζητημάτων στο χώρο εργασίας με επιστημονικά τεκμηριωμένο τρόπο.
- μπορεί να αναπτύσσουν με αυτονομία τις σχετικές με τα δίκτυα γνώσεις και ικανότητές τους.
- μπορεί να επιλύουν προβλήματα και να λαμβάνουν στρατηγικές αποφάσεις με αφετηρία την επαγωγική σκέψη βασιζόμενοι στις σχετικές με τα δίκτυα γνώσεις.
302, Central Building
+30 210 4142137
fax +30 210 4142472
Professor
104/Lam.126
+30 210 4142479 | fax +30 210 4142119
Enterprise Resource Planning Software Systems (ERP)
Course Code MPPLSLD01
Course Type Obligatory
Teaching Hours 3
ECTS: 5
Βασικά περιεχόμενα μαθήματος:
- Βασικές Έννοιες επιχειρησιακών διαδικασιών
- Περιγραφή μεθόδων ολοκλήρωσης Πληροφοριακών Συστημάτων Διαχείρισης Επιχειρηματικών Πόρων / πληροφοριών
- Περιοχές εφαρμογής και μεθοδολογίες ανάπτυξης
- Αξιολόγηση εμπορικών συστημάτων ERP
- Συστήματα Ολοκλήρωσης Εφαρμογών στις Επιχειρήσεις (αρχιτεκτονικές, τύποι, αξιολόγηση)
- Συστήματα Διαχείρισης Πελατών (αρχιτεκτονικές, τύποι, αξιολόγηση
- Μελέτες περίπτωσης
Μετά την επιτυχή παρακολούθηση του μαθήματος οι φοιτητές:
- Θα γνωρίζουν βασικές έννοιες των επιχειρησιακών δραστηριοτήτων
- Θα προσδιορίζουν με ευχέρεια τις μεθόδους ολοκλήρωσης των Πληροφοριακών Συστημάτων Διαχείρισης
- Θα κατανοούν το εύρος των δυνατοτήτων της τεχνολογίας των συστημάτων ERP και CRM
- Θα αναγνωρίζουν τις μεθοδολογίες εφαρμογής ενός ERP συστήματος σε μία επιχείρηση/οργανισμό
- Θα αναζητούν δεδομένα και πληροφορίες για τον εντοπισμό και την επίλυση προβλημάτων
- Θα αναλύουν και θα συνθέτουν δεδομένα και πληροφορίες εκμεταλλευόμενοι τις κατάλληλες, σε κάθε περίσταση, τεχνολογίες
- Θα αντιπαραβάλλουν και θα αξιολογούν με κριτική σκέψη τις σύγχρονες τάσεις σχετικά με την διαχείριση επιχειρηματικών πόρων
- θα μπορούν να εφαρμόζουν με ευχέρεια και πρωτοτυπία τις έννοιες και μεθοδολογίες των ERP συστημάτων στις έρευνες, μελέτες και εργασίες τους με κριτικό και δημιουργικό τρόπο.
- θα μπορούν να επιδεικνύουν κριτική κατανόηση στον τρόπο διασύνδεσης των εννοιών και μεθοδολογιών των ERP συστημάτων με ποικίλους γνωστικούς τομείς.,
- θα μπορούν να εφαρμόζουν τις έννοιες και μεθοδολογίες των ERP συστημάτων για την επίλυση σύνθετων ζητημάτων στο χώρο εργασίας με επιστημονικά τεκμηριωμένο τρόπο,
- θα μπορούν να αναπτύσσουν με αυτονομία τις σχετικές με τα ERP συστήματα γνώσεις και ικανότητές τους,
- θα μπορούν να επιλύουν προβλήματα και να λαμβάνουν στρατηγικές αποφάσεις με αφετηρία την επαγωγική σκέψη βασιζόμενοι στις έννοιες και μεθοδολογίες των ERP συστημάτων.
303/Lam.126
Phone Number/Fax:+30 210 4142578
Elective Courses
Software Development for Mobile Devices
Course Code MPPLALOG01
Course Type Elective
Teaching Hours 3
ECTS: 5
- Μοντέλα ανάπτυξης λογισμικού,
- Δομημένη Ανάλυση και Αντικειμενοστρεφής Ανάλυση,
- Αρχιτεκτονικός σχεδιασμός, λεπτομερής σχεδιασμός, Δομημένος και Αντικειμενοστρεφής σχεδιασμός.
- Ανάπτυξη εφαρμογών οι οποίες μπορούν να εκτελεστούν από σύγχρονες κινητές συσκευές (smartphones) με ενσωματωμένο λειτουργικό σύστημα. Οι εφαρμογές αυτές δύναται να λειτουργήσουν τόσο στα σύγχρονα «έξυπνα» τηλέφωνα “smartphones”, όσο και σε άλλες «κινητές» συσκευές, οι οποίες έχουν κάνει την εμφάνισή τους τα τελευταία χρόνια και χρησιμοποιούν λειτουργικό σύστημα (Tablets, Wearables).
The course summarizes the most popular mobile operating systems, as well as the tools for developing applications on them, however the material mainly includes the use of object-oriented Java programming language for developing applications on mobile devices under the Android operating system. Indicatively, the development of mobile apps is implemented using the Android Studio software development environment. In addition, the course covers the material related to the sensors of mobile devices, geolocation services and a number of other advanced programming techniques (asynchronous programming, android services, broadcast receivers, android intents).
Επιπλέον το μάθημα καλύπτει και την ύλη που αφορά στους αισθητήρες των κινητών συσκευών, στις υπηρεσίες γεοεντοπισμού και σε πλήθος άλλων προχωρημένων τεχνικών προγραμματισμού (asynchronous programming, android services, broadcast receivers, android intents).
Με την επιτυχή ολοκλήρωση αυτού του μαθήματος ο φοιτητής θα είναι σε θέση:
- Να αναλύει και να συγκρίνει μοντέλα ανάπτυξης λογισμικού
- Να επιλέγει με ευχέρεια μοντέλα ανάπτυξης λογισμικού ανάλογα με τις ανάγκες και να τα χρησιμοποιεί
- Να διαθέτει εξειδικευμένη γνώση και να αξιοποιεί το εργαλείο Android Studio για την ανάπτυξη κινητών εφαρμογών
- Να αναπτύσσει πρωτότυπες native mobile apps κάνοντας χρήση του Android SDK
- Να εκμεταλλεύεται τοπικές (SQLite) βάσεις δεδομένων
- Να γνωρίζει τις πλέον σύγχρονες υπηρεσίες Cloud και Mobile backend as a service που παρέχει η Firebase
- Να τις χρησιμοποιεί πρακτικά και με ευχέρεια
- Να σχεδιάζει και να αναπτύσσει πρωτότυπες εφαρμογές για κινητές και φορητές συσκευές υλοποιώντας τις πλέον σύγχρονες τεχνικές προγραμματισμού
- Να διασφαλίζει την αποτελεσματικότητα των λογισμικών μέσω των προαναφερθεισών εφαρμογών
- Να εφαρμόζουν με ευχέρεια και πρωτοτυπία τις σχετικές με την ανάπτυξη εφαρμογών για κινητές συσκευές γνώσεις στις έρευνες, μελέτες και εργασίες τους με κριτικό και δημιουργικό τρόπο.
- Να επιδεικνύουν κριτική κατανόηση στον τρόπο διασύνδεσης των σχετικών με την ανάπτυξη λογισμικού για κινητές συσκευές γνώσεων με ποικίλους γνωστικούς τομείς.,
- Να εφαρμόζουν τις σχετικές με την ανάπτυξη λογισμικού για κινητές συσκευές γνώσεις για την επίλυση σύνθετων ζητημάτων στο χώρο εργασίας με επιστημονικά τεκμηριωμένο τρόπο,
- Να αναπτύσσουν με αυτονομία τις σχετικές με την ανάπτυξη λογισμικού για κινητές συσκευές γνώσεις και ικανότητές τους,
- Να επιλύουν προβλήματα και να λαμβάνουν στρατηγικές αποφάσεις με αφετηρία την επαγωγική σκέψη βασιζόμενοι στις σχετικές με την ανάπτυξη λογισμικού για κινητές συσκευές γνώσεις.
540, Central Building
Generative Artificial Intelligence and Large Language Models
Course Code MPPLGRY01
Course Type Elective
Teaching Hours 3
ECTS: 5
604,Lam.126
+302104142146
Cryptography
Course Code MPPLKR01
Course Type Elective
Teaching Hours 3
ECTS: 5
Εισαγωγή
Ιστορική εξέλιξη της κρυπτογραφίας
Επανάληψη του απαραίτητου μαθηματικού υπόβαθρου (Ομάδες, Πεπερασμένα σώματα, Δακτύλιοι Zp και Zn, Πράξεις με υπόλοιπα, Γενικευμένος αλγόριθμος του Ευκλείδη, συνάρτηση του Euler)
Αλγόριθμοι ιδιωτικού κλειδιού (Μονοαλφαβητική αντικατάσταση, One-Time-Pad, Αλγόριθμοι των : Καίσαρα, Vigenere, Hill)
Αλγόριμοι τμημάτων: καταστάσεις (cipher modes: ECB, CBC, OFB κτλ) DES, AES
Αλγόριθμοι ροής: PRNG vs TRNG, LFSR, RC4
Αλγόριθμοι δημοσίου κλειδιού (Αλγόριθμος RSA,Αλγόριθμος ελλειπτικών καμπυλών)
Ομομορφική κρυπτογραφία
Συναρτήσεις κατακερματισμού
Ψηφιακές Υπογραφές
Εφαρμογές της κρυπτογραφίας και πρωτόκολλα
Κρυπτανάλυση (Γραμμική και διαφορική κρυπτανάλυση, Αλγόριθμοι παραγοντοποίησης)
Θέματα υλοποίησης
Upon successful completion of the course the students would be able to:
- Να αξιολογήσουν την ασφάλεια που προσφέρει ένας αλγόριθμος κρυπτογράφησης
- Να διακρίνουν και να κατηγοριοποιούν με ευχέρεια τα είδη και τη χρήση των αλγόριθμων.
- Να επιλέξουν τον κατάλληλο αλγόριθμο και να διακρίνουν τις παραμέτρους της ορθής λειτουργίας του για την επιτυχή εφαρμογή του.
- Να υλοποιήσουν με ευχέρεια έναν αλγόριθμο κρυπτογράφησης.
- Να κατανοούν σε βάθος τις εφαρμογές και τα πρωτόκολλα της κρυπτογραφίας
- Να έχουν ευρεία γνώση σχετικά με τις μεθόδους και παραμέτρους σχεδιασμού και ανάπτυξης πρωτοκόλλων.
- Να εντοπίζουν και να αξιολογούν πιθανά κενά ασφάλειας ενός πρωτοκόλλου.
- Να αξιοποιούν όλα τα παραπάνω για την ανάπτυξη και τον έλεγχο πρωτότυπων προγραμμάτων.
- Να εφαρμόζουν με ευχέρεια και πρωτοτυπία αλγόριθμους κρυπτογράφησης και πρωτόκολλα στις έρευνες, μελέτες και εργασίες τους με κριτικό και δημιουργικό τρόπο.
- Να επιδεικνύουν κριτική κατανόηση στον τρόπο διασύνδεσης των σχετικών με την κρυπτογραφία γνώσεων με ποικίλους γνωστικούς τομείς.,
- Να εφαρμόζουν αλγόριθμους κρυπτογράφησης και πρωτόκολλα για την επίλυση σύνθετων ζητημάτων στο χώρο εργασίας με επιστημονικά τεκμηριωμένο τρόπο,
- Να αναπτύσσουν με αυτονομία τις σχετικές με την κρυπτογραφία γνώσεις και ικανότητές τους,
- Να επιλύουν προβλήματα και να λαμβάνουν στρατηγικές αποφάσεις με αφετηρία την επαγωγική σκέψη βασιζόμενοι σε αλγόριθμους κρυπτογράφησης και πρωτόκολλα.
540, Central Building
Decision Support Systems
Course Code MPPLSYA01
Course Type Elective
Teaching Hours 3
ECTS: 5
The course introduces the decision support systems, their architecture and development approaches. Then the course focuses on analytical models and techniques developed to support decision making in semi-structured decision problems. It provides a deep insight of methods that require preference modelling, such as methods of multi-objective linear programming, methods of multi-criteria decision analysis and the analytic hierarchy process, as well as to the method of data envelopment analysis, which is the dominating data analysis method in performance measurement.
Introduction to decision support systems (DSS). DSS architecture. Decison analysis techniques-decision tables-decision trees. Multiobjective programming. Multiciteria decision analysis. The analytic hierarchy process (AHP). Performance measurement-Data Envelopment Analysis.
Web Information Systems
Course Code
Course Type Elective
Teaching Hours 3
ECTS: 5
• Δικτυοκεντρικός Υπολογισμός (Network Computing)
o Τεχνολογίες διαδικτύου και παγκόσμιου ιστού
o Περιήγηση και ανάκτηση πληροφοριών (Discovery), λογισμικό φυλλομετρητών (Browsers) και διακομιστών (Servers)
o Μέσα επικοινωνίας (Communicatrion)
o Ηλεκτρονική συνεργασία (Collaborartion), εργαλεία τηλεσυνεργασίας
o Υποδομές Πληροφορικής
• Ηλεκτρονικό Εμπόριο και Ηλεκτρονικό Επιχειρείν
o Επιχειρηματικά μοντέλα στο ηλεκτρονικό επιχειρείν
o Συστατικά του ηλεκτρονικού εμπορίου και του ηλεκτρονικού επιχειρείν
o Υπηρεσίες προς τον καταναλωτή
o Συμπεριφορά Καταναλωτών και έρευνα αγοράς
o Ηλεκτρονικό εμπόριο σε επιχειρήσεις και οργανισμούς
o Υποστηρικτικές υπηρεσίες στο ηλεκτρονικό εμπόριο
o Θέματα υλοποίησης του ηλεκτρονικού επιχειρείν
• Νέες Τεχνολογίες και Εφαρμογές
o Διείσδυση των νέων τεχνολογιών στα δικτυοκεντρικά πληροφοριακά συστήματα
o Κινητή υπολογιστική (Mobile Computing, Wireless Computing) o Τεχνολογίες
o Υποδομές
o Εφαρμογές για την υποστήριξη των πελατών
o Υπολογιστική νέφους (Cloud Computing) o Χαρακτηριστικά και μοντέλα της υπολογιστικής νέφους
o Τύποι υπολογιστικού νέφους
o Διαμοιρασμός πόρων
o Κλιμάκωση-Επέκταση
o Πλεονεκτήματα και μειονεκτήματα του υπολογισμού στο νέφος
o Εφαρμογή της κινητής υπολογιστικής και της υπολογιστικής νέφους
o Η πανταχού παρούσα υπολογιστική – Διάχυτος υπολογισμός (Pervasive-Ubiquitous Computing) o Αξιοποίηση ετερογενών συσκευών
o Eμπόριο βασισμένο στην τοποθεσία
o Κινητό εμπόριο
o Έξυπνα σπίτια και έξυπνα σχολεία
• Κατανεμημένα Συστήματα Βασισμένα σε Κείμενο
o Τι είναι τα κατανεμημένα συστήματα
o Ο παγκόσμιος ιστός o Οργάνωση
o Χώροι ονομάτων (URI, URN και URL)
o
o Τύποι εγγράφων στον παγκόσμιο ιστό
o Αρχιτεκτονική και υποδομή του παγκόσμιου ιστού
o Πρωτόκολλο HTTP o Συνδέσεις
o Μηνύματα
o Εξυπηρετητές ιστού o Εξυπηρετητής Apache
o Αναπαραγωγή και Συσταδοποίηση των εξυπηρετητών ιστού
o Tο μοντέλο πελάτη-εξυπηρετητή
o Ασφάλεια επικοινωνίας πελάτη-εξυπηρετητή
o Εξυπηρετητές εφαρμογών ιστού
• Βασικές και Προηγμένες Τεχνικές Προγραμματισμού και Λειτουργίας στον Παγκόσμιο Ιστό
o Νέες τεχνολογίες στην πλευρά του πελάτη o Γλώσσες σήμανσης HTML και HTML5
o Κανόνες μορφοποίησης (CSS)
o JavaScript και βιβλιοθήκες JQuery και jQuery Mobile
o Η γλώσσα eXtensible Markup Language (XML) o Document Type Definition (DTD)
o Σχήμα XML (XML Schema)
o Extensible Stylesheet Language (XSL)
o To πρότυπο ανταλλαγής δεδομένων JSON
o Ασύγχρονη επικοινωνία (AJAX)
o Άλλες τεχνολογίες o Python
o JavaScript βιβλιοθήκες Underscore.js, MooTools και Node.js
o Java Applets
• Διαδικτυακός Προγραμματισμός με Java: Servlets και JSP
o H γλώσσα προγραμματισμού Java
o Java Servlets o Παραδείγματα
o Μειονεκτήματα
o Διαχείριση συνεδριών
o Αυθεντικοποίηση μέσω σύνδεσης σε βάση δεδομένων
o Java Server Pages (JSP) και βιβλιοθήκες δομημένης ανάπτυξης εφαρμογών ιστού
o Αρχιτεκτονική Model-View-Controller (MVC)
o Πλαίσια Εφαρμογών Ιστού o Το πλαίσιο Struts
o Το πλαίσιο Spring
• Υπηρεσίες Ιστού (Web Services)
o Ορισμοί και ιδιότητες των υπηρεσιών ιστού
o Πρωτόκολλο Simple Object Access Protocol (SOAP)
o Η γλώσσα περιγραφής Web Services Description Language (WSDL)
o Το πρότυπο Universal Discovery Description and Integration (UDDI)
o Υλοποίηση υπηρεσιών ιστού
o Σύγκριση υπηρεσιών ιστού με τεχνολογίες RMI, CORBA και EJB
o Αρχιτεκτονική Representational State Transfer (REST) στις υπηρεσίες ιστού
• Υπηρεσιοστρεφείς Αρχιτεκτονικές (Service Oriented Architecture-SOA)
o Πρακτικές υπηρεσιοστρεφών τεχνικών
o Yλοποίηση της SOA σε επιχειρησιακό περιβάλλον
o Σχέση SOA και υπηρεσιών ιστού
o Επιχειρησιακός Δίαυλος Υπηρεσιών (Enterprise Service Bus/ESB)
• Ανάπτυξη Πληροφοριακών Συστημάτων στο Διαδίκτυο
o Ανάπτυξη έργων πληροφορικής σε επιχειρήσεις και οργανισμούς
o Μεθοδολογία ανάπτυξης λογισμικού–Μοντέλο του Καταρράκτη
o Εντοπισμός και ανάλυση των απαιτήσεων
o Εργαλεία σχεδίασης συστημάτων λογισμικού
o Σχεδιασμός της βάσης δεδομένων
o Γενικές τεχνικές υλοποίησης για την ανάπτυξη και τον έλεγχο του κώδικα λογισμικού
Ασφάλεια εφαρμογών ιστού
Με την ολοκλήρωση του μαθήματος οι φοιτητές θα είναι σε θέση:
- Να διαθέτουν ευρεία γνώση για τις νέες τεχνολογικές τάσεις που αφορούν τα πληροφοριακά συστήματα στο διαδίκτυο.
- Να περιγράφουν τον ρόλο των δικτυοκεντρικών πληροφοριακών συστημάτων στο σύγχρονο επιχειρηματικό περιβάλλον και στη δικτυακή οικονομία (Networked Economy).
- Να κατέχουν εξειδικευμένη γνώση για τις εφαρμογές που έχουν τα δικτυοκεντρικά πληροφοριακά συστήματα στο ηλεκτρονικό επιχειρείν (e-business) και στο ηλεκτρονικό εμπόριο (e-commerce).
- Να γνωρίζουν τις τεχνολογίες που χρησιμοποιούνται στον δικτυοκεντρικό υπολογισμό (Network Computing).
- Να προσδιορίζουν με ευχέρεια και ακρίβεια τις αλλαγές, τις προοπτικές και τους κινδύνους που έχει επιφέρει η ανάπτυξη της κινητής υπολογιστικής, της υπολογιστικής νέφους και του διάχυτου υπολογισμού στα δικτυοκεντρικά πληροφοριακά συστήματα και κατ’ επέκταση στις επιχειρηματικές διαδικασίες.
- Να γνωρίζουν σε βάθος τα χαρακτηριστικά των υποδομών που απαιτούνται για τη λειτουργία και την προώθηση των δικτυοκεντρικών πληροφοριακών συστημάτων.
- Να χρησιμοποιούν με ευχέρεια JavaScript βιβλιοθήκες (π.χ. jQuery, Underscore.js)
- Να υλοποιούν πρωτότυπες μικροεφαρμογές (Java Applets/Servlets) με χρήση της γλώσσας προγραμματισμού Java.
- Να δημιουργούν ιστοσελίδες με δυναμικό περιεχόμενο με την τεχνολογία Java Server Pages (JSP).
- Να αξιοποιούν μοντέρνες τεχνικές διαδικτυακού προγραμματισμού, όπως πλαισίων εφαρμογών ιστού (Struts, Spring).
- Να γνωρίζουν τη χρησιμότητα των υπηρεσιών ιστού, του πρωτοκόλλου SOAP, της περιγραφικής γλώσσας WSDL και του προτύπου UDDI.
- Να δημιουργούν και να συνθέτουν με ευχέρεια υπηρεσίες ιστού (web services).
- Να αναγνωρίζουν τις βασικές έννοιες, τα πλεονεκτήματα και τον τρόπο υλοποίησης της υπηρεσιοστραφούς αρχιτεκτονικής (SOA).
- Να καταγράφουν τις λειτουργικές προδιαγραφές που απαιτεί η ανάπτυξη ενός δικτυοκεντρικού πληροφοριακού συστήματος και να προτείνουν τη μεθοδολογία ανάπτυξης που θα υιοθετηθεί.
- Να αξιοποιούν τα εργαλεία και τις τεχνικές που παρουσιάστηκαν στο μάθημα ώστε να αναπτύσσουν ολοκληρωμένες διαδικτυακές και πρωτότυπες εφαρμογές και βάσεις δεδομένων.
- Να εφαρμόζουν με ευχέρεια και πρωτοτυπία τις σχετικές με τα πληροφοριακά συστήματα στο διαδίκτυο γνώσεις στις έρευνες, μελέτες και εργασίες τους με κριτικό και δημιουργικό τρόπο.
- Να επιδεικνύουν κριτική κατανόηση στον τρόπο διασύνδεσης των σχετικών με τα πληροφοριακά συστήματα στο διαδίκτυο γνώσεων με ποικίλους γνωστικούς τομείς.,
- Να εφαρμόζουν τις σχετικές με τα πληροφοριακά συστήματα στο διαδίκτυο γνώσεις για την επίλυση σύνθετων ζητημάτων στο χώρο εργασίας με επιστημονικά τεκμηριωμένο τρόπο,
- Να αναπτύσσουν με αυτονομία τις σχετικές με τα πληροφοριακά συστήματα στο διαδίκτυο γνώσεις και ικανότητές τους,
- Να επιλύουν προβλήματα και να λαμβάνουν στρατηγικές αποφάσεις με αφετηρία την επαγωγική σκέψη βασιζόμενοι στις σχετικές με τα πληροφοριακά συστήματα στο διαδίκτυο γνώσεις.















