Α΄ Εξάμηνο
Υποχρεωτικά Μαθήματα
Αρχές και Τεχνικές προγραμματισμού - Γλώσσα C
Περιγραφή:
- Συντακτικό γλωσσών προγραμματισμού (Γραμματικές Chomsky, BNF, eBNF, συντακτικά διαγράμματα), Παραγωγές, Συντακτικά δένδρα.
- Βασικοί τύποι δεδομένων αρχιτεκτονικής και Τύποι στις γλώσσες.
- Αντικείμενα μνήμης (απόδοση τιμής, dereferencing, δείκτες).
- Οργάνωση μνήμης (στοίβα και σωρός).
- Περιοχές ισχύος και Διάρκεια ζωής. Χρήση ονομάτων στο πρόγραμμα και συσχέτισή (binding) τους με θέση μνήμης (Δηλώσεις, εμβέλεια).
- Εκφράσεις και διάταξη υπολογισμού (Παράμετροι συναρτήσεων, Πράξεις, προτεραιότητα και προσεταιριστικότητα).
- Υποπρογράμματα και τρόποι περάσματος παραμέτρων.
- Εντολές ελέγχου ροής.
- Τεχνικές Προγραμματισμού. Τεχνικές Ανάπτυξης Προγραμμάτων. Διαγνωστικός Έλεγχος, Δομημένος Προγραμματισμός. Ανάπτυξη Προγραμμάτων από το Γενικό προς το Ειδικό (Top Down). Ενότητες (Modularity), Genericity.
Διδάσκων: Ι. Κοτρώνης, Α. Κολοβού
E-mail: cotronis[at]di.uoa.gr, akolovou[at]di.uoa.gr
E-class
Δίκτυα Επικοινωνιών
Περιγραφή:
- Δίκτυα Επικοινωνιών και το Internet.
- Αρχές σχεδιασμού και υπηρεσίες επιπέδου μεταφοράς, πολυπλεξία εφαρμογών, UDP, αρχές αξιόπιστης μεταφοράς δεδομένων, TCP, έλεγχος συμφόρησης.
- Επίπεδο δικτύου, αρχές δρομολόγησης, ιεραρχική δρομολόγηση, IP, δρομολόγηση στο Internet, δρομολογητές, IPv6, δρομολόγηση πολλαπλών παραληπτών.
- Επίπεδο ζεύξης και τοπικά δίκτυα, ανίχνευση και έλεγχος λαθών, δίκτυα και πρωτόκολλα πολλαπλής πρόσβασης, Ethernet, IEEE 802.11, PPP, δίκτυα τεχνολογίας ΑΤΜ, frame relay.
- Μοντέλα καθυστέρησης: βασικά μοντέλα και αποτελέσματα από την θεωρία ουρών και εφαρμογές στα δίκτυα.
- Τεχνικές ελέγχου ποιότητας υπηρεσίας.
Διδάσκων: Α. Τζανακάκη
E-mail: atzanakaki[at]phys.uoa.gr
E-class
Δομές και Αλγόριθμοι
Περιγραφή:
- Δομές δεδομένων: Λίστες και Αραιοί πίνακες. Δυαδικά δένδρα αναζήτησης, red-black δένδρα. Υλοποίηση συνόλων.
- Αλγόριθμοι: Αλγόριθμοι ταξινόμησης: συγχώνευσης και σωρού σε πίνακες και λίστες. Αλγόριθμοι για γράφους: Δένδρα ελάχιστου βάρους, Εύρεση συντομότερης απόστασης, Συνδεδεμένα τμήματα, Μέγιστη ροή. Δυναμικός προγραμματισμός, πολυπλοκότητα και παράλληλοι αλγόριθμοι.
Διδάσκων: Δ. Ρεΐσης
E-mail: dreisis[at]phys.uoa.gr
Ψηφιακά Συστήματα και Αρχιτεκτονική Υπολογιστών
Περιγραφή:
- Γλώσσες περιγραφής υλικού (περιγραφή συνδυαστικής και ακολουθιακής λογικής σε VHDL).
- Αριθμητικά συστήματα σταθερής και κινητής υποδιαστολής.
- Ψηφιακά δομικά στοιχεία (κυκλώματα αριθμητικής, ακολουθιακά δομικά στοιχεία, διατάξεις μνήμης, διατάξεις λογικής).
- Υλοποίηση ψηφιακών συστημάτων (χρονισμός ακολουθιακής λογικής).
- Αρχιτεκτονική ARM (εντολές, συμβολική γλώσσα, προγραμματισμός, γλώσσα μηχανής).
- Μικροαρχιτεκτονική επεξεργαστών ενός κύκλου, πολλών κύκλων και με συνεχή διοχέτευση (pipelining).
- Περιγραφή μικροαρχιτεκτονικής σε VHDL.
Διδάσκων: Α. Πασχάλης
E-mail: paschalis[at]di.uoa.gr
Μαθήματα Επιλογής
Β΄ Εξάμηνο - Μαθήματα Επιλογής
Αντικειμενοστραφής Προγραμματισμός (JAVA)
Περιγραφή:
- Βασικές έννοιες στην Java, Κλάσεις και Αντικείμενα.
- Ενθυλάκωση, Κληρονομικότητα και Πολυμορφισμός.
- Διεπαφές, Συμβάντα και η αντιμετώπισή τους.
- Υποβοήθηση βασικών στόχων του software engineering.
- Διεπαφές με χρήστη, Γραφικό περιβάλλον, Γενική ανασκόπηση της βιβλιοθήκης AWT (Abstract Window Tollkit) και Java Swing.
- Δομές δεδομένων στην Java.
- Εξαιρέσεις και τρόποι χειρισμού των.
- Εφαρμογή της γλώσσας Java σε προγραμματισμό δικτυακών εφαρμογών και υπηρεσιών.
- Java και XML με συναφείς τεχνολογίες.
Διδάσκων: Γ. Στασινόπουλος
E-mail: stassin[at]cs.ntua.gr
Εφαρμογές Διαδικτύου
Περιγραφή:
- Αρχιτεκτονική συστήματος παγκόσμιου ιστού (WWW). Πρωτόκολλο HTTP (Επικεφαλίδες, Παραμένουσες συνδέσεις). Ρόλοι.
- Τεχνολογία WWW Caching (αντικατάσταση αντικειμένου, συνέπεια αντικειμένου).
- Συνεργατικό Caching (αρχιτεκτονικές, πρωτόκολλα).
- Προαποκομιδή περιεχομένου.
- Δίκτυα διανομής περιεχομένου (αρχιτεκτονικές, πρωτόκολλα).
- Δομή/Λειτουργία WWW εξυπηρετητών.
- Δίκτυα ομότιμων (αρχιτεκτονικές, πρωτόκολλα).
- Διάθεση δυναμικού περιεχομένου.
- Τεχνολογία πυλών επικοινωνίας σε WWW εξυπηρετητές.
- Πρόβλημα διαχείρισης μνήμης.
- Μηχανισμοί ασφάλειας.
- WWW εξυπηρετητές εφαρμογών.
- Διάθεση δυναμικού περιεχομένου μέσω δικτύων διανομής.
Διδάσκων: Ε. Χατζηευθυμιάδης
E-mail: shadj[at]di.uoa.gr
E-class
Μικροεπεξεργαστές - DSPs
Περιγραφή:
- Μικροελεγκτές (Microcontrollers).
- Ψηφιακοί Επεξεργαστές Σήματος (Digital Signal Processors).
- Σωλήνωση (Pipelining).
- Πρόβλεψη διακλάδωσης.
- Αρχιτεκτονικές ΙΑ-32, Ιntel 64: Τρόποι λειτουργίας, Τρόποι διευθυνσιοδότησης, Θύρες εισόδου-εξόδου, Διαδικασίες (procedures), Διακοπές (Interrupts), Επίπεδα προνομίων, Εναλλαγή εργασιών, Οργάνωση και διαχείριση μνήμης (τμήματα σελίδες), Εικονική μνήμη.
Διδάσκων: Ε. Τσίλης
E-mail: mtsilis[at]phys.uoa.gr
E-class
Προηγμένα Θέματα Πληροφοριακών & Υπολογιστικών Συστημάτων
Περιγραφή:
- Συμπίεση Video: η θεωρία που χρησιμοποιείται στη συμπίεση πλαισίων καθώς και τα πρότυπα H.264, H.265.
- Αρχιτεκτονική video κωδικοποιητών: οι μονάδες που χρησιμοποιούνται στους κωδικοποιητές, σωλήνωση και παραλληλισμός για επιδόσεις πραγματικού χρόνου, απλοποιήσεις για μείωση κόστους, θέματα απόδοσης και κόστους.
- Τεχνικές και αλγόριθμοι για video πρόβλεψη ενδο-πλαισιακή (intra) και δια-πλαισιακή (inter).
- Λειτουργικό i-Phone: γλώσσα, λειτουργία, θέματα ταχύτητας, μεγέθους υλοποίησης και ανάπτυξης εφαρμογών.
- Λειτουργικό Android: γλώσσα, λειτουργία, θέματα ταχύτητας, συμβατότητας εφαρμογών και παραδείγματα υλοποίησης εφαρμογών.
- Θέματα ασφάλειας σε δίκτυα.
- Υπολογιστικό νέφος
Διδάσκοντες: Δ. Ρεΐσης, Α. Τζανακάκη, Κ. Νάκος, Ν. Βλασσόπουλος, Γ. Λεντάρης, Γ. Συννεφάκης, Β. Σταθόπουλος
E-mail: dreisis[at]phys.uoa.gr
Προηγμένη Σχεδίαση Ψηφιακών Συστημάτων
Περιγραφή:
- Η απαιτούμενη VHDL για τη σωστή σύνθεση ενός ψηφιακού συστήματος σε επίπεδο RTL.
- Λειτουργική επαλήθευση βασισμένη στην προσομοίωση με τη δημιουργία VHDL Test Benches.
- Δοκιμή ψηφιακών συστημάτων (μοντελοποίηση και προσομοίωση ελαττωμάτων, και ψηφιακή σχεδίαση με στόχο την υψηλή δοκιμαστικότητα με τεχνικές αυτοδοκιμής στο υλικό και στο λογισμικό (Scan, BIST, SBST).
- Αξιοπιστία ψηφιακών συστημάτων (σχεδίαση με στόχο την υψηλή αξιοπιστία, τεχνικές περιορισμού των αποτελεσμάτων της ακτινοβολίας σε ASICs και FPGAs).
- Επιταχυντές υλικού που υλοποιούνται σε FPGAs για διαστημικές εφαρμογές.
- Σχεδίαση σε VLDL με το εργαλείο λογισμικού VIVADO της Xilinx και υλοποίηση στην αναπτυξιακή κάρτα Zedboard ενός επιταχυντή υλικού για διάφορες εφαρμογές (π.χ. ψηφιακή επεξεργασία εικόνας), ως IP core, και επικοινωνία αυτού με host-PC και με οθόνη.
Διδάσκων: Α. Πασχάλης, Ν. Κρανίτης
E-mail: paschalis[at]di.uoa.gr
Συστήματα Αυτομάτου Ελέγχου Ι
Περιγραφή:
- Έκταση θεωρίας και εφαρμογών συστημάτων ελέγχου. Τεχνολογικές και μη εφαρμογές.
- Συνοπτική μελέτη κλασσικού ελέγχου (μετασχηματισμός Laplace, συνάρτηση μεταφοράς, ανάδραση, κριτήρια ευστάθειας και Nyquist, ολική χρονική απόκριση βάσει της θέσεως των πόλων, χώρος κατάστασης).
- Μαθηματική εισαγωγή στον αυτόματο έλεγχο (πίνακες, ιδιοτιμές, λήμμα μερισμού, θεώρημα Gerschgorin, παραγώγιση πίνακα, βαθμωτού και ανύσματος).
- Γενική απόκριση χρονικά μεταβαλλόμενου γραμμικού συστήματος. Μεταβατικός πίνακας (περίπτωση κλειστής μορφής). Διακριτοποίηση συνεχούς LTI συστήματος. Μετατροπή συνάρτησης μεταφοράς σε πίνακα με απλές και πολλαπλές ιδιοτιμές (Jordan).
- Ελέγξιμο και παρατηρήσιμο MIMO συστήματος. Κριτήριο Kalman και ιδιοανυσμάτων.
- Κανονική μορφή φάσεως ελέγξιμου (πολλές είσοδοι). Μετατόπιση ιδιοτιμών με ανάδραση κατάστασης (γενική λύση για σύστημα σε κανονική μορφή φάσης) και με ανάδραση εξόδων.
- Αποσύζευξη εισόδων εξόδων (συνθήκη και λύση του προβλήματος. Τάξη και δομή στο άπειρο του πίνακα συνάρτησης μεταφοράς).
Διδάσκων: Δ. Ευαγγελάτος
E-mail: devang[at]phys.uoa.gr
Συστήματα Ψηφιακής Επεξεργασίας Σήματος
Περιγραφή:
- Σχεδίαση και υλοποίηση συστημάτων υλικού για την ψηφιακή επεξεργασία σημάτων σε πραγματικό χρόνο.
- Μεθοδολογίες σχεδίασης για υλοποιήσεις με τεχνολογίες υλικού ειδικού σκοπού, όπως τα ASICs, FPGAs κτλ.
- Μοντέλα περιγραφής αλγόριθμων ψηφιακής επεξεργασίας, παράλληλη επεξεργασία και σωλήνωση (pipelining) για ψηφιακή επεξεργασία υψηλών επιδόσεων.
- Αριθμητική υπολογιστών για γρήγορη ψηφιακή επεξεργασία: αθροιστές, πολλαπλασιαστές, κατανεμημένη αριθμητική, μονάδες CORDIC, αποδοτικά φίλτρα FIR, IIR.
- Συστηματική απεικόνιση αλγορίθμων σε παράλληλες αρχιτεκτονικές.
- Μεθοδολογίες και εργαλεία σχεδίασης με υπολογιστή.
- Ενσωματωμένα συστήματα.
- Υλοποιήσεις χαμηλής κατανάλωσης ισχύος.
Διδάσκων: Η. Μανωλάκος
E-mail: eliasm[at]di.uoa.gr
Γ΄ Εξάμηνο - Μαθήματα Επιλογής
Ανάπτυξη και Αξιολόγηση Παράλληλων Εφαρμογών
Περιγραφή:
- Σχεδιασμός, προγραμματισμός και αξιολόγηση παραλλήλων εφαρμογών.
- Μέτρα επιτάχυνσης, επίδοσης, κλιμάκωση και νόμοι Amdahl και Gustafson.
- Μεθοδολογία σχεδιασμού και αξιολόγησης παράλληλων εφαρμογών κατά Foster.
- Παραλληλισμός δεδομένων (data parallelism) και πεδίου (domain parallelism).
- Παράλληλος προγραμματισμός στα πρότυπα MPI, OpenMP και Cuda και υβριδικός συνδυασμός τους.
- Τεχνικές παράλληλου προγραμματισμού για βελτίωση επιδόσεων. Εργαστήριο και άσκηση σχεδιασμού και αξιολόγησης παράλληλης εφαρμογής.
Διδάσκων: Ι. Κοτρώνης
E-mail: cotronis[at]di.uoa.gr
Δικτύωση Βασισμένη στο Λογισμικό
Περιγραφή:
- Εισαγωγή στον σχεδιασμό και επαλήθευση πρωτοκόλλων.
- Σχεδιασμός τηλεπικοινωνιακών υπηρεσιών και πρωτοκόλλων σε δίκτυα και φορμαλιστική προδιαγραφή τους.
- Πεπερασμένες μηχανές καταστάσεων, Δομή πρωτοκόλλων, Διαγράμματα ροής μηνυμάτων, Μορφοποίηση μηνυμάτων, Έλεγχος συμμόρφωσης πρωτοκόλλων.
- Γλώσσα επαλήθευσης πρωτοκόλλων PROMELA, Εργαλεία επαλήθευσης πρωτοκόλλων.
Διδάσκων: Α. Αλωνιστιώτη
E-mail: nancy[at]@di.uoa.gr
Παράλληλα και Κατανεμημένα Συστήματα
Περιγραφή:
- Εισαγωγή στις αρχιτεκτονικές τύπου μήτρας και πολυπλοκότητα κόστους υλοποίησης σε VLSI. Παράδειγμα υλοποίησης σε FPGA.
- Κριτήρια διαμέτρου και διατομής.
- Αλγόριθμοι επίλυσης συστημάτων.
- Θεώρημα και Αλγόριθμοι ταξινόμησης.
- Μετατροπή αρχιτεκτονικής σε συστολική.
- Αλγόριθμοι και Τεχνικές δρομολόγησης: Ντετερμινιστικοί αλγόριθμοι και ανάλυση μεγέθους ουρών και χρόνου καθυστέρησης. Αλγόριθμοι δρομολόγησης με τυχαία γέννηση πακέτων και τυχαίο προορισμό.
Διδάσκων: Δ. Ρεΐσης
E-mail: dreisis[at]phys.uoa[dot]gr
Συστήματα Αυτομάτου Ελέγχου ΙΙ
Περιγραφή:
- Απλοποίηση συστημάτων (Μέθοδοι επικρατέστερων πόλων, μέθοδος συνάθροισης, ιδιόμορφων διαταραχών κα.).
- Δομημένα συστήματα. Πίνακας προσιτότητας και ισχυρά συνεκτικές συνιστώσες. Βαθμός όρου πίνακα και μέγιστη προσαρμογή. Δομική ελεγξιμότητα και παρατηρησιμότητα. Διαμερισμός. Δομικά σταθερές ιδιοτιμές.
- Πολυμεταβλητός έλεγχος στο πεδίο της μιγαδικής, με ανάδραση. Ευστάθεια, πίνακας επιστροφής διαφοράς, σφάλματα, αλληλεπίδραση καναλιών, ακεραιότητα συστήματος. Κριτήριο Nyquist για MIMO συστήματα. Αντίστροφη συστοιχία Nyquist. Ανάλυση συστήματος συγκοινωνούντων δοχείων.
- Παρατηρητές κατάστασης τύπου Ι και τύπου ΙΙ, πλήρους και μειωμένης τάξεως. Κλειστό σύστημα με παρατηρητές, αρχή διαχωρισμού.
- Ασαφή συστήματα (ασαφή σύνολα, πράξεις τους, ιδιότητες, συνάρτηση συμμετοχής, βάση κανόνων ασαφούς ελεγκτή και μηχανή συμπερασμού. Ασαφοποίηση και αποασαφοποίηση, γραφική μορφή μεταβλητής ελέγχου.).
- Βέλτιστος έλεγχος. Βασικό πρόβλημα, αρχή του μεγίστου, καθορισμένος τελικός χρόνος (Με τελική τιμή κατάστασης ή όχι). Ελεύθερος τελικός χρόνος. Γραμμικά συστήματα με τετραγωνικό κόστος, εξισώσεις πίνακα Riccati. Βέλτιστος έλεγχος διακριτών συστημάτων, γραμμικών και μη.
- Δυναμικός προγραμματισμός (Αρχή αριστότητας του Bellman, συνάρτηση βέλτιστης απόδοσης σε συστήματα διακριτού χρόνου και συστήματα συνεχούς χρόνου).
- Παραδείγματα σε κάθε ενότητα.
Διδάσκων: ΔΕΝ ΘΑ ΠΡΟΣΦΕΡΘΕΙ
E-mail:
Συστήματα Πολυμέσων
Περιγραφή:
- Εισαγωγή, βασικές έννοιες.
- Απεικόνιση, κβάντιση χρώματος.
- Μορφότυπα.
- Χρωματικά μοντέλα και Μετασχηματισμοί.
- Αναλογικό video (PAL, SECAM, NTSC).
- Teletext.
- Ψηφιοποίηση αναλογικού σήματος (ITU-R 601).
- Υποδειγματοληψία.
- Συμπίεση εικόνας JPEG – Διακριτός μετασχηματισμός συνημιτόνου.
- JPEG-LS.
- Συμπίεση Video.
- Σάρωση/Αναζήτηση διανυσμάτων κίνησης.
- Κωδικοποιήσεις H.261, H.263.
- Συμπίεση MPEG-1, 2 και 4.
- Δικτυακά Θέματα (Ποιότητα υπηρεσίας, RTP/RTCP, RTSP σηματοδοσία).
- Αρχιτεκτονικές συστημάτων διανομής (VoD, n-VoD).
- Συστημικά θέματα (χρονοπρογραμματισμός πραγματικού χρόνου, χρονοπρογραμματισμός δίσκου με προθεσμίες).
- Διαδικτυακά πολυμέσα (SMIL).
Διδάσκων: Ε. Χατζηευθυμιάδης
E-mail: shadj[at]di.uoa.gr
E-class
Τεχνικές Ανάλυσης Δεδομένων Υψηλής Κλίμακας
Περιγραφή:
Τεχνικές εξόρυξης δεδομένων και μηχανικής μάθησης για τη ανάλυση μεγάλων συνόλων δεδομένων και την εξαγωγή πληροφορίας από αυτά. Τα βασικά θέματα που καλύπτονται περιλαμβάνουν:
- Αλγόριθμοι για συσταδοποίηση και κατηγοριοποίηση.
- Τεχνικές για εύρεση σημείων σε χώρους μεγάλων διαστάσεων.
- Αλγόριθμοι για ροές δεδομένων και για χρονοσειρές.
- Ανάλυση συνδέσμων ιστού.
- Αλγόριθμοι Μηχανικής Μάθησης για μεγάλα δεδομένα.
- Τεχνικές μείωσης αριθμού διαστάσεων.
- Συστήματα και αλγόριθμοι MapReduce.
Διδάσκοντες: Δ. Γουνόπουλος
E-mail: dg[at]di.uoa.gr