cs@ucy.ac.cy | +357-22-892700

| | | MyCS Portal |

Περιγραφές Μαθημάτων Προπτυχιακού Προγράμματος

Κάθε περιγραφή φέρει το όνομα του διδάσκοντος κατά το ακαδημαϊκό έτος 2025/2026 ή του εισηγητή του μαθήματος για μαθήματα περιορισμένης επιλογής που δεν προσφέρονται κατά το ακαδημαϊκό έτος 2025/2026. Η γλώσσα διδασκαλίας όλων των μαθημάτων είναι η Ελληνική, εκτός αν αναφέρεται κάτι διαφορετικό στην περιγραφή του μαθήματος (ένας μικρός αριθμός μαθημάτων προσφέρεται στα Αγγλικά).

Τίτλος Μαθήματος: Διακριτές Δομές στην Πληροφορική και τον Υπολογισμό

Κωδικός Μαθήματος: ΕΠΛ 111

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 1ο έτος/1ο εξάμηνο

Όνομα Διδάσκοντα: Α. Πιερής

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Εισαγωγή σε βασικές έννοιες διακριτών μαθηματικών και πως αυτές εφαρμόζονται στην Πληροφορική. Ανάπτυξη μαθηματικού τρόπου σκέψης.

Μαθησιακά Αποτελέσματα: Μετά την ολοκλήρωση του μαθήματος, οι φοιτητές θα έχουν αποκτήσει τις ακόλουθες γνώσεις και δεξιότητες:

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

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Λογική: Προτασιακή και Κατηγορική λογική. Μαθηματικός συλλογισμός: κανόνες συμπερασμού, μέθοδοι αποδείξεων. Θεμελιώδεις έννοιες: σύνολα και συναρτήσεις. Αριθμησιμότητα και υπολογισιμότητα. Μαθηματική επαγωγή: απλή επαγωγή, δεύτερη αρχή της επαγωγής, επαγωγή στη δομή. Βασικές αρχές απαρίθμησης: προσθετική αρχή, πολλαπλασιαστική αρχή, αρχή εγκλεισμού-αποκλεισμού, αρχή του περιστερώνα. Διατάξεις και συνδυασμοί: διατεταγμένη/μη-διατεταγμένη επιλογή, με/χωρίς επανατοποθέτηση. Σχέσεις συνόλων: ιδιότητες και εφαρμογές, σχέσεις ισοδυναμίας, μερικές διατάξεις. Βασικές έννοιες θεωρίας γράφων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως), Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • K. Rosen, Discrete Mathematics and its Applications, 5th Edition, McGraw-Hill, 2003.

Αξιολόγηση: Τελική εξέταση, διαγνωστικά και κατ’οίκον εργασία.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Ψηφιακά Συστήματα

Κωδικός Μαθήματος: ΕΠΛ 121

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 1ο έτος/2ο εξάμηνο

Όνομα Διδάσκοντα: Κ. Παττίχης / Π. Κολιός

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

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

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

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή στην αφαιρετικότητα και τεχνολογία των υπολογιστών. Αναπαράσταση δεδομένων με δυαδικές ακολουθίες. Αριθμητική για υπολογιστές. Βασικές έννοιες λογικής σχεδίασης: συνδυαστική λογική, αριθμητική και λογική μονάδα, ακολουθιακά κυκλώματα, καταχωρητές και μνήμη. Βασικές αρχές κωδικοποίησης εντολών. Αρχές οργάνωσης των βασικών λειτουργικών μονάδων ενός υπολογιστή σε επίπεδο μηχανής: Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ). Εισαγωγή στο προγραμματισμό στη συμβολική γλώσσα MIPS R2000/R3000. Εμπέδωση της θεωρίας με πρακτική εξάσκηση στο εργαστήριο Ψηφιακής Σχεδίασης και Μικροεπεξεργαστών.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • D. A. Patterson, J. L. Hennessy, Computer Organization and Design, 5th Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) Paperback, 2013.
  • M. Morris Mano, Charles Kime, Tom Martin, Logic & Computer Design Fundamentals, 5th Edition, Pearson, 2015.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, διαγνωστικά και κατ’οίκον εργασία (τελική εργασία και ασκήσεις).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Αρχές Προγραμματισμού

Κωδικός Μαθήματος: ΕΠΛ 131

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 1ο έτος/1ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Σαζεΐδης/ Ε. Κεραυνού-Παπαηλιού

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Μάθηση μεθόδων επίλυσης προβλημάτων μέσω προγραμματισμού και απόκτηση δεξιοτήτων με χρήση του διαδικαστικού και αντικειμενοστρεφούς μοντέλου προγραμματισμού και θεμελίωση της αλγοριθμικής σκέψης. Θεμελίωση βασικών αρχών προγραμματισμού, αλγοριθμικών τεχνικών και δομών προγραμμάτων. Σχεδίαση, υλοποίηση, δοκιμή και αποσφαλμάτωση αρθρωτών προγραμμάτων. Κατανόηση των σημαντικών εννοιών της αφαιρετικότητας προγράμματος και αφαιρετικότητας δεδομένων. Μάθηση μιας υψηλού επιπέδου γλώσσας προγραμματισμού (της Java).

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

  • Κατανόηση βασικών αλγοριθμικών δομών.
  • Κατανόηση θεμελιωδών εννοιών του προγραμματισμού.
  • Εμπέδωση βασικών αρχών προγραμματισμού, αλγοριθμικών τεχνικών και δομών προγραμμάτων.
  • Κατανόηση των εννοιών της αφαιρετικότητας (μεθόδων και δεδομένων), επαναχρησιμοποίησης, άρθρωσης και ιεραρχικής δόμησης.
  • Ανάπτυξη δεξιοτήτων στην επίλυση προβλημάτων με δομημένο διαδικαστικό και αντικειμενοστραφές τρόπο.
  • Ικανότητα σχεδιασμού, υλοποίησης, δοκιμής, αποσφαλμάτωσης και τεκμηρίωσης προγραμμάτων.
  • Ικανότητα συλλογισμού για την ορθότητα, συμπεριφορά και ποιότητα αλγοριθμικών λύσεων.
  • Ικανότητα αξιολόγησης της δυνατότητας επέκτασης ενός προγράμματος.
  • Θεμελίωση αλγοριθμικής σκέψης, ανεξαρτήτως γλωσσών προγραμματισμού.
  • Ικανότητα στη χρήση της υψηλού επιπέδου γλώσσας προγραμματισμού Java.

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Παρουσίαση της διαδικασίας ανάπτυξης λογισμικού και εισαγωγή των βασικών αρχών προγραμματισμού και της σχεδίασης προγραμμάτων μέσω της γλώσσας προγραμματισμού Java. Γενική παρουσίαση της γλώσσας προγραμματισμού Java με έμφαση στους ενσωματωμένους και αφηρημένους τύπους δεδομένων, στις δομές ελέγχου, τις συναρτήσεις, τον αρθρωτό προγραμματισμό και την επαναχρησιμοποίηση. Χρήση αναδρομής.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • R. Sedgewick και K. Wayne, Introduction to Programming in Java: An Interdisciplinary Approach, Addison Wesley, 2008

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, κατ’οίκον εργασία (προγραμματιστικές ασκήσεις) και διαγνωστικά.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Αντικειμενοστρεφής Προγραμματισμός

Κωδικός Μαθήματος: ΕΠΛ 132

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 1ο έτος/2ο εξάμηνο

Όνομα Διδάσκοντα: Χρ. Χριστοφόρου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 2 x 1.5 ώρες

Στόχοι Μαθήματος: Το μάθημα έχει στόχο να διδάξει τα βασικά της αντικειμενοστρεφoύς ανάλυσης, σχεδιασμού και προγραμματισμού με τη γλώσσα προγραμματισμού Java. Βασικός σκοπός του μαθήματος είναι να εξοικειώσει τους φοιτητές με τις αρχές του Αντικειμενοστρεφούς Προγραμματισμού (object-oriented programming), να τους βοηθήσει να αναπτύξουν επάρκεια στη χρήση της Αντικειμενοστρεφούς Μεθοδολογίας και της γλώσσας Java για την επίλυση υπολογιστικών προβλημάτων, στη χρήση προχωρημένων προγραμματιστικών τεχνικών και στην επίλυση πολύπλοκων προβλημάτων. Οι φοιτητές θα αποκτήσουν εμπειρία στην ανάπτυξη λογισμικού σε μεγαλύτερη κλίμακα και στην ομαδική εργασία.

Μαθησιακά Αποτελέσματα: Ο φοιτητής/φοιτήτρια που έχει ολοκληρώσει επιτυχώς το μάθημα αυτό, αναμένεται ότι θα είναι σε θέση να:

  • Επεξηγεί και να χρησιμοποιεί με επάρκεια τις θεμελειώδεις αρχές αντικειμενοστρεφούς προγραμματισμού και την υλοποίησή τους στη γλώσσα προγραμματισμού JAVA.
  • Κατανοεί και επεξηγεί με επάρκεια το μοντέλο διαχείρισης μνήμης της Java και τις έννοιες της αποκομιδής σκυβάλων (garbage collection).
  • Αναλύει υπολογιστικά προβλήματα και να επινοεί αντικειμενοστρεφείς λύσεις σε υπολογιστικά προβλήματα περιγεγραμμένα σε φυσική γλώσσα, χρησιμοποιώντας τεχνικές αντικειμενοστρεφούς σχεδιασμού.
  • Περιγράφει το σχέδιο της λύσης ενός προβλήματος με αντικειμενοστρεφή τρόπο, κάνοντας χρήση φυσικής γλώσσας και διαγραμμάτων UML.
  • Είναι πλήρως εξοικειωμένος με το συντακτικό, την σημασιολογία και τα εγχειρίδια του API της Java.
  • Κωδικοποιεί την επίλυση ενός υπολογιστικού προβλήματος κάνοντας χρήση της γλώσσας Java.
  • Αναπτύσσει, τεκμηριώνει, ελέγχει και αποσφαλματώνει με επάρκεια και ευχέρεια προγράμματα Java για την αποδοτική υλοποίηση αλγορίθμων.
  • Επιλύει πολύπλοκα υπολογιστικά προβλήματα με χρήση του αντικειμενοστρεφούς προγραμματισμού.
  • Χρησιμοποιεί με επάρκεια Ολοκληρωμένα Περιβάλλοντα Ανάπτυξης (Integrated Development Environment) όπως και συντάκτες.
  • Κωδικοποιεί προγράμματα JAVA με το κατάλληλο προγραμματιστικό στυλ.
  • Συνεργάζεται αποτελεσματικά με άλλους προγραμματιστές για την ανάλυση προβλημάτων και κωδικοποίηση προγραμμάτων, χρησιμοποιώντας τεχνικές όπως ο διμερής προγραμματισμός (pair programming) και εργαλεία όπως στο σύστημα ελέγχου εκδόσεων git και οι διαδικτυακές υπηρεσίες Github και Stackoverflow.
  • Επικοινωνεί με αποτελεσματικό τρόπο τα πορίσματα της εργασίας του (αντικειμενοστρεφή σχέδια, προγράμματα Java) σε άλλους προγραμματιστές.
  • Έχει επαρκή γνώση της αγγλικής ορολογίας αντικειμενοστρεφούς προγραμματισμού.

Προαπαιτούμενα: ΕΠΛ 131 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Ανάλυση και Επίλυση Υπολογιστικών Προβλημάτων. H έννοια της αφαιρετικότητας (abstraction). Αναλοίωτες Συνθήκες. Ανασκόπηση Προγραμματιστικού Περιβάλλοντος Java (Java Programming Environment). H Eικονική Μηχανή Java (JVM). Μετάφραση και Διερμηνεία. Application Programming Interface. Σχολιασμός και τεκμηρίωση κώδικα Java. Διμερής προγραμματισμός (pair programming). Oλοκληρωμένo Εργαλείο Ανάπτυξης (IDE), αποσφαλμάτωσης (debugger), αξιολόγησης επίδοσης (performance evaluation). Eργαλεία ελέγχου εκδόσεων (version control tools) git, github. Εισαγωγή στην Αντικειμενοστρέφεια (object-orientation). Αντικείμενα (objects) και Κλάσεις (classes). Διαχείριση Μνήμης και Αποκομιδή Σκυβάλων. Αντικειμενοστρεφής Σχεδιασμός (object oriented design) και Μεθοδολογίες. Kάρτες CRC και Unified Modeling Language (UML). Kληρονομικότητα. Πολυμορφισμός. Διαπροσωπείες Java και Eσωτερικές Κλάσεις. Εξαιρέσεις και Διαχείριση τους. Αρχεία, ροές και Χειρισμός τους. Γενόσημες Κλάσεις. Συνδεδεμένες Δομές. Συλλογές και Επαναλήπτες. Συναρτήσεις lambda.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (3 ώρες εβδομαδιαίως).

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

  • "Absolute Java" Walter Savitch. 6th Edition (Global Edition). Pearson 2016.
  • “Object-oriented Design and Patterns” Cay Horstmann, 2nd edition. Wiley, 2006.
  • "Modern Java in Action" R-G. Urma, M. Fusco, A. Mycroft. Manning, 2021.
  • "Java Tutorials" Oracle.
  • "The Practice of Programming." B. Kernighan και R. Pike, Addisson Wesley, 1999.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (προγραμματιστικές ασκήσεις).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Εξερευνήσεις στην Πληροφορική

Κωδικός Μαθήματος: ΕΠΛ 202

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 2ο έτος/2ο εξάμηνο

Όνομα Διδάσκοντα: Διδάσκεται από επισκέπτη Καθηγητή ή Ειδικό Επιστήμονα Διδασκαλίας

ECTS: 3 | Διαλέξεις / εβδομάδα: 1 x 2 ώρες | Φροντιστήριο / εβδομάδα: 0 | Εργαστήρια / εβδομάδα: 0

Στόχοι Μαθήματος: Εισαγωγή σε αντικείμενα που συνθέτουν μια σφαιρική εικόνα της πληροφορικής. Δημιουργία ενθουσιασμού και ενδιαφέροντος για την Πληροφορική. Ενημέρωση για σύγχρονες εξελίξεις στην Πληροφορική. Εξοικείωση με πρακτικές εφαρμογές της Πληροφορικής.

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

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

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

Μεθοδολογία Διδασκαλίας: Διαλέξεις (2 ώρες εβδομαδιαίως)

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

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, διαγνωστικά και κατ’οίκον εργασία (τελική εργασία και ασκήσεις).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Θεωρία Υπολογισμού

Κωδικός Μαθήματος: ΕΠΛ 211

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 2ο έτος/2ο εξάμηνο

Όνομα Διδάσκοντα: Μ. Μαυρονικόλας

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0

Στόχοι Μαθήματος: Εισαγωγή στη Θεωρία Υπολογισμού με έμφαση στη θεωρία τυπικών γλωσσών και αυτομάτων, υπολογισιμότητα και υπολογιστική πολυπλοκότητα. Ανάπτυξη και καλλιέργεια τυπικού και συλλογιστικού τρόπου σκέψης. Εξοικείωση με θεμελιώδεις τεχνικές απόδειξης και μαθηματικής επιχειρηματολογίας. Αντίληψη των θεμελιωδών περιορισμών που τίθενται στις δυνατότητες των υπολογιστών.

Μαθησιακά Αποτελέσματα: Ο/η φοιτητής/φοιτήτρια που θα έχει ολοκληρώσει επιτυχώς το μάθημα αυτό, αναμένεται ότι θα είναι σε θέση να:

  • Αναγνωρίζει τα όρια του υπολογισμού και τις δυνατότητα/αδυναμίες των υπολογιστικών μηχανών.
  • Είναι εξοικειωμένος/η με (i) τα πεπερασμένα αιτιοκρατικά και μη αιτιοκρατικά αυτόματα, καθώς και με τις αντίστοιχες κανονικές γλώσσες, (ii) τις γραμματικές χωρίς συμφραζόμενα, τα αυτόματα στοίβας και τις αντίστοιχες γλώσσες χωρίς συμφραζόμενα και (iii) τις μηχανές Turing.
  • Χρησιμοποιεί τα πιο πάνω μοντέλα για την επίλυση προβλημάτων.
  • Κατηγοριοποιεί προβλήματα στις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών.
  • Επιχειρηματολογεί προς τη μη διαγνωσιμότητα ενός προβλήματος με τη μέθοδο της αναγωγής.
  • Αναγνωρίζει τη σημασία των κλάσεων πολυπλοκότητας (κλάσεις Ρ, ΝΡ, ΝΡ-πληρότητα) και να είναι σε θέση να κατηγοριοποιεί προβλήματα στην κλάση πολυπλοκότητας στην οποία ανήκουν.

Προαπαιτούμενα: ΕΠΛ 111, ΜΑΣ 012 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Τυπικά μοντέλα υπολογισμού βασισμένα σε μηχανές, γραμματικές και γλώσσες: πεπερασμένα αυτόματα έναντι κανονικών γλωσσών, αυτόματα με στοίβα έναντι γλωσσών χωρίς συμφραζόμενα, μηχανές Turing έναντι γενικών γραμματικών. Μοντέλα υπολογισμού ισοδύναμα προς τη μηχανή Turing και το αίτημα του Church. Υπολογισιμότητα και Μη Υπολογισιμότητα. Εισαγωγή στη θεωρία της Υπολογιστικής Πολυπλοκότητας με έμφαση στη θεωρία της ΝΡ-πληρότητας.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • M. Sipser, Εισαγωγή στη Θεωρία Υπολογισμού, Πανεπιστημιακές Εκδόσεις Κρήτης, 2007.
  • H. R. Lewis και Χ. Παπαδημητρίου, Στοιχεία Θεωρίας Υπολογισμού, Εκδόσεις Κριτική, Φεβρουάριος 2005.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, κατ’οίκον εργασία.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Οργάνωση Υπολογιστών

Κωδικός Μαθήματος: ΕΠΛ 221

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 2ο έτος/1ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Σαζεΐδης

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Εισαγωγή στις βασικές αρχές οργάνωσης, λειτουργίας, χαμηλού επιπέδου προγραμματισμός, και ανάλυση απόδοσης υπολογιστικών συστημάτων

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

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

Εκτίμηση τεχνικών βελτίωση της απόδοσης των πυρήνων σε μοντέρνες κεντρικές μονάδες επεξεργασίας και εισαγωγή στους πολυπυρήνες

Προαπαιτούμενα: ΕΠΛ 121 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή στην οργάνωση και την αρχιτεκτονική των υπολογιστών. Προγραμματισμός με συμβολική γλώσσα MIPS και εισαγωγή στην αρχιτεκτονική x86. Προγραμματισμός χαμηλού επιπέδου για την αλληλεπίδραση της CPU με τις μονάδες Εισόδου/Εξόδου. Διάδρομος δεδομένων με διασωλήνωση, εξαρτήσεις και κίνδυνοι, προώθηση και πρόβλεψη ελέγχου ροής. Ιεραρχία μνήμης, τοπικότητα, κρυφή μνήμη, εικονική μνήμη, πίνακες σελίδων. Μέτρηση και ανάλυση επίδοσης. Βασικές αρχές των σύγχρονων υπερβαθμωτών επεξεργαστών και πολυπύρηνων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο: (1.5 ώρες εβδομαδιαίως).

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

  • D. A. Patterson, J. L. Hennessy, Computer Organization and Design, 4th Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) 2013. (ελληνική ή αγγλική έκδοση)
  • 2. Computer Organization and Design MIPS Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) 6th Edition, 2020

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, κατ’οίκον εργασία

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Λειτουργικά Συστήματα

Κωδικός Μαθήματος: ΕΠΛ 222

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 2ο έτος/2ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Παπαδόπουλος

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

Μαθησιακά Αποτελέσματα: Με το πέρας του μαθήματος οι φοιτητές αναμένονται να είναι σε θέση:

  • Να αντιλαμβάνονται τις βασικές αρχές που διέπουν τη λειτουργία ενός Λ.Σ.
  • Να μπορούν να συνδέουν και να συσχετίζουν τις λειτουργίες ενός Λ.Σ. με τον τρόπο που εκτελούνται οι εφαρμογές σε αυτό.
  • Να γνωρίζουν τις βασικές υπηρεσίες που παρέχει στους χρήστες ένα τυπικό Λ.Σ.
  • Να μπορούν να συγκρίνουν παρόμοιους μηχανισμούς και υπηρεσίες που παρέχουν διαφορετικά μοντέρνα Λ.Σ.

Προαπαιτούμενα: ΕΠΛ 221, ΕΠΛ232 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγικές έννοιες. Ιστορική αναδρομή και εξέλιξη των λειτουργικών συστημάτων. Γενική δομή, λειτουργίες και χαρακτηριστικά ενός λειτουργικού συστήματος. Συντρέχουσες διεργασίες. Διαχείριση διεργασιών. Χρονοδρομολόγηση υψηλού και χαμηλού επιπέδου. Διαχείριση πραγματικής και ιδεατής μνήμης. Διαχείριση Συσκευών Εισόδου/Εξόδου και δίσκου. Διαχείριση αρχείων. Αξιοπιστία.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως), και Εργαστήριο (1.5 ώρες εβδομαδιαίως)

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

  • W. Stallings, Operating Systems: Internals and Design Principles, 9th Edition, Prentice Hall, 2018.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (θεωρητικές και προγραμματιστικές ασκήσεις).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Δομές Δεδομένων και Αλγόριθμοι

Κωδικός Μαθήματος: ΕΠΛ 231

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 2ο έτος/1ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Πάλλης

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

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

  • Ικανότητα ανάλυσης και σύγκρισης της αλγοριθμικής πολυπλοκότητας (Ο, Ω, Θ).
  • Κατανόηση των θεμελιωδών Δομών Δεδομένων, συμπεριλαμβανομένων των συνδεδεμένων λιστών, δέντρων, δυαδικών δέντρων αναζήτησης, AVL δέντρων, στοίβων, ουρών, ουρών προτεραιότητας, γράφων και πινάκων κατακερματισμού.
  • Κατανόηση των θεμελιωδών αφηρημένων τύπων δεδομένων.
  • Ικανότητα επινόησης καινοτόμων λύσεων σε προγραμματιστικές προκλήσεις μικρής κλίμακας που περιλαμβάνουν δομές δεδομένων και αναδρομή
  • Ικανότητα εύλογης επιλογής κατάλληλων δομών δεδομένων και αλγορίθμων για την επίλυση προβλημάτων και αιτιολόγηση αυτής της επιλογής.
  • Κατανόηση των κοινωνικών και ηθικών επιπτώσεων του σχεδιασμού και της υλοποίησης αλγορίθμων και εφαρμογή αυτών των αρχών για την ανάπτυξη κοινωνικά υπεύθυνων λύσεων.
  • Ικανότητα προγραμματισμού δομών δεδομένων και χρήσης τους σε υλοποιήσεις αφηρημένων τύπων δεδομένων στη γλώσσα JAVA.

Προαπαιτούμενα: ΕΠΛ 111, ΕΠΛ 132 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Πολυπλοκότητα αλγόριθμων και ανάλυση μέσης και χείριστης περίπτωσης. Τύποι δεδομένων και αφηρημένοι τύποι δεδομένων. Τύποι λίστας, στοίβας και ουράς. Μη γραμμικές δομές δεδομένων. Δένδρα. Δένδρα διερεύνησης. Ισοζυγισμένα δένδρα. Bit-Διανύσματα. Τεχνικές κατακερματισμού (hashing). Συμβιβασμοί μεταξύ χώρου και χρόνου. Επανάληψη vs αναδρομή. Ουρές προτεραιότητας. Αλγόριθμοι ταξινόμησης και ανάλυση της αποδοτικότητάς τους. Γράφοι και αλγόριθμοι επεξεργασίας τους.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • Data Structures and Algorithm Analysis in Java, 3rd edition Published by Pearson (2021) © 2012
  • M. Goodrich και R. Tamassia, Data Structures and Algorithms in Java, Wiley, 2011.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση (ή διαγνωστικά τεστ) και κατ’οίκον εργασία (θεωρητικές και προγραμματιστικές ασκήσεις)

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Προγραμματιστικές Τεχνικές και Εργαλεία

Κωδικός Μαθήματος: ΕΠΛ 232

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 2ο έτος/1ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Χρυσάνθου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Διδασκαλία ενδιάμεσων και προχωρημένων εννοιών προγραμματισμού μέσω μιας γλώσσας προγραμματισμού η οποία μεταγλωττίζεται σε κώδικα μηχανής. Διαχείριση της κύριας και δευτερεύουσας μνήμης. Προχωρημένα θέματα μεταγλώττισης, ολοκληρωμένα εργαλεία ανάπτυξης, μέθοδοι αποσφαλμάτωσης και βελτιστοποίησης του κώδικα. Έμφαση στη μεθοδολογία ανάπτυξης μεγάλων και εύρωστων προγραμμάτων τα οποία επιλύνουν πολύπλοκα προβλήματα. Βασικές εντολές του λειτουργικού συστήματος UNIX για προγραμματιστές.

Μαθησιακά Αποτελέσματα: Με την επιτυχή ολοκλήρωση του μαθήματος, οι συμμετέχοντες θα είναι σε θέση να:

  • Σχεδιάζουν, συγγράφουν και να δοκιμάζουν πολύπλοκα προγράμματα σε μια χαμηλού επιπέδου γλώσσα, όπως τη C, η οποία μεταγλωττίζεται σε κώδικα μηχανής.
  • Περιγράφουν πως ο Ηλεκτρονικός Υπολογιστής και το Λειτουργικό Σύστημα (Λ.Σ.) κάνουν την εναλλαγή διεργασιών, όπως επίσης να αντιλαμβάνονται την ανατομία συστήματος και διεργασίας, με πλήρη επίγνωση των φυσικών ορίων ενός προγράμματος όπως οροθετούνται από το Λ.Σ.
  • Χρησιμοποιούν προχωρημένες λειτουργίες του προ-επεξεργαστή για να υλοποιήσουν κώδικα ο οποίος να είναι μεταφέρσιμος μεταξύ Λ.Σ. διαφορετικών οικογενειών.
  • Χρησιμοποιούν εντολές συστήματος από τη γλώσσα προγραμματισμού, έτσι ώστε να δεσμεύουν και να απελευθερώνουν την νοητή μνήμη, όπως επίσης να αξιοποιούν δείκτες για να επιταχύνουν την πρόσβαση στη μνήμη. Υλοποίηση ρουτίνων περίπλοκων δομών δεδομένων τα οποία αναφέρουν πίνακες, εγγραφές και αναφορές σε αδόμητα μπλοκ μνήμης.
  • Χρησιμοποιούν προγραμματιστικά εργαλεία για μεταγλώττιση, αποσφαλμάτωση, τεκμηρίωση και βελτιστοποίηση του κώδικα. Πρακτική στη μεταγλώττιση πολλαπλών αρχείων με makefiles, στατική και δυναμική σύνδεση και ανάλυση αντικειμένων (valgrind and gprof), διαχείριση λαθών, προγραμματισμός σε ομάδες μέσω συστημάτων εκδόσεων (SVN και GIT).
  • Υλοποιήσουν ρουτίνες οι οποίες διαβάζουν και γράφουν δομημένα δυαδικά αρχεία, όπως αρχεία εικόνων, αρχεία ήχου, αρχεία κειμενογράφων και αρχεία από συστήματα ευρετηρίασης.
  • Αντιλαμβάνονται τις βασικές εντολές στο UNIX, οι οποίες χρησιμοποιούνται από προγραμματιστές: σύστημα αρχείων, ανακατεύθυνση και διοχέτευση, δικαιώματα πρόσβασης και βασικά φίλτρα.

Προαπαιτούμενα: ΕΠΛ 131 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: i) Εισαγωγή στη C για προγραμματιστές: τελεστές x86/x64, έλεγχος ροής και επαναλήψεις, αριθμητικές και λογικές εκφράσεις, διαχείριση αρχείων, συναρτήσεις, οργάνωση προγράμματος. ii) Προχωρημένες έννοιες προγραμματισμού: ανατομία προγράμματος και διεργασίες, μνήμη και δείκτες (δείκτες & πίνακες, συμβολοσειρές, δείκτες σε δείκτες, στατική και δυναμική διαχείριση μνήμης), δομές, ενώσεις και απαριθμητοί τύποι, παραδείγματα και εφαρμογές διαχείρισης μνήμης με δομές δεδομένων. iii) Προχωρημένα θέματα μεταγλώττισης και εργαλεία: εντολές προεπεξεργαστή, μεταγλώττιση πολλαπλών αρχείων, στατική (.a) και δυναμική (.so) σύνδεση αντικειμενικών αρχείων (.o), διαχείριση λαθών (assert.h), στατική και δυναμική ανάλυση πηγαίου κώδικα (valgrind και gprof). iv) Χαμηλού επιπέδου προγραμματισμός: δυαδικοί τελεστές και παραδείγματα, δυαδικά αρχεία και hexdump. v) Βασικές εντολές του λειτουργικού συστήματος UNIX για προγραμματιστές: σύστημα αρχείων, διοχέτευση και ανακατεύθυνση, δικαιώματα πρόσβασης και βασικά φίλτρα.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • C Programming: A Modern Approach, K.N. King, 2nd Edition, ISBN-10: 0393979504, ISBN-13: 978-0393979503, 832 pages, W. W. Norton & Company, 2008.
  • Programming in C, 4th Edition, Stephen G. Kochan, ISBN-10: 0321776410, ISBN-13: 9780321776419, Addison-Wesley Professional, 600 pp, 2015.
  • Your UNIX/Linux: The Ultimate Guide, 3rd Edition, Sumitabha Das, McGraw Hill, ISBN-13 9780073376202, 800 page, 2013.
  • Η Γλώσσα C σε Βάθος, Νίκος Χατζηγιαννάκης, Τρίτη Έκδοση, 978-960-461-208-6, Κλειδάριθμος, 2009.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασίες

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Αλγόριθμοι και Πολυπλοκότητα

Κωδικός Μαθήματος: ΕΠΛ 236

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 2ο έτος/2ο εξάμηνο

Όνομα Διδάσκοντα: Χρ. Γεωργίου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

Μαθησιακά Αποτελέσματα: Ο/η φοιτητής/φοιτήτρια που θα έχει ολοκληρώσει επιτυχώς το μάθημα αυτό, αναμένεται ότι θα είναι σε θέση να:

  • Αναγνωρίζει και εφαρμόζει τις βασικές τεχνικές σχεδιασμού ντετερμινιστικών αλγορίθμων (απληστία, διαίρει και βασίλευε, δίκτυα ροής, δυναμικός προγραμματισμός, οπισθοδρόμηση).
  • Επιχειρηματολογεί και αποδεικνύει την ορθότητα αλγορίθμων που σχεδιάζονται με τις πιο πάνω τεχνικές.
  • Αναλύει την πολυπλοκότητα χείριστης περίπτωσης αλγορίθμων που σχεδιάζονται με τις πιο πάνω τεχνικές.
  • Υλοποιεί και αξιολογεί πειραματικά αλγορίθμους που σχεδιάζονται με τις πιο πάνω τεχνικές.
  • Γνωρίζει και εφαρμόζει τις βασικές τεχνικές σχεδιασμού τυχαιοποιημένων αλγορίθμων τύπου Monte Carlo (επιλογή με μάρτυρες, τυχαία δειγματοληψία).
  • Επιλύει προβλήματα αντιστοίχισης με τη μέθοδο της αναγωγής στο πρόβλημα της Μέγιστης Ροής
  • Επιδεικνύει προχωρημένη ικανότητα αλγοριθμικής σκέψης.
  • Επιδεικνύει προχωρημένες δεξιότητες στην επίλυση προβλημάτων.

Προαπαιτούμενα: ΕΠΛ 231 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Θέματα σχεδίασης και ανάλυσης ταχέων αλγορίθμων και της πολυπλοκότητάς τους. Σημαντικοί αλγόριθμοι στη Θεωρία Γράφων, Άλγεβρα, Γεωμετρία, Θεωρία Αριθμών, Συνδυαστική και Θεωρία Παιγνίων. Γενικές τεχνικές σχεδίασης αλγορίθμων (π.χ. δυναμικός προγραμματισμός, απληστία, οπισθοδρόμηση, διαίρει-και-βασίλευε). Ταχύς Μετασχηματισμός Fourier. Πιθανοτικοί και Παραμετρικοί αλγόριθμοι. Κάτω φράγματα.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

Βιβλιογραφία: 1. Σχεδιασμός Αλγορίθμων, J. Kleinberg και E. Tardos, Εκδόσεις Κλειδάριθμος, 2008. 2. Εισαγωγή στους Αλγόριθμους, Τ. Cormen, C. Leiserson, R. Rivest και C. Stein, Πανεπιστημιακές Εκδόσεις Κρήτης, 2006.

Αξιολόγηση: Τελική εξέταση, διαγνωστικά και κατ’οίκον εργασία (θεωρητικά προβλήματα και προγραμματιστικές ασκήσεις).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Επικοινωνίες και Δίκτυα

Κωδικός Μαθήματος: ΕΠΛ 324

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 3ο έτος/1ο εξάμηνο

Όνομα Διδάσκοντα: Β. Βασιλείου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Εξοικείωση με θεμελιώδη θέματα αναφορικά με τα δίκτυα επικοινωνιών με έμφαση στο Διαδίκτυο.

Μαθησιακά Αποτελέσματα: Ο/η φοιτητής/φοιτήτρια που θα έχει ολοκληρώσει επιτυχώς το μάθημα αυτό, αναμένεται ότι θα είναι σε θέση να:

  • Επεξηγεί τις εξής θεμελιώδεις έννοιες των Δικτύων Επικοινωνίας/Δικτύων Υπολογιστών: Τεχνολογίες δικτύωσης και διάφορες τοπολογίες δικτύων. Ενσύρματα και ασύρματα δίκτυα. Επιπεδοποίηση δικτύων: Επίπεδο Εφαρμογών, Επίπεδο Μεταφοράς, Επίπεδο Δικτύων, Επίπεδο Σύνδεσης. Βασικές αρχές πρωτοκόλλων. Εφαρμογές και ποιότητα υπηρεσίας.
  • Επεξηγεί τα εξής ουσιώδη θέματα στα Δίκτυα Υπολογιστών: σουίτα πρωτοκόλλων TCP/ΙP, Ανοικτά συστήματα όπως το Διαδίκτυο. Βασικές τεχνολογίες δικτύωσης όπως δρομολογητές, switches. Πρωτόκολλα επιπέδου εφαρμογής, επίπεδου μεταφοράς, επιπέδου δικτύου και σύνδεσης επιπέδου.
  • Επιδεικνύει ικανότητα επίλυσης προβλημάτων δικτύου και αξιολόγησης διάφορων πρωτοκόλλων διαδικτύου.
  • Επιδεικνύει ικανότητα στη χρήση προσομοιωτών διαδικτύου για σχεδιασμό και αξιολόγηση δικτύων.
  • Επιδεικνύει ικανότητα στη χρήση του wireshark, ενός εργαλείου παρακολούθησης και ανάλυσης κίνησης δεδομένων και των διάφορων πρωτοκόλλων που χρησιμοποιούνται ανά πάσα στιγμή για την εύρυθμη λειτουργία των δικτύων, με στόχο τη αφομοίωση των πρωτοκόλλων και της κίνησης δεδομένων, αλλά και για ανάλυση πιθανών σφαλμάτων/προβλημάτων στη λειτουργία του δικτύου.
  • Να αναγνωρίζει νέους βελτιωμένους τρόπους και μηχανισμούς στα πρωτοκόλλα δικτύων.
  • Να αναγνωρίζει και να αναλύει νέες τεχνικές και τεχνολογίες δικτύων, όπως το Ιντερνέτ των Πραγμάτων.

Προαπαιτούμενα: ΕΠΛ 131 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγικό μάθημα σε Δίκτυα Υπολογιστών. Σκοπός είναι η κατανόηση και χρήση των εννοιών που σχετίζονται με τα επουσιώδη θέματα στα Δίκτυα Υπολογιστών χρησιμοποιώντας το Διαδίκτυο σαν παράδειγμα. TCP / IP σουίτα πρωτοκόλλων: Επίπεδο Εφαρμογών, Επίπεδο Μεταφοράς, Επίπεδο Δικτύων και Δρομολόγηση, Επίπεδο Σύνδεσης. Ανοικτά συστήματα όπως το Διαδίκτυο. Τεχνολογίες δικτύωσης περιλαμβάνοντας ενσύρματα και ασύρματα τοπικά δίκτυα και τοπολογίες δικτύων. Αλγόριθμοι δρομολόγησης και ελέγχου συμφόρησης. Εισαγωγή σε πολυμεσικές εφαρμογές και ποιότητα υπηρεσίας. Εργαστηριακές μελέτες συμπεριλαμβάνουν πρακτική εξάσκηση με wireshark και προσομοιώσεις.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • J. F. Kurose και K. W. Ross, Computer Networking: A Top-Down Approach Featuring the Internet, 8th Edition, Addison-Wesley, 2020.

Αξιολόγηση: Αξιολόγηση Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (συμπεριλαμβανομένων εργαστηριακών ασκήσεων).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Παράλληλη Επεξεργασία

Κωδικός Μαθήματος: ΕΠΛ 325

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 3ο έτος/2ο εξάμηνο

Όνομα Διδάσκοντα: Χ. Βώλος

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Εισαγωγή στον παράλληλο προγραμματισμό και ανάλυση της απόδοσης παράλληλων προγραμμάτων

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

  • Εξοικείωση με βασικές παράλληλες αρχιτεκτονικές, συμπεριλαμβανομένων των πολυπύρηνων επεξεργαστών και των υπολογιστικών συστοιχιών
  • Κατανόηση μεθόδων μέτρησης και ανάλυσης της απόδοσης παράλληλων προγραμμάτων
  • Γνώση μοντέλων παράλληλου προγραμματισμού
  • Εισαγωγή στην ανάπτυξη και σχεδιασμό παράλληλων προγραμμάτων
  • Εξοικείωση με σημαντικές έννοιες παραλληλίας (π.χ. συγχρονισμού, συντονισμού, εξισορρόπηση φορτίου)
  • Προγραμματισμός με διαφορετικά προγραμματιστικά APIs (π.χ. pthreads, OpenMP και CUDA)

Προαπαιτούμενα: ΕΠΛ 221, ΕΠΛ 232 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Παράλληλες αρχιτεκτονικές υλικού: όλο το φάσμα των παράλληλων μηχανών όπως εμφανίζεται στην ταξινόμηση του Flynn (SISD, SIMD, MISD, MIMD), συμπεριλαμβανομένων των πολυπύρηνων επεξεργαστών, των μονάδων διανυσματικών υπολογισμών, των μονάδων επεξεργασίας γραφικών (GPUs), και των υπολογιστικών συστοιχιών. Μοντέλα παράλληλου προγραμματισμού: κοινή έναντι μη κοινής μνήμης, νήματα (Pthreads, OpenMP), εμφωλευμένος παραλληλισμός (OpenMP), παραλληλία δεδομένων (SIMD, SIMT, CUDA), μεταβίβαση μηνυμάτων (MPI). Μηχανισμοί συγχρονισμού και συντονισμού: κλείδωμα, ατομικότητα, σειριοποίηση, ένωση, φράγμα. Αξιολόγηση και ανάλυση απόδοσης: επιτάχυνση, απόδοση, ανάλυση κλιμακωσιμότητας, ανάλυση πολυπλοκότητας, μοντελοποίηση απόδοσης. Παράλληλη σκέψη: αποσύνθεση, ανάθεση, ορχήστρωση, αντιστοίχιση. Βασικοί παράλληλοι αλγόριθμοι: στοιχειώδεις υπολογισμοί, πολλαπλασιασμός πινάκων, ταξινόμηση, πρόθεμα αθροίσματος, παράδειγμα επιστημονικής εφαρμογής.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως), και Εργαστήριο (1.5 ώρες εβδομαδιαίως)

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

  • Peter Pacheco, Matthew Malensek. An Introduction to Parallel Programming, 2nd Edition. Morgan Kaufmann, 2021

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, και κατ’οίκον εργασίες.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Ασφάλεια Συστημάτων

Κωδικός Μαθήματος: ΕΠΛ 326

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 3ο έτος/2ο εξάμηνο

Όνομα Διδάσκοντα: Η. Αθανασόπουλος

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Εισαγωγή στην ασφάλεια συστημάτων με στόχο την κάλυψη ενός μεγάλου φάσματος επιμέρους θεμάτων. Πρωταρχικός στόχος είναι οι φοιτητές να αποκτήσουν γνώσεις σε πολλά διαφορετικά θέματα, και να διαμορφώσουν μια συνολική εικόνα της σύγχρονης ασφάλειας συστημάτων. Τα επιμέρους θέματα που καλύπτονται είναι η εφαρμοσμένη κρυπτογραφία, τα σφάλματα λογισμικού και μνήμης, οι τεχνικές επίθεσης και άμυνας, οι εφαρμογές κινητών και Ιστού, η ασφάλεια δικτύων, η μυστικότητα και τα συστήματα ανωνυμίας.

Μαθησιακά Αποτελέσματα: Ο/η φοιτητής/φοιτήτρια που θα έχει ολοκληρώσει επιτυχώς το μάθημα αυτό, αναμένεται ότι θα είναι σε θέση να:

  • Έχει βαθιά κατανόηση στη σύγχρονη εφαρμοσμένη κρυπτογραφία, όσον αφορά στα προβλήματα τα οποία αυτή λύνει και τις σχετικές τεχνικές.
  • Γνωρίζει τον ακριβή μηχανισμό που χρησιμοποιούν συμμετρικοί αλγόριθμοι, όπως είναι o DES, AES και ο RC4, για την κρυπτογράφηση και αποκρυπτογράφηση ενός μηνύματος. Οι τεχνικές θα εφαρμοστούν επιπρόσθετα σε εργαστηριακές ασκήσεις.
  • Αντιλαμβάνεται το μαθηματικό υπόβαθρο και τον τρόπο που λειτουργεί η κρυπτογραφία δημόσιου κλειδιού και, συγκεκριμένα, ο RSA.
  • Κατασκευάζει εφαρμογές κρυπτογραφίας δημόσιου κλειδιού για ψηφιακές υπογραφές. Στα πλαίσια αυτών των κατασκευών θα γνωρίσει τη λειτουργία των κρυπτογραφικών συναρτήσεων κατακερματισμού (cryptographic hash functions).
  • Κατανοεί τις βασικές αιτίες επιθέσεων λογισμικού, και συγκεκριμένα το πώς κάποιος μπορεί να εκμεταλλευτεί αδυναμίες λογισμικού όπως η υπερχείλιση μνήμης (buffer overflow).
  • Κατασκευάζει πραγματικές επιθέσεις για εκμετάλλευση λογισμικού με αδυναμίες που αυτός έχει εισάγει.
  • Αναλύει την εκτέλεση λογισμικού σε συστήματα Linux με τη βοήθεια ενός debugger (gdb).
  • Αναγνωρίζει πώς λειτουργούν οι σύγχρονες άμυνες κατά των επιθέσεων λογισμικού.
  • Αναγνωρίζει τον τρόπο λειτουργίας του πρωτοκόλλου TLS και τη σημασία των Certificates.
  • Κατασκευάζει εφαρμογές που παρακολουθούν την δικτυακή κίνηση.
  • Κατανοεί τις βασικές αρχές των συστημάτων ανωνυμίας (ToR).

Προαπαιτούμενα: ΕΠΛ 232 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή στην εφαρμοσμένη κρυπτογραφία (early ciphers, modern symmetric and asymmetric ciphers, cryptographic hash functions and MACs, εφαρμογές). Περιγραφή σφαλμάτων λογισμικού και μνήμης (buffer overflows, integer overflows, use-after-free). Επιθέσεις (code injection, code reuse) και άμυνες (non-executable pages, stack canaries, code randomization, CFI). Τεχνικές απομόνωσης (SFI). Σταική και δυναμική ανάλυση λογισμικού. Ασφάλεια σε εφαρμογές κινητών συσκευών (Android, iOS). Ασφάλεια σε εφαρμογές Ιστού (cross-site scripting, CSRF, clickjacking, phishing). Μελέτη ειδικών θεμάτων ασφάλειας δικτύων (TLS, botnets, DDoS). Μυστικότητα (privacy), και συστήματα ανωνυμίας (TOR).

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone. Handbook of Applied Cryptography, CRC Press, ISBN 0849385237. (http://cacr.uwaterloo.ca/hac/)
  • Ross Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems, Second Edition, Wiley, ISBN 0470068523. (http://www.cl.cam.ac.uk/~rja14/book.html)
  • Christof Paar and Jan Pelzl: Understanding Cryptography: A Textbook for Students and Practitioners, Springer.
  • Δημοσιεύσεις.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ' οίκον εργασία (συμπεριλαμβανομένων εργαστηριακών ασκήσεων).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Τεχνητή Νοημοσύνη

Κωδικός Μαθήματος: ΕΠΛ 341

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 3ο έτος/2ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Δημόπουλος

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0

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

Μαθησιακά Αποτελέσματα: Μετά την ολοκλήρωση του μαθήματος οι φοιτητές θα γνωρίζουν ποιά είναι η σύγχρονη αντίληψη για την Τεχνητή Νοημοσύνη, ποιά είναι τα κύρια προβλήματα που αυτή εξετάζει, και ποιές είναι οι βασικές μέθοδοι που χρησιμοποιούνται για την επίλυση τους. Εξοικείωση με βασικές πρακτικές μεθόδους και εργαλεία Τεχνητής Νοημοσύνης.

Προαπαιτούμενα: ΕΠΛ 231 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Μέθοδοι επίλυσης προβλημάτων στην Τεχνητή Νοημοσύνη. Φορμαλισμοί Αναπαράστασης Γνώσης (κατηγορηματική λογική, δίκτυα συσχέτισης, πλαίσια, κανόνες παραγωγής). Τεχνολογία Έμπειρων Συστημάτων, Αρχιτεκτονικές Έμπειρων Συστημάτων Πρώτης και Δεύτερης Γενεάς, Τεχνολογία Γνώσης, Ευφυείς Πράκτορες, Συστήματα Πολλαπλών Πρακτόρων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • Ε. Κεραυνού, Τεχνητή Νοημοσύνη και Έμπειρα Συστήματα, Ελληνικό Ανοικτό Πανεπιστήμιο, 2000.
  • G. F. Luger και W. A. Stubblefield, Artificial Intelligence: Structures and Strategies for complex Problem Solving, 5th Edition, Addison-Wesley, 2005.
  • G. Weiss (ed), Multiagent Systems: a modern approach to distributed AI, The MIT Press, 1999.
  • P. Jackson, Introduction to Expert Systems, 3rd Edition, Addison-Wesley, 1999.
  • E. Rich and K. Knight, Artificial Intelligence, 2nd Edition, McGraw-Hill, 1991.
  • S. Russel και P. Norviq, Artificial Intelligence: A Modern Approach, 2nd Edition, Prentice Hall, 2002.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (θεωρητικές ασκήσεις και προγραμματιστικά θέματα).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Βάσεις Δεδομένων

Κωδικός Μαθήματος: ΕΠΛ 342

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 3ο έτος/1ο εξάμηνο

Όνομα Διδάσκοντα: Δ. Ζεϊναλιπούρ

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

Μαθησιακά Αποτελέσματα: Με την επιτυχή ολοκλήρωση του μαθήματος, οι συμμετέχοντες θα είναι σε θέση να:

  • Αποκτήσουν μια βαθιά κατανόηση των εννοιών που σχετίζονται με το σχεδιασμό και τη αξιοποίηση συστημάτων σχεσιακών βάσεων δεδομένων, μέσω της υλοποίησης των σχετικών εννοιών σε μια εμπορική βάση δεδομένων.
  • Μοντελοποιούν μια εφαρμογή βάσης δεδομένων μέσω της εννοιολογικής σχεδίασης στο Διάγραμμα Οντοτήτων Συσχετίσεων (ER), το Επεκταμένο ER (EER) και το Σχεσιακό Μοντέλο.
  • Υλοποιούν την λογική σχεδίαση και επεξεργασία μιας βάσης δεδομένων μέσω μιας τυπικής γλώσσας, όπως η Σχεσιακή Άλγεβρα, και μέσω μιας πραγματικής Γλώσσας Ορισμού Δεδομένων (SQL-DDL) και της αντίστοιχης πραγματικής Γλώσσας Επεξεργασίας Δεδομένων (SQL-DML).
  • Υλοποιούν προχωρημένες εφαρμογές βάσεων δεδομένων, οι οποίες περιλαμβάνουν Περιορισμούς, Σκανδάλες, Όψεις, Αποθηκευμένες Διαδικασίες, Συναρτήσεις Χρηστών και Δοσοληψίες. Αναπτύσσουν σύνθετες επερωτήσεις οι οποίες εξάγουν πληροφορία από σύνθετες πηγές δεδομένων.
  • Προσπελαύνουν τα δεδομένα μιας βάσης δεδομένων μέσω μιας υψηλού επιπέδου προγραμματιστικής γλώσσας και της διεπαφής JDBC.
  • Διαχειρίζονται μιας σχεσιακή βάση δεδομένων για σκοπούς λήψης αντιγράφου, ανάκαμψης, διαχείρισης πρόσβασης και τυπικής ασφάλειας.
  • Καταλαβαίνουν τη θεωρία και εφαρμογή της κανονικοποίησης σχεσιακών σχημάτων και της χρήσης των συναρτησιακών εξαρτήσεων.

Προαπαιτούμενα: ΕΠΛ 231 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή στις Βάσεις Δεδομένων, το Μοντέλο Οντοτήτων-Συσχετίσεων, το Σχεσιακό Μοντέλο και η Σχεσιακή Άλγεβρα, η Γλώσσα Δομημένων Επερωτήσεων SQL, Συναρτησιακές Εξαρτήσεις, Κανονικοποίηση και Μεθοδολογία Ανάπτυξης Βάσεων Δεδομένων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1,5 ώρα εβδομαδιαίως).

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

  • R. Elmarsi και S. Navathe, Fundamentals of Database Systems, 7th Edition, Addison-Wesley, 2015.
  • R. Elmarsi και S. Navathe, Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων, 7η Έκδοση, 1ος τόμος, Εκδόσεις Δίαυλος, 2016.
  • R. Ramakrishnan και J. Gehrke, Database Management Systems, 3rd Edition, McGraw-Hill, 2003.
  • C. Coronel, S. Morris, K. Crockett, C. Blewett, Database Principles: Fundamentals of Design, Implementation, and Management, 3rd Edition, 2020.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (θεωρητικές ασκήσεις, εργαστηριακές ασκήσεις, τελική εργασία).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Τεχνολογία Λογισμικού

Κωδικός Μαθήματος: ΕΠΛ 343

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 3ο έτος/1ο εξάμηνο

Όνομα Διδάσκοντα: Ε. Κωνσταντίνου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Αφομοίωση μεθοδολογιών, μοντέλων και εργαλείων που χρησιμοποιούνται για την ανάπτυξη ποιοτικών συστημάτων λογισμικού. Εξοικείωση με τη διαδικασία που ακολουθείται κατά την μηχανική απαιτήσεων, την αρχιτεκτονική λογισμικού και τη μοντελοποίηση λογισμικού. Εξοικείωση με τη σχεδίαση συστημάτων λογισμικού και τη δημιουργία πρωτοτύπων. Κατανόηση διαδικασιών ελέγχου συστημάτων με ιδιαίτερη έμφαση στην ποιότητα του λογισμικού. Κατανόηση αρχιτεκτονικών σχεδιαστικών προτύπων. Εφαρμογή μεθοδολογιών κατασκευής λογισμικού σε ένα πραγματικό σύστημα λογισμικού.

Μαθησιακά Αποτελέσματα: Με το πέρας του μαθήματος οι φοιτητές αναμένονται να είναι σε θέση:

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

Προαπαιτούμενα: ΕΠΛ 132 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Μοντέλα κύκλου ζωής (μοντέλο καταρράκτη, σπειροειδές μοντέλο κλπ.). Εισαγωγή σε ευέλικτες μεθοδολογίες ανάπτυξης συστημάτων λογισμικού. Μέθοδοι συλλογής απαιτήσεων. Μεθοδολογίες και εργαλεία που χρειάζονται για την ανάλυση των απαιτήσεων και τη σχεδίαση βιώσιμων λύσεων κατά τη μελέτη προβλημάτων εφαρμογών. Αλληλεπίδραση με πελάτες και χρήστες ως ομάδα, χειρισμός ασαφειών και αμφιβολιών. Τεχνικές ανάπτυξης προδιαγραφών. Χρονοπρογραμματισμός έργου και ανάλυση κινδύνων. Μεθοδολογίες σχεδίασης και υλοποίησης λογισμικού. Δημιουργία πρωτοτύπων λογισμικού για διαδικτυακές και κινητές εφαρμογές (HTML, CSS). Μοντελοποίηση συστημάτων λογισμικού. Σχεδίαση αντικειμενοστρεφών συστημάτων (UML). Στατικά κα δυναμικά διαγράμματα. Μεταφορά σε κώδικα. Εργαλεία για μοντελοποίηση δεδομένων και διαδικασιών (Modelio). Αρχιτεκτονικά σχεδιαστικά πρότυπα (Model View Controller κλπ.). Έλεγχος και επαλήθευση λογισμικού. Συστήματα δοκιμών (JUnit κλπ.). Εργαλεία CASE.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1,5 ώρα εβδομαδιαίως).

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

  • I. Sommerville, Software Engineering, 10th Edition, Addison-Wesley, 2016.
  • R. Pressman, Software Engineering: A Practitioner's Approach, 8th Edition, Mc Graw Hill, 2015.
  • H. van Vliet, Software Engineering: Principles and Practice, 3rd edition, John Wiley & Sons, 2008
  • P. Stevens, R. Pooley, Using UML Software Engineering with Objects and Components, 2nd edition, Addison-Wesley, 2006.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και εξαμηνιαία ομαδική εργασία.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Ατομική Διπλωματική Εργασία I και Ατομική Διπλωματική Εργασία II

Κωδικός Μαθήματος: ΕΠΛ 400 και ΕΠΛ 401

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 4ο έτος/7ο – 8ο εξάμηνο

Όνομα Διδάσκοντα: Ακαδημαϊκό προσωπικό Τμήματος Πληροφορικής

ECTS: 15 | Διαλέξεις / εβδομάδα: - | Φροντιστήριο / εβδομάδα: - | Εργαστήρια / εβδομάδα: -

Στόχοι Μαθήματος: Το μάθημα "Διπλωματική Εργασία" αποτελεί μια ολοκληρωμένη τελική εργασία για προπτυχιακούς φοιτητές/τριες του τμήματος Πληροφορικής. Το μάθημα αυτό περιλαμβάνει την ανεξάρτητη σχεδίαση, ανάπτυξη και αξιολόγηση ενός λογισμικού συστήματος, ερευνητικής μελέτης ή θεωρητικής ανάλυσης. Υπό την επίβλεψη ενός καθηγητή/τριας-σύμβουλου, οι φοιτητές/τριες εντοπίζουν ένα πρόβλημα ή ερευνητικό ερώτημα στον τομέα της Πληροφορικής, διεξάγουν βιβλιογραφική ανασκόπηση, προτείνουν μια λύση και την υλοποιούν ή την διερευνούν χρησιμοποιώντας κατάλληλες μεθοδολογίες και εργαλεία. Η εργασία ολοκληρώνεται με μια γραπτή έκθεση/αναφορά και μια παρουσίαση των ευρημάτων σε μια επιτροπή δύο καθηγητών/τριων.

Μαθησιακά Αποτελέσματα: Μέσω της εργασίας, οι φοιτητές/τριες θα πρέπει να αποκτήσουν την ικανότητα να:

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

Προαπαιτούμενα: Τουλάχιστον 156 ECTS Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Ο/Η κάθε φοιτητής/τρια έχει έναν/μια επιβλέποντα/επιβλέπουσα καθηγητή/τρια για την εργασία του. Τα μέλη του ακαδημαϊκού προσωπικού ανακοινώνουν τις προτεινόμενες εργασίες προς το τέλος του προηγούμενου εξαμήνου, και μόλις ολοκληρωθεί η διαδικασία επιλογής (υπό την εποπτεία του Συντονιστή Διπλωματικών Εργασιών), ανακοινώνεται η αντιστοίχιση φοιτητή-καθηγητή.

Μεθοδολογία Διδασκαλίας: Ατομική εργασία υπό επίβλεψη

Βιβλιογραφία: Ανάλογα με την εργασία

Αξιολόγηση: Γραπτή διπλωματική εργασία, αξιολόγηση πρωτοτύπου λογισμικού/συστήματος (εάν εφαρμόζεται), και προφορική παρουσίαση – αξιολογείται από δύο μέλη του ακαδημαϊκού προσωπικού του Τμήματος (ένα εκ των οποίων είναι ο/η επιβλέπων/πουσα καθηγητής/τρια).

Γλώσσα: Ελληνικά/Αγγλικά

Τίτλος Μαθήματος: Λογική στην Πληροφορική

Κωδικός Μαθήματος: ΕΠΛ 412

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Α. Φιλίππου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0 ώρες

Στόχοι Μαθήματος: Το μάθημα αυτό θα παρουσιάσει μιας εισαγωγή στη Μαθηματική Λογική η οποία θα καλύψει θέματα όπως τη σύνταξη, τη σημασιολογία και την αποδεικτική θεωρία του Προτασιακού και του Πρωτοβάθμιου Κατηγορηματικού Λογισμού καθώς επίσης και τις εφαρμογές τους στην Πληροφορική. Επίσης, μέσω του μαθήματος, οι φοιτητές θα εξοικειωθούν με έννοιες του γραμμικού και διακλαδωμένου χρονικού λογισμού και σχετικές εφαρμογές στην περιοχή της τυπικής ανάλυσης συστημάτων. Βασικός στόχος του μαθήματος είναι η προετοιμασία των φοιτητών για να χρησιμοποιήσουν τη Μαθηματική Λογική ως εργαλείο στην Πληροφορική.

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

  • Εξοικείωση με βασικές έννοιες του προτασιακού και του πρωτοβάθμιου κατηγορηματικού λογισμού με έμφαση στις εφαρμογές των εννοιών αυτών στην Πληροφορική.
  • Ανάπτυξη δεξιοτήτων για την κατασκευή αποδείξεων και εφαρμογή των δεξιοτήτων αυτών σε πρακτικές εφαρμογές.
  • Εξοικείωση με τη Μέθοδο της Επίλυσης και της χρήσης της στα πλαίσια του Λογικού Προγραμματισμού
  • Εξοικείωση με έννοιες του γραμμικού και διακλαδωμένου χρονικού λογισμού και ανάπτυξη δεξιοτήτων προς τη διατύπωση προδιαγραφών συστημάτων ως προτάσεις του χρονικού λογισμού
  • Εφαρμογή της Λογικής στην ανάλυση της ορθότητας προγραμμάτων και συστημάτων.
  • Ανάπτυξη ικανοτήτων στη χρήση τυπικών συστημάτων για την αναπαράσταση προβλημάτων και ανάπτυξη σχετικών συλλογισμών.

Προαπαιτούμενα: ΕΠΛ 111 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Προτασιακός Λογισμός: Σύνταξη και σημασιολογία, κανονικές μορφές, θεώρημα συμπάγειας, εφαρμογές. Πρωτοβάθμιος κατηγορηματικός λογισμός: Σύνταξη και σημασιολογικές έννοιες, αξιωματικοποίηση και οι έννοιες της συνέπειας, της ορθότητας και της πληρότητας. Αποδεικτική θεωρία προτασιακού και κατηγορηματικού λογισμού. Προγραμματισμός: σημασιολογία και απόδειξη της ορθότητας προγραμμάτων. Γραμμικός και Διακλαδωμένος Χρονικός Λογισμός: σύνταξη και σημασιολογία, αλγόριθμοι μοντελοελέγχου. Τροπικός Λογισμός, τρόποιο αλήθειας και η Θεωρία της Αντιστοιχίας.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • M. Huth και A. Ryan, Logic in Computer Science: Modeling and Reasoning about Concurrent Systems, Cambridge University Press, 2000.
  • M. Ben-Ari, Mathematical Logic for Computer Science, Springer-Verlag, 2nd Edition, 2003.
  • U. Schoning, Logic for Computer Scientists, Springer-Verlag, 2nd Printing, 2008.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Βασικές Έννοιες Γλωσσών Προγραμματισμού

Κωδικός Μαθήματος: ΕΠΛ 414

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Διδάσκεται από Επισκέπτη Καθηγητή ή Ειδικό Επιστήμονα Διδασκαλίας

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0 ώρες

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

Μαθησιακά Αποτελέσματα: Ο/η φοιτητής/φοιτήτρια που έχει ολοκληρώσει επιτυχώς το μάθημα αυτό, αναμένεται ότι θα είναι σε θέση να:

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

Προαπαιτούμενα: ΕΠΛ 211, ΕΠΛ 231 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Ιστορία γλωσσών προγραμματισμού, το λ-calculus, συναρτησιακός προγραμματισμός (η γλώσσα προγραμματισμού Haskell, το σύστημα τύπων της Haskell, pure έναντι impure γλώσσες προγραμματισμού), διαδικαστικός και αντικειμενοστρεφής προγραμματισμός (μαθηματική αναπαράσταση της γλώσσας προγραμματισμού Java), κατανεμημένος προγραμματισμός (το μοντέλο προγραμματισμού Actors, άλγεβρες διεργασιών ως μαθηματικά μοντέλα αναπαράστασης κατανεμημένου προγραμματισμού).

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως)

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

  • Benjamin C. Pierce, Types and Programming Languages, MIT Press, 2002.
  • Graham Hutton, Programming in Haskell (2nd Edition), Cambridge University Press, 2016.
  • John C. Mitchell, Concepts in programming languages, Cambridge University Press. 2003.
  • Επιλεγμένα ερευνητικά άρθρα

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Αρχιτεκτονική Υπολογιστών

Κωδικός Μαθήματος: ΕΠΛ 420

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Σαζεΐδης

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Εισαγωγή στις προχωρημένες αρχές οργάνωσης, λειτουργίας και ανάλυση απόδοσης μοντέρνων υπολογιστικών συστημάτων

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

  • Εξοικείωση με τις τάσεις της τεχνολογίας υπολογιστών
  • Εκτίμηση μεθόδων μέτρησης και ανάλυσης της απόδοσης μοντέρνων υπολογιστικών συστημάτων
  • Ισχύς και ενέργεια των σύγχρονων υπολογιστικών συστημάτων και τεχνικές για την ελαχιστοποίησή τους
  • Κατανόηση των τεχνικών υλικού και λογισμικού που χρησιμοποιούνται για τη βελτίωση του παραλληλισμού σε επίπεδο εντολών στους πυρήνες των σύγχρονων κεντρικών επεξεργαστικών μονάδων
  • Εκμάθηση προχωρημένων τεχνικών για τη βελτίωση της απόδοσης της ιεραρχίας μνήμης
  • Μικροαρχιτεκτονική ασφάλεια
  • Εισαγωγή στον παραλληλισμό δεδομένων και στη βασική οργάνωση των σύγχρονων μονάδων επεξεργασίας γραφικών
  • Εξοικείωση με τον παραλληλισμό σε επίπεδο νήματος, παράλληλες αρχιτεκτονικές με κοινή μνήμη
  • Ειδικές αρχιτεκτονικές και επιταχυντές (π.χ., TPUs, PIM)
  • Αρχιτεκτονική των κέντρων δεδομένων

Προαπαιτούμενα: ΕΠΛ 222 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Τεχνολογία Υπολογιστών, Νόμοι του Moore και Dennard, αγορά υπολογιστών (IoT, πελάτες, διακομιστές). Χρονοπρογράμματα, μετρικά επίδοσης (CPI/IPC, μέση και ακραία καθυστέρηση, QPS), μέσοι, αξιοπιστία (FIT, MTTF, διαθεσιμότητα, ανίχνευση/διόρθωση σφαλμάτων). Ισχύς (δυναμική/στατική, C-states, P-states, αδράνεια και διαχείριση dvfs, turbo, πυρήνας/uncore, κλιμάκωση συχνότητας, TDP, περιορισμός, παροχή ισχύος). Παράλληλη επεξεργασία και εξειδίκευση, Βιωσιμότητα (περιβαλλοντικές επιπτώσεις της κατασκευής, λειτουργίας και τέλους ζωής των υπολογιστών). Ανασκόπηση βασικών αρχών διασωλήνωσης και κρυφής μνήμης. Δυναμικός Παραλληλισμός σε Επίπεδο Εντολών (μετονομασία καταχωρητών, εκτέλεση εκτός σειράς, buffer ανακατατάξεων, πρόβλεψη, εικασία, υπερβαθμωτός επεξεργαστής). Στατικός Παραλληλισμός σε Επίπεδο Εντολών (χρονοπρογραμματισμός, VLIW). Προηγμένες μνήμες cache (mshrs, inclusion, prefetching, πολιτική αντικατάστασης cache). Ασφάλεια (πλευρικά κανάλια, παροδικά και μη παροδικά πλευρικά κανάλια υλικού). Παραλληλισμός Δεδομένων (vector, SIMD, GPUs). Παραλληλισμός σε Επίπεδο Νημάτων και Πολυεπεξεργασία με Κοινή Μνήμη (διασύνδεση, συνοχή cache, snoopy και directory, συνέπεια). Αρχιτεκτονικές Εξειδικευμένες ανά Τομέα και Επιταχυντές. Αρχιτεκτονική Κέντρων Δεδομένων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • J. Henessy και D. Patterson, Computer Architecture: A Quantitative Approach, 6th Edition, Morgan Kaufmann, 2019.
  • Επιλεγμένα ερευνητικά άρθρα από τη διεθνή βιβλιογραφία.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Προγραμματισμός Συστημάτων

Κωδικός Μαθήματος: ΕΠΛ 421

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Δ. Ζεϊναλιπούρ

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Διδασκαλία βασικών και προχωρημένων εννοιών προγραμματισμού και διαχείρισης Λειτουργικών Συστημάτων (Λ.Σ.). Κατανόηση των μηχανισμών με τους οποίους επιτυγχάνεται η πρόσβαση στις ρουτίνες (βιβλιοθήκες / μονάδες) ενός Λ.Σ. με τη χρήση γλωσσών προγραμματισμού και δημοφιλών κελυφών. Για την πρακτική εξάσκηση και την υλοποίηση προγραμμάτων, θα χρησιµοποιηθεί η γλώσσα προγραμματισμού C και το Bash στο Λ.Σ. Linux. Oι διδασκόμενες έννοιες έχουν εφαρμογή σε όλη την οικογένεια των Λ.Σ. UNIX (π.χ., Mac OS X, HP-UX, AIX, Solaris, Android, iOS, Raspbian) αλλά και των Windows (π.χ., Powershell και αντίστοιχες κλήσεις συστήματος).

Μαθησιακά Αποτελέσματα: Με την επιτυχή ολοκλήρωση του μαθήματος, οι συμμετέχοντες θα είναι σε θέση να:

  • Καταλαβαίνουν και να συνδυάζουν ενδιάμεσα και προχωρημένα εργαλεία ωφελιμότητας και επεξεργαστές ροών, τα οποία ανήκουν στην οικογένεια Λειτουργικών Συστημάτων (Λ.Σ.) UNIX (π.χ., Linux, ΑΙΧ, Android/iOS, τα BSDs, και το Mac OS X).
  • Γνωρίζουν πως θα ρυθμίζουν, διαχειρίζονται, συντηρούν, αναβαθμίζουν και ασφαλίζουν ένα δικτυωμένο Λ.Σ. UNIX, αυτόνομα ή στο Cloud, συμπεριλαμβανομένης της εγκατάστασης και ρύθμισης δικτυακών υπηρεσιών.
  • Εξηγούν και να χρησιμοποιούν τη λειτουργία συνηθισμένων ρουτίνων του πυρήνα, τόσο μέσω μιας υψηλού επιπέδου γλώσσας προγραμματισμού όσο και από το κέλυφος.
  • Χρησιμοποιούν εντολές συστήματος από μια γλώσσα προγραμματισμού για να αρχικοποιούν/συγχρονίζουν πολλαπλά νήματα και διεργασίες, να επιτυγχάνουν δια-διεργασιακή επικοινωνία, να αλληλοεπιδρούν με το υποσύστημα αρχείων, να θέτουν και να ανταποκρίνονται σε σήματα.
  • Καταλαβαίνουν τους εσωτερικούς μηχανισμούς των Λ.Σ. UNIX και να αποκτήσουν τις βάσεις για ένα μεταπτυχιακό μάθημα σε λειτουργικά συστήματα, συστήματα διαχείρισης δεδομένων, κατανεμημένα και παράλληλα συστήματα όσο και δικτυακών συστημάτων και συστημάτων στο υπολογιστικό νέφος.

Προαπαιτούμενα: ΕΠΛ 222 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: i) Προχωρημένες εντολές του Λ.Σ. UNIX για διαχειριστές: φίλτρα με κανονικές εκφράσεις και εργαλεία ωφελιμότητας (sed και awk), ανάλυση επίδοσης συστήματος, κατάστιχα σφαλμάτων (syslog), θέματα εκκίνησης, διεργασίες και υποσύστημα αρχείων. ii) Προγραμματισμός στο κέλυφος Bash (περιβάλλον, δομές προγραμματισμού και αποσφαλμάτωσης). iii) Υποσυστήματα αρχείων και καταλόγων με κλήσεις συστήματος. iii) Διαχείριση διεργασιών (περιβάλλον, σήματα) και διαδιεργασιακή επικοινωνία (σωλήνες, FIFO, ουρές μηνυμάτων, κοινόχρηστη μνήμη, σηματοφόροι, υποδοχές δικτύου). iv) Πολυνηματικός προγραμματισμός και θέματα ταυτοχρονίας. Προγραμματισμός δικτυακών πρωτοκόλλων RFC με υποδοχές, ταυτοχρονία και θέματα υψηλής επίδοσης. v) Θέματα ασφάλειας συστημάτων, θέματα διαχείρισης υποδομών και υπολογιστικών νεφών (εικονικοποίηση, κέντρα δεδομένων και Green IT).

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • Your UNIX/Linux: The Ultimate Guide, 3rd Edition, Sumitabha Das, McGraw Hill, ISBN-13 9780073376202, 800 pp, 2013.
  • UNIX and Linux System Administration Handbook 5th Edition, Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley, Dan Mackin, 1232 pages, Addison-Wesley, ISBN-10: 0134277554 | ISBN-13: 978-01342775545, 2017.
  • Computer Systems: A Programmer's Perspective, 3th Edition, Randal E. Bryant, David R. O'Hallaron, ISBN-10: 013409266X, ISBN-13: 9780134092669, Pearson, 1120 pp, 2016.
  • Advanced Programming in the UNIX Environment, 3rd Edition, W. Richard Stevens, Stephen A. Rago, Addison-Wesley Professional, ISBN-10: 0321637739, ISBN-13: 9780321637734, 1024 pp, 2013.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, κατ’οίκον εργασίες και εργαστηριακές ασκήσεις.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Προχωρημένα Δίκτυα

Κωδικός Μαθήματος: ΕΠΛ 422

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Β. Βασιλείου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Επέκταση των βασικών γνώσεων των φοιτητών στα δίκτυα υπολογιστών σε θέματα που σχετίζονται με τις αρχιτεκτονικές, τις τεχνικές και τα πρωτόκολλα που σχετίζονται με το διαδίκτυο. Έμφαση σε όλα τα στρώματα της στοίβας των δικτύων σε ένα πιο προχωρημένο επίπεδο από το ΕΠΛ324.

Μαθησιακά Αποτελέσματα: Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα είναι σε θέση να:

  • Επεξηγεί τις εξής θεμελιώδεις έννοιες των Δικτύων Επικοινωνίας/Δικτύων Υπολογιστών:. Επίπεδα Εφαρμογών, Μεταφοράς, Δικτύων, Σύνδεσης. Βασικές αρχές δημιουργίας πρωτοκόλλων. Εφαρμογές και ποιότητα υπηρεσίας.
  • Επεξηγεί τα εξής ουσιώδη θέματα στα Δίκτυα Υπολογιστών: σουίτα πρωτοκόλλων TCP/ΙP, νέα πρωτόκολλα επιπέδου εφαρμογής, επικοινωνία P2P, αξιόπιστες υπηρεσίες στο επίπεδο μεταφοράς, νέες φιλοσοφίες σύνδεσης στο επίπεδο δικτύου. Ασφάλεια διαδικτύου, Διαχείριση δικτυών.
  • Επιδεικνύει δεξιότητες στην επίλυση θεμάτων δικτύωσης, ανάλυσης πρωτοκόλλων επικοινωνίας, και διαχείρισης δικτύων.
  • Επιδεικνύει δεξιότητες στην αξιοποίηση και ανάλυση διαφόρων αλγόριθμων δρομολόγησης και ελέγχου συμφόρησης.
  • Επιχειρηματολογεί αναφορικά με την δόμηση ενός δικτύου και αξιολογεί βάσει ποιοτικών και άλλων κριτηρίων την επίδοση των δικτύων.
  • Επιδεικνύει ικανότητα επίλυσης προβλημάτων δικτύου και αξιολόγησης διάφορων πρωτοκόλλων διαδικτύου.
  • Επιδεικνύει ικανότητα στη χρήση προσομοιωτών διαδικτύου για σχεδιασμό και αξιολόγηση δικτύων.
  • Επιδεικνύει ικανότητα στη χρήση του wireshark, ενός εργαλείου παρακολούθησης και ανάλυσης κίνησης δεδομένων και των διάφορων πρωτοκόλλων που χρησιμοποιούνται ανά πάσα στιγμή για την εύρυθμη λειτουργία των δικτύων, με στόχο τη αφομοίωση των πρωτοκόλλων και της κίνησης δεδομένων, αλλά και για ανάλυση πιθανών σφαλμάτων/προβλημάτων στη λειτουργία του δικτύου.
  • Να αναζητεί συνεχώς νέους βελτιωμένους τρόπους και μηχανισμούς στα πρωτοκόλλα δικτύων.
  • Να αναζητεί συνεχώς και να αναλύει νέες τεχνικές και τεχνολογίες δικτύων, όπως το Ιντερνέτ των Πραγμάτων., όπως το διαδίκτυο των πραγμάτων, Software Defined Networking, and Network Virtual Functions.

Προαπαιτούμενα: ΕΠΛ 324 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή στα Δίκτυα Υπολογιστών και το Διαδίκτυο. Πρωτόκολλο Διαδικτύου IPv6. Δρομολόγηση, Multicast Δρομολόγηση. Λειτουργία TCP, Έλεγχος Συμφόρησης. Ανάλυση Απόδοσης. Εφαρμογές Πολυμέσων. Υπηρεσίες και Πρωτόκολλα Πραγματικού Χρόνου. Ποιότητα Υπηρεσίας. MPLS. Μηχανική ελέγχου κίνησης (Traffic Engineering). Δρομολόγηση με κριτήρια QoS. Εισαγωγή στα ασύρματα και κινητά δίκτυα. Θέματα ασφάλειας δικτύων. Νέες ερευνητικές περιοχές και δραστηριότητες των δικτύων (π.χ. Διαδίκτυο των πραγμάτων, 5G). Εισαγωγή σε διαχείριση δικτύων, εικονικοποίηση δικτύων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • J. F. Kurose και K. W. Ross, Computer Networking: A Top-Down Approach, 8th Edition, Pearson, 2020.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία.

Γλώσσα: Αγγλικά

Τίτλος Μαθήματος: Ασφάλεια Δικτύων και Πληροφοριών

Κωδικός Μαθήματος: ΕΠΛ 423

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Β. Βασιλείου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

Μαθησιακά Αποτελέσματα: Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα είναι σε θέση να:

  • Αναγνωρίζει κάποιους από τους παράγοντες που οδηγούν στην ανάγκη για την ασφάλεια δικτύων και πληροφοριών.
  • Επιδεικνύει την ικανότητα να καταλαβαίνει τα θέματα που είναι σημαντικά στο πεδίο της ασφάλειας πληροφοριών
  • Αντιλαμβάνεται την ορολογία στον τομέα της ασφάλειας δικτύων και πληροφοριών
  • Επεξηγεί τους όρους Εμπιστευτικότητα, Ακεραιότητα και Διαθεσιμότητα.
  • Αναγνωρίζει και ταξινομεί απειλές και επιθέσεις σε συστήματα υπολογιστών και δίκτυα.
  • Συγκρίνει συστήματα και αλγόριθμους κρυπτογράφησης.
  • Κωδικοποιεί και αποκωδικοποιεί μηνύματα και υπογράφει και επικυρώνει ψηφιακές υπογραφές, χρησιμοποιώντας γνωστές τεχνικές.
  • Αναγνωρίζει τις ηθικές και νομικές πτυχές των θεμάτων ασφάλειας

Προαπαιτούμενα: ΕΠΛ 324 και ΕΠΛ326 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή σε απειλές και επιθέσεις, Τεχνικές Κρυπτογραφίας και Κρυπτανάλυσης, Πρότυπα ταυτοποίησης και επαλήθευσης (Kerberos, PKI), Πρωτόκολλα ασφάλειας εφαρμογών διαδικτύου (PGP, SSL/TLS), Ασφάλεια δικτύων (Firewalls, IDS), Αντιμετώπιση απειλών σε συστήματα υπολογιστών, Έλεγχος εφαρμογών και δικτύων για αναγνώριση ευπαθών σημείων, Άλλα θέματα στην ασφάλεια δικτύων και πληροφοριών (ιδιωτικότητα, ηθική, νομικό πλαίσιο).

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • W. Stallings and L. Brown, Computer Security: Principles and Practice, 5th Edition, Pearson 2023
  • W. Stallings, Network Security Essentials, Sixth Edition, Pearson, 2021.
  • C. Kaufman, R. Perlman, M. Speciner, R. Perlner, Network Security: Private Communications in a Public World, 3rd edition, Pearson 2023

Αξιολόγηση: Τελική Εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Ψηφιακή Επεξεργασία Σημάτων

Κωδικός Μαθήματος: ΕΠΛ 424

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Διδάσκεται από Επισκέπτη Καθηγητή ή Ειδικό Επιστήμονα Διδασκαλίας

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Εισαγωγή στις βασικές έννοιες, τεχνικές και εφαρμογές της Ψηφιακής Επεξεργασίας Σημάτων.

Μαθησιακά Αποτελέσματα: Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα διαθέτει προηγμένες γνώσεις στο αντικείμενο της Ψηφιακής Επεξεργασίας Σήματος, με βάση τις οποίες θα είναι σε θέση να:

  • Περιγράφει με διαγράμματα βαθμίδων τις βασικές και τις ειδικές διεργασίες της Ψηφιακής Επεξεργασίας Σήματος
  • Επιλέγει την κατάλληλη μεταξύ των εναλλακτικών περιγραφών ψηφιακού συστήματος, με βάση το πρόβλημα που αντιμετωπίζει.
  • Κάνει φασματική ανάλυση σημάτων και συστημάτων χρησιμοποιώντας εργαλεία προσομοίωσης ψηφιακών συστημάτων για τον υπολογισμό της εξόδου.
  • Ερμηνεύει τα αποτελέσματα της φασματικής ανάλυσης ψηφιακών σημάτων και συστημάτων, ώστε να προχωρά σε χαρακτηρισμό και κατηγοριοποίησή τους.
  • Αναλύει προβλήματα επεξεργασίας σήματος σε ρεαλιστικά σενάρια εφαρμογών (επεξεργασία οπτικοακουστικού σήματος, βιοϊατρικών σημάτων, τηλεπικοινωνιακών σημάτων) και συνθέτει λύσεις (σχεδιάζει ψηφιακά συστήματα) με βάση τις διδαχθείσες προσεγγίσεις.
  • Συνεργάζεται σε ομάδα για την ολοκληρωμένη αντιμετώπιση (ανάλυση - σύνθεση) σύνθετου προβλήματος ψηφιακής επεξεργασίας σήματος, την κριτική αξιολόγηση εναλλακτικών λύσεων και τη λήψη αποφάσεων προς υλοποίηση.
  • Χρήση του περιβάλλοντος MATLAB για ανάλυση, σχεδιασμό, και απομίμηση Ψηφιακών Σημάτων και Συστημάτων.

Προαπαιτούμενα: ΕΠΛ 111, ΜΑΣ 029, ΜΑΣ 012 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Ανάλυση σημάτων και ανάλυση συστημάτων διακριτού χρόνου, δειγματοληψία σημάτων, ανάλυση συστημάτων και σημάτων διακριτού χρόνου στο χώρο των συχνοτήτων, μετασχηματισμός z, Μετασχηματισμός Fourier, Μετασχηματισμός Fourier (DFT), και Fast Fourier Transform (FFT), ψηφιακά φίλτρα και παραδείγματα εφαρμογών. Το μάθημα εισάγει βασικές έννοιες της Ψηφιακής επεξεργασίας σήματος: Τύποι σημάτων, H έννοια της συχνότητας στα σήματα, Μετατροπή σήματος από αναλογικό–σε–ψηφιακό και από ψηφιακό–σε–αναλογικό, Σήματα διακριτού χρόνου, Συστήματα διακριτού χρόνου, Κρουστική απόκριση συστήματος, Μετασχηματισμός Fourier διακριτού χρόνου , Διακριτός μετασχηματισμός Fourier, Ταχύς μετασχηματισμός Fourier (FFT), Ο Μετασχηματισμός–z, O αντίστροφος μετασχηματισμός–z , μετασχηματισμός–z στην ανάλυση συστημάτων: Aιτιατότητα LTI συστήματος, Ευστάθεια LTI συστήματος, Εξισώσεις διαφορών, Δομές συστημάτων διακριτού χρόνου , Απόκριση συχνότητας συστημάτων διακριτού χρόνου, Χαρακτηριστικά των FIR φίλτρων, Τύποι και προδιαγραφές των FIR φίλτρων,. Μέθοδοι σχεδίασης FIR φίλτρων, Θέματα υλοποίησης FIR φίλτρων, Αναλογικά φίλτρα, Σχεδίαση IIR ψηφιακών φίλτρων, Υλοποίηση IIR ψηφιακών φίλτρων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • Alan Oppenheim, Ronald Schafer, John Buck, Discrete-time Signal Processing, Prentice-Hall, 2010.
  • Alan Oppenheim, Ronald Schafer, John Buck, Zeitdiskrete Signalverarbeitung, 2. Auflage, Pearson Studium, 2004.
  • Vinay Ingke, John Proakis, Digital Signal Processing using MATLAB, Third Edition, Cengage Learning, 2012.
  • Σ. Θεοδωρίδης, Ψηφιακή Επεξεργασία Σημάτων, Εκδόσεις Πανεπιστημίου Πατρών, 1992.
  • J. H. McClellan, R. W. Schafer και M. A. Yoder, DSP First, Prentice Hall, 1998.
  • Matlab DSP packages

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (εργαστηρια¬κές ασκήσεις, επιπρόσθετες ασκήσεις, τελική μελέτη).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Τεχνολογίες Διαδικτύου

Κωδικός Μαθήματος: ΕΠΛ 425

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Α. Κωνσταντινίδης

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Αυτό το μάθημα αποτελεί μια εισαγωγή στις τεχνολογίες του Διαδικτύου και του Παγκόσμιου Ιστού, με έμφαση στον σχεδιασμό και την ανάπτυξη σύγχρονων ιστοσελίδων και διαδικτυακών εφαρμογών. Καλύπτει την αρχιτεκτονική και την υποδομή των συστημάτων του Παγκόσμιου Ιστού, καθώς και την αρχιτεκτονική εφαρμογών πελάτη/διακομιστή. Τα θέματα που εξετάζονται περιλαμβάνουν τις ακόλουθες περιοχές γνώσης και τεχνολογίες:

  • Τη λειτουργία και την αλληλεπίδραση μεταξύ του διακομιστή ιστού (web server) και του προγράμματος περιήγησης (web browser).
  • Το πρωτόκολλο HTTP, με έμφαση στα μηνύματα που ανταλλάσσονται μεταξύ του προγράμματος περιήγησης και του διακομιστή ιστού.
  • Μια εισαγωγή στη γλώσσα HTML, CSS και JavaScript για προγραμματισμό στην πλευρά του πελάτη (front-end development).
  • Μια εισαγωγή στη γλώσσα PHP, καθώς και στη χρήση της Java και της SQL για προγραμματισμό στην πλευρά του διακομιστή (back-end development).
  • Τη δημιουργία δυναμικών ιστοσελίδων με χρήση AJAX, JSON, και διαδικτυακών εφαρμογών μέσω RESTful APIs για ανταλλαγή δεδομένων μεταξύ πελάτη και διακομιστή μέσω μηνυμάτων HTTP (π.χ., GET, POST, PUT, DELETE).

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

  • Αναπτύξουν την ικανότητα να αναλύουν έναν ιστότοπο και να αναγνωρίζετε τα στοιχεία και τα χαρακτηριστικά του.
  • Αναπτύξουν την ικανότητα να δημιουργούν δυναμικούς ιστότοπους χρησιμοποιώντας HTML5, Cascading Style Sheets (CSS) και JavaScript (JS) (front-end development).
  • Αναπτύξουν την ικανότητα να προγραμματίζουν την πλευρά του διακομιστή (back-end development) χρησιμοποιώντας PHP, Java και SQL.
  • Αναπτύξουν την ικανότητα να δημιουργούν δυναμικούς ιστότοπους χρησιμοποιώντας AJAX και JSON, καθώς και διαδικτυακές εφαρμογές χρησιμοποιώντας RESTful APIs για ανταλλαγή δεδομένων μεταξύ Πελάτη και Διακομιστή μέσω μηνυμάτων HTTP.

Προαπαιτούμενα: ΕΠΛ 132 και ΕΠΛ 324 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή στις Τεχνολογίες Διαδικτύου και την Ανάπτυξη Ιστοσελίδων· Εισαγωγή στην Ανάπτυξη Front-End· HTML5, CSS και JavaScript για προγραμματισμό στην πλευρά του πελάτη· Φόρμες HTML5· Βασικές αρχές του πρωτοκόλλου HTTP (λειτουργίες GET, POST, PUT, DELETE)· Εισαγωγή στην Ανάπτυξη Back-End· PHP, Java και SQL για προγραμματισμό στην πλευρά του διακομιστή· JSON, AJAX και RESTful API.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1,5 ώρες εβδομαδιαίως).

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

  • Web Programming with HTML, CSS, Bootstrap, JavaScript, React.JS, PHP, and MySQL Third Edition, 2022
  • Hofstetter, Fred T. (2023). Computational Thinking on the Internet: Foundations, Web Design & Cybersecurity (3rd ed.). Seattle: Kindle press.
  • "Web Programming. Step by Step." M. Stepp, J. Miller, V. Kirst. Self published via lulu.com, 2014.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, και κατ’οίκον εργασία.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Γραφικά Υπολογιστών

Κωδικός Μαθήματος: ΕΠΛ 426

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Μ. Λοΐζου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

Μαθησιακά Αποτελέσματα: Το μάθημα θα προσφέρει στους φοιτητές μια εισαγωγή στις βασικές αρχές των Γραφικών Υπολογιστών και όλες τις απαραίτητες γνώσεις που χρειάζονται για την δημιουργία εικόνων ιδεατών κόσμων ξεκινώντας από το μηδέν. Παρακολουθώντας το μάθημα οι φοιτητές θα μάθουν πως να ορίζουν ένα τρισδιάστατο ιδεατό κόσμο, δίνοντας την γεωμετρία, τα χρώματα, τα φώτα και την κάμερα, και να παίρνουν σαν αποτέλεσμα την δισδιάστατη εικόνα που αντιστοιχεί (απόδοση). Θα μάθουν πως η απόδοση επιτυγχάνεται είτε με την διαδικασία της γραφικής σωλήνωσης είτε με παρακολούθηση ακτίνας και στην πορεία θα δουν τεχνικές υπολογισμού τοπικού φωτισμού, σκιών και γενικού φωτισμού. Στο εργαστήριο γίνεται χρήση βιβλιοθηκών γραφικών όπως η openGL/webGL και shaders, και υλοποίηση μιας εφαρμογής σε γραφικά στο UNITY game engine.

Προαπαιτούμενα: ΕΠΛ 232 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Μοντελοποίηση, τοποθέτηση κάμερας, προβολές, γραφική σωλήνωση, αποκοπή, αλγόριθμοι απόκρυψης, παράστασης πολυγώνων σε πλεγματικές οθόνες, τοπικός φωτισμός, σκιές, γενικός φωτισμός, radiosity, παρακολούθηση ακτίνας, τεχνικές επιτάχυνσης, GPU, Κινησιογραφία.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • Computer Graphics: Principles and Practice, J. F. Hughes, A. van Dam, M. Mcguire, D. F. Sklar, J. D. Foley, S. K. Feiner, K. Akeley, Addison-Wesley Professional; 3rd edition, ISBN-13: 9780321399526, 2013.
  • M. Slater, A. Steed και Y. Chrysanthou, Computer Graphics and Virtual Environments: From Realism to Real-Time, Addison Wesley, 2001.
  • Θ. Θεοχάρης και Α. Μπεμ, Γραφικά – Αρχές και Αλγόριθμοι, Εκδοτικός Οίκος Συμμετρία, 1999.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία.

Γλώσσα: Ελληνική και Αγγλική

Τίτλος Μαθήματος: Κινητά Δίκτυα Υπολογιστών

Κωδικός Μαθήματος: ΕΠΛ 427

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Π. Κολιός

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

Μαθησιακά Αποτελέσματα: Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα είναι σε θέση να:

  • Επεξηγεί τις εξής θεμελιώδεις έννοιες των Ασύρματων και Κινητών Δικτύων: Ασύρματο περιβάλλον. Παρεμβολές στο ασύρματο περιβάλλον. Βασικές αρχές συστημάτων κινητών επικοινωνιών και ασυρμάτων επικοινωνιών και ασύρματης μεταφοράς δεδομένων. Αρχιτεκτονικές και τεχνολογίες ασυρμάτων δικτύων και ασύρματης επικοινωνίας.
  • Επεξηγεί τα εξής βασικά ουσιώδη θέματα στα Ασύρματα και Κινητά Δίκτυα: Βασικές τεχνολογίες δικτύωσης όπως π.χ. δίκτυα ευρείας περιοχής, μητροπολιτικά δίκτυα, δίκτυα τοπικής περιοχής, δίκτυα σώματος. Σπονδυλωτά και Ασπονδύλωτα Δίκτυα. Δίκτυα σενσόρων και Ιντερνέτ των Πραγμάτων. Δίκτυα κινητής τηλεφωνίας, συμπεριλαμβανομένων των 5G και παρα πέρα.
  • Επιδεικνύει δεξιότητες στην αξιοποίηση και ανάλυση διαφόρων τεχνολογιών κινητών/ασυρμάτων δικτύων.
  • Επιδεικνύει ικανότητα επίλυση θεμάτων δικτύωσης και ανάλυσης πρωτοκόλλων ασύρματης/κινητής επικοινωνίας, καθώς και βασικές αρχές σχεδίασης και διαστασιοποίησης ασυρμάτων δικτύων.
  • Επιχειρηματολογεί αναφορικά με την δόμηση ενός δικτύου και αξιολογεί βάσει ποιοτικών και άλλων κριτηρίων την επίδοση των κινητών/ασυρμάτων δικτύων.
  • Επιδεικνύει ικανότητα στη χρήση συσκευών ασύρματων δικτύων (SDR) για αξιολόγηση ασύρματων επικοινωνιών.
  • Αναζητεί νέους βελτιωμένους τρόπους και μηχανισμούς στα πρωτοκόλλα ασυρμάτων/κινητών δικτύων.
  • Αναζητεί και να αναλύει νέες τεχνικές και τεχνολογίες δικτύων, όπως π.χ. το Ιντερνέτ των Πραγμάτων.

Προαπαιτούμενα: ΕΠΛ 324 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Το ασύρματο περιβάλλον, Αρχιτεκτονικές και τεχνολογίες ασυρμάτων δικτύων και ασύρματης επικοινωνίας, MAC για ασύρματα δίκτυα, Ασύρματα τοπικά δίκτυα, Πρωτόκολλα κινητών δικτύων, Διαχείριση κινητικότητας στο επίπεδο Δικτύου, Κινητικότητα σε ανώτερα στρώματα (transport, application), Νέες τοπολογίες δικτύων (π.χ. ad-hoc, sensor, vehicular networks), Διεξαγωγή Έρευνας για ανοικτά προβλήματα ασύρματων δικτύων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • Wireless Communications Networks and Systems, C. Beard, W. Stallings, Pearson Higher Education, First Edition, January 2015.

Αξιολόγηση: Τελική Εξέταση, ενδιάμεση εξέταση, εργασίες εργαστηρίου και κατ’οίκον εργασία.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Διαδίκτυο των Πραγμάτων: Προγραμματισμός και Εφαρμογές

Κωδικός Μαθήματος: ΕΠΛ 428

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Π. Κολιός

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

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

  • Εξοικείωση με τις βασικές έννοιες και μεθόδους ανάπτυξης ενσωματωμένων συστημάτων.
  • Εισαγωγή στο κινητό υπολογισμό και προγραμματισμό σε έξυπνες κινητές συσκευές.
  • Ανάπτυξη εφαρμογών με τη χρήση μικροσυσκευών βασισμένων σε ARM microcontrollers, Arduino, και Rasperry Pi.

Προαπαιτούμενα: ΕΠΛ 222 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Προγραμματισμός σε ενσωματωμένα συστήματα: Εισαγωγή στο διαδίκτυο των πραγμάτων, Εισαγωγή στο σχεδιασμό με ενσωματωμένα συστήματα, Εισαγωγή στους κινητούς επεξεργαστές για ενσωματωμένα συστήματα, Διακοπές και κατανάλωση ισχύος, Προγραμματισμός για ενσωματωμένα και κινητά συστήματα. Κινητός υπολογισμός: Αρχιτεκτονική Διαδικτύου των Πραγμάτων, Προγραμματισμός σε έξυπνες κινητές συσκευές και εφαρμογές. Συνδεσιμότητα δικτύου: Διασύνδεση με Bluetooth, Zigbee, LoRA, NB-IoT Προγραμματισμός και ανάπτυξη εφαρμογών. Υπολογισμός Νέφους: Συνδεσιμότητα στο νέφος, Ανάπτυξη ολοκληρωμένων συστημάτων και εφαρμογών.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • Pascal Hirmer, Model-Based Approaches to the Internet of Things, Springer Cham., First Edition, 2023, ISBN 978-3-031-18883-1.
  • Raj Kamal, Internet Of Things: Architecture and Design Principles McGraw Hill Education (India), ISBN-10: 93-5260-522-5, First Edition, 2017.
  • Brunton SL, Kutz JN , Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control, Cambridge University Press, ISBN 978-1-108-42209-3, First Edition, 2019.
  • E.A. Lee and S.A. Seshia , Introduction to Embedded Systems, MIT Press, ISBN: 978-0-262-53381-2, Second Edition, 2017.
  • D. Hanes, G. Salgueiro, P. Grossetete, R. Barton, J. Henry , IoT Fundamentals: Networking Technologies, Protocols, and Use Cases for the Internet of Things, Cisco Press, ISBN-10: 1-58714-456-5, First Edition, 2017.
  • P. Warden, D. Situnayake, TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers, O'Reilly Media, First Edition, ISBN-10: 1492052043, 2020.

Αξιολόγηση: Τελική Εξέταση, ενδιάμεση εξέταση, εργασίες εργαστηρίου, και κατ’οίκον εργασία.

Γλώσσα: Αγγλική

Τίτλος Μαθήματος: Θεωρία και Πρακτική Μεταγλωττιστών

Κωδικός Μαθήματος: ΕΠΛ 429

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Η. Αθανασόπουλος

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

Μαθησιακά Αποτελέσματα: Μετά την ολοκλήρωση του μαθήματος, οι φοιτητές πρέπει να είναι σε θέση να:

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

Προαπαιτούμενα: ΕΠΛ 211, ΕΠΛ 231 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Βασικές αρχές σχεδίασης μεταφραστών. Συσχέτιση μεταξύ τυπικών γλωσσών, της θεωρίας αυτομάτων και των μεταφραστών. Θέματα λεξικής, συντακτι¬κής και σημασιολογικής ανάλυσης, παραγωγής και βελτιστοποίησης κώδικα, κλπ. Πρακτική εξάσκηση με χρήση lex και yacc.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • A. V. Aho, R. Sethi και J. D. Ullman, Compilers – Principles, Techniques, and Tools, Addison-Wesley, 1986.
  • The Essence of Compilers, R. Hunter, Prentice Hall, 1999
  • lex & yacc, T. Mason and D. Brown, O’Reilly & Associates Inc., 1990.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (θεωρητικές και διαγνωστικές εργασίες και εργασία εξαμήνου).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Σύνθεση Παράλληλων Αλγορίθμων

Κωδικός Μαθήματος: ΕΠΛ 431

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Χρ. Γεωργίου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0 ώρες

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

Μαθησιακά Αποτελέσματα: Ο/η φοιτητής/φοιτήτρια που θα έχει ολοκληρώσει επιτυχώς το μάθημα αυτό, αναμένεται ότι θα είναι σε θέση να:

  • Αναγνωρίζει και εφαρμόζει τις βασικές τεχνικές σχεδιασμού παράλληλων αλγορίθμων (κατάταξη λίστας, προθεματικό άθροισμα, περιήγηση του Euler, διαίρει και βασίλευε, συστολή δένδρων) για τον σχεδιασμό παράλληλων αλγορίθμων για βασικά προβλήματα συνδυαστικής, θεωρίας πινάκων και γράφων.
  • Γνωρίζει τα μέτρα επίδοσης (επιτάχυνση, απόδοση κόστους) και πολυπλοκότητας (παράλληλος χρόνος εκτέλεσης, κόστος) παράλληλων αλγορίθμων.
  • Αποδεικνύει την ορθότητα και αναλύει την πολυπλοκότητα παράλληλων αλγορίθμων.
  • Γνωρίζει τα βασικά μοντέλα παράλληλου υπολογισμού (PRAM, Δίκτυα διασύνδεσης, BSP) και τις βασικές τους παραμέτρους.
  • Γνωρίζει και εφαρμόζει τις βασικές τεχνικές σχεδιασμού και ανάλυσης εύρωστων παράλληλων αλγορίθμων στα μοντέλα υπολογισμού F-PRAM και Α-PRAM.
  • Υλοποιεί και αξιολογεί πειραματικά παράλληλους αλγορίθμους στο προγραμματιστικό μοντέλο XMT.
  • Επιδεικνύει προχωρημένη ικανότητα αλγοριθμικής σκέψης.
  • Επιδεικνύει προχωρημένες δεξιότητες στην επίλυση προβλημάτων.

Προαπαιτούμενα: ΕΠΛ 231 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή στον παράλληλο υπολογισμό. Πολυπλοκότητα και μέτρα επίδοσης παράλληλων αλγορίθμων. Πρότυπα παράλληλου υπολογισμού. Βασικές τεχνικές σχεδιασμού παράλληλων αλγορίθμων. Αποδοτικοί παράλληλοι αλγόριθμοι στη Συνδυαστική, Θεωρία Γράφων, και Θεωρία Πινάκων. Ανάλυση της πολυπλοκότητας αλγορίθμων στο υπολογιστικό πρότυπο της παράλληλης μηχανής με τυχαία προσπέλαση (PRAM). Σύγκριση διαφόρων προτύπων και τοπολογιών. Προχωρημένα θέματα (ανοχή σφαλμάτων, ατομικότητα, συγχρονισμός, υπολογιστικοί περιορισμοί του προτύπου PRAM). Το προγραμματιστικό μοντέλο XMT.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • J. Jaja, An Introduction to Parallel Algorithms, Addison-Wesley, 1992.
  • C. Georgiou και A. A. Shvartsman, Cooperative Task-Oriented Computing: Algorithms and Complexity, Morgan & Claypool, 2011.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (θεωρητικές και προγραμματιστικές ασκήσεις).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Κατανεμημένοι Αλγόριθμοι

Κωδικός Μαθήματος: ΕΠΛ 432

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Μ. Μαυρονικόλας

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0 ώρες

Στόχοι Μαθήματος: Εξοικείωση με θεμελιώδεις έννοιες της Θεωρίας Κατανεμημένου Υπολογισμού. Ανάπτυξη της ικανότητας σχεδίασης, απόδειξης ορθότητας και ανάλυσης κατανεμημένων αλγορίθμων. Καλλιέργεια συλλογιστικής και μαθηματικής προσέγγισης προς το πεδίο των κατανεμημένων αλγορίθμων.

Μαθησιακά Αποτελέσματα: Ο/η φοιτητής/φοιτήτρια που θα έχει ολοκληρώσει επιτυχώς το μάθημα αυτό, αναμένεται ότι θα είναι σε θέση να:

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

Προαπαιτούμενα: ΕΠΛ 211, ΕΠΛ 231 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Τυπικά μοντέλα κατανεμημένου υπολογισμού: κοινόχρηστη μνήμη έναντι ανταλλαγής μηνυμάτων, ντετερμινισμός έναντι τυχαιοποίησης, έννοιες συγχρονισμού, ασυγχρονισμού και πραγματικού χρόνου. Σχεδίαση και ανάλυση κατανεμημένων αλγορίθμων και αποτελέσματα αδύνατου/απίθανου για θεμελιώδη προβλήματα όπως αμοιβαίος αποκλεισμός, συμφωνία, συγχρονισμός, εκλογή αρχηγού, κατασκευή ελάχιστων δένδρων επικάλυψης. Ανοχή σε σφάλματα: Βυζαντινοί στρατηγοί, αλγόριθμοι ελεύθεροι αναμονής, βαθμοί σφαλμάτων. Τυπικές μέθοδοι απόδειξης ορθότητας κατανεμημένων αλγορίθμων. Προχωρημένα θέματα. Ειδική έμφαση καθ’ όλο το μάθημα σε κάτω και άνω φράγματα χρόνου και μνήμης.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • H. Attiya και J. L. Welch, Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd Edition, John Wiley and Sons Inc., 2003.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, κατ’οίκον εργασία και συμμετοχή στην τάξη και παρακολούθηση.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Προγραμματισμός και Ικανοποίηση Περιορισμών

Κωδικός Μαθήματος: ΕΠΛ 433

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Δημόπουλος

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0 ώρες

Στόχοι Μαθήματος: Εξοικείωση με ένα σημαντικό αριθμό προβλημάτων στην Πληροφορική που αποτελούν ειδικές περιπτώσεις προβλημάτων ικανοποίησης περιορισμών και καλύπτουν ένα ευρύ φάσμα εφαρμογών από Μηχανική Όραση και Τεχνητή Νοημοσύνη μέχρι διαχείριση Δικτύων Υπολογιστών, χρονοπρογραμματισμό εργασιών και διαμόρφωση (configuration) βιομηχανικών προϊόντων. Εισαγωγή τρόπων προσέγγισης και επίλυσης τέτοιων προβλημάτων καθώς και του σχετικού λογισμικού. Κατανόηση της δομής και συμπεριφοράς προβλημάτων ικανοποίησης περιορισμών και εξοικείωση με βασικούς αλγόριθμους επίλυσης τους. Αφομοίωση της χρησιμότητας των εργαλείων προγραμματισμού περιορισμών και του φάσματος των προβλημάτων που μπορούν να επιλύσουν, καθώς και απόκτηση εμπειρίας στην επίλυση προβλημάτων με τα εργαλεία αυτά.

Μαθησιακά Αποτελέσματα: Γνώση βασικών αλγόριθμων επίλυσης Προβλημάτων Ικανοποίησης Περιορισμών. Κατανόηση της τοπικής συνέπειας, έξυπνης αναζήτησης, δομής προβλήματος και βελτιστοποίησης. Εξοικείωση με πρακτικά εργαλεία και μεθόδους επίλυσης και την εφαρμογή τους σε πραγματικά προβλήματα.

Προαπαιτούμενα: ΕΠΛ 111, ΕΠΛ 231 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Ορισμός των προβλημάτων ικανοποίησης περιορισμών. Αναπαράσταση περιορισμών. Πολυπλοκότητα. Διάφορες μορφές συνέπειας. Οπισθοδρόμηση και τεχνικές look-ahead. Έξυπνη οπισθοδρόμηση και συνθήκες για εύρεση λύσεων. Περιγραφή του διαθέσιμου εμπορικού λογισμικού. Μελέτη προβλημάτων από διαφορετικές εφαρμογές, η μοντελοποίηση τους και η συμπεριφορά των διαφορετικών αλγορίθμων επίλυσης τους.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • R. Dechter, Constraint Processing, Morgan Keufmann, 2003.
  • E. Tsang, Foundations of Constraint Satisfaction, Academic Press, 1993.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (προγραμματιστικές ασκήσεις).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη

Κωδικός Μαθήματος: ΕΠΛ 434

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Διδάσκεται από επισκέπτη καθηγητή η Ειδικούς Επιστήμονες Διδασκαλίας

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1 ώρες

Στόχοι Μαθήματος: Εξοικείωση με τις βασικές αρχές του Λογικού Προγραμματισμού και πρακτι¬κή εξάσκηση στην υλοποίηση τους με τη γλώσσα Prolog. Ανάπτυξη ικανοτήτων εφαρμογής Λογικού Προγραμματισμού σε προβλήματα εφαρμογών.

Μαθησιακά Αποτελέσματα: Οι φοιτητές του μαθήματος θα έχουν αποκτήσει τις ακόλουθες γνώσεις και δεξιότητες:

  • Θεωρητικό μοντέλου Λογικού Προγραμματισμού
  • Προγραμματισμός στη PROLOG
  • Θεωρία Άρνησης ως Αποτυχία στο Λογικό Προγραμματισμό
  • Εφαρμογές Λογικού Προγραμματισμού
  • Στοιχεία μετά – προγραμματισμού
  • Επιχειρηματολογία και Κοινή Λογική
  • Χρονικός συλλογισμός στην Κοινή Λογική
  • Προγραμματισμός στο πλαίσιο συστήματος επιχειρηματολογίας GORGIA
  • Ανάπτυξη Γνωστικών Συστημάτων

Προαπαιτούμενα: ΕΠΛ 111 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Βασικές αρχές του Λογικού Προγραμματισμού και υλοποίηση με τη γλώσσα Prolog. Η σχέση του Λογικού Προγραμματισμού με τις σύγχρονες αντιλή¬ψεις περί Τεχνητής Νοημοσύνης. Επίλυση προβλημάτων εφαρμογών Τεχνητής Νοη¬μοσύνης και Βάσεων Δεδομένων με χρήση Λογικού Προγραμματισμού και Λογικού Προγραμματισμού με περιορισμούς.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο και Εργαστήριο (1 ώρα εβδομαδιαίως).

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

  • L. Sterling και E. Shapino, The Art of Prolog, 2nd Edition, The MIT Press, 1994.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (προγραμματιστικές ασκήσεις).

Γλώσσα: Αγγλική

Τίτλος Μαθήματος: Αλληλεπίδραση Ανθρώπου-Υπολογιστή

Κωδικός Μαθήματος: ΕΠΛ 435

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Μ. Κωνσταντινίδης

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Αντίληψη της σημασίας των καλών διεπιφανειών χρήστη και της σχέσης που έχει ο σχεδιασμός της διεπιφάνειας με την αλληλεπίδραση του ανθρώπου με τον υπολογιστή. Εξάσκηση στην εφαρμογή μιας ευρέως γνωστής μεθοδολογίας σχεδιασμού διαδραστικών συστημάτων, ξεκινώντας από τον προσδιορισμό των απαιτήσεων των χρηστών και καταλήγοντας στην αξιολόγηση ευχρηστίας.

Μαθησιακά Αποτελέσματα: Με το πέρας του μαθήματος οι φοιτητές αναμένονται να είναι σε θέση:

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

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

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

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1,5 ώρες εβδομαδιαίως).

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

  • Designing with the Mind in Mind: Simple Guide to Understanding User Interface Design Guidelines (3rd Edition) by Jeff Johnson (2020)
  • About Face: The Essentials of Interaction Design, 4th Edition Alan Cooper, Robert Reimann, David Cronin, Christopher Noessel ISBN: 978-1-118-76657-6 September 2014 720 pages
  • J. Preece, Y. Rogers και H. Sharp, Interaction Design: Beyond Human-Computer Interacrtion, John Wiley and Sons, 2002.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Προχωρημένη Τεχνολογία Λογισμικού

Κωδικός Μαθήματος: ΕΠΛ 441

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Παπαδόπουλος

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Εμβάθυνση και αφομοίωση προχωρημένων αρχών, εννοιών και πρακτικών της τεχνολογίας λογισμικού. Τριβή με τη χρήση προηγμένων μεθοδολογιών τεχνολογίας λογισμικού. Το μάθημα παίζει επίσης τον ρόλο ενός «οδικού χάρτη» για περιορισμένες επιλογές και μεταπτυχιακά μαθήματα στην τεχνολογία λογισμικού.

Μαθησιακά Αποτελέσματα: Με το πέρας του μαθήματος οι φοιτητές αναμένονται να είναι σε θέση:

  • Να έχουν κατανοήσει προχωρημένες τεχνικές διαχείρισης πολύπλοκων λογισμικών έργων.
  • Να μπορούν να εκπονήσουν ομαδικά projects εφαρμόζοντας τις αρχές της ομαδικής ανάπτυξης λογισμικού.
  • Να γνωρίζουν τις βασικές αρχές επαναχρησιμοποίησης λογισμικού μέσω των διαφορετικών τεχνικών που υπάρχουν για αυτόν τον σκοπό.
  • Να μπορούν να εφαρμόσουν τις βασικές αρχές της Αλληλεπίδρασης Ανθρώπου-Μηχανής με σκοπό οι εφαρμογές να έχουν προσιτή επικοινωνία με τους χρήστες.

Προαπαιτούμενα: ΕΠΛ 343 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Επαναχρησιμοποίηση λογισμικού. Κατανεμημένα συστήματα. Συστήματα προσανατολισμένα προς τις υπηρεσίες. Συστήματα πραγματικού χρόνου. Διαχείριση έργου. Αλληλεπίδραση Ανθρώπου-Μηχανής από το σημείο αναφοράς της Τεχνολογίας Λογισμικού (βασικές αρχές αλλληλεπίδρασης, σχεδιαστικοί κανόνες, μέθοδοι και μεθοδολογίες σχεδίασης της αλληλεπίδρασης, αξιολόγηση διαδραστικών συστημάτων, θέματα προσβασιμότητας).

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • I. Sommerville, Software Engineering, 10th Edition, Addison-Wesley, 2016.
  • A. Dix, J. Finlay, G. D. Abowd, R. Beale, Human Computer Interaction, 3rd Edition, Prentice Hall, 2004.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (πρακτικές ασκήσεις) ή εξαμηνιαία εργασία.

Γλώσσα: Αγγλική

Τίτλος Μαθήματος: Μηχανική Μάθηση

Κωδικός Μαθήματος: ΕΠΛ 442

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Χρ. Χριστοδούλου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Το μάθημα αυτό στοχεύει στην εξοικείωση των φοιτητών με θεωρητικά και πρακτικά θέματα που σχετίζονται με τη Μηχανική Μάθηση, συμπεριλαμβανομένης της επιβλεπόμενης, μη επιβλεπόμενης και ενισχυτικής μάθησης. Το μάθημα εστιάζει στα Νευρωνικά Δίκτυα, συμπεριλαμβανομένης της Βαθιάς Μάθησης, περιοχές οι οποίες αποτελούν τα θεμέλια της μοντέρνας Τεχνητής Νοημοσύνης, με τους φοιτητές να υλοποιούν και να αξιολογούν συστήματα Μηχανικής Μάθησης.

Μαθησιακά Αποτελέσματα: Μετά το πέρας του μαθήματος οι φοιτητές αναμένονται να είναι σε θέση:

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

Προαπαιτούμενα: ΕΠΛ 231 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή στην αναγνώριση προτύπων. Πολυστρωματικά νευρωνικά δίκτυα και αλγόριθμος μάθησης ανάστροφης μετάδοσης σφάλματος. Βαθιά μάθηση και συνελικτικά νευρωνικά δίκτυα. Χρόνος στα νευρωνικά δίκτυα και νευρωνικά δίκτυα με ανάδραση. Χάρτες αυτοοργάνωσης. Δίκτυα με συναρτήσεις αξονικών βάσεων. Ενισχυτική Μάθηση. Δίκτυα Hopfield και μηχανές Boltzmann. Βασική εισαγωγή σε παραγωγικά (generative) νευρωνικά δίκτυα και μετασχηματιστές (Transformers). Ανασκόπηση των εξελίξεων σε τομείς της Πληροφορικής, όπως η τεχνητή νοημοσύνη, τα έμπειρα συστήματα, η γνωστική επιστήμη, η ρομποτική, τα νευρωνικά δίκτυα, κ.ά., που συνέβαλαν στην ανάπτυξη της θεωρίας των συστημάτων μηχανικής μάθησης.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1,5 ώρες εβδομαδιαίως).

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

  • C. M. Bishop, Neural Networks for Pattern Recognition, Oxford University Press, 1995.
  • S. Haykin, Neural Networks and Learning Machines, 3rd Edition, Pearson Education, 2009.
  • R. S. Sutton and A. G. Barto, Reinforcement Learning: an Introduction, MIT Press, 2nd Ed., 2018.
  • A. Zhang, Z. C. Lipton, M. Li and A. J. Smola. Dive into Deep Learning, Cambridge University Press, 2023.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Επαναχρησιμοποίηση Λογισμικού

Κωδικός Μαθήματος: ΕΠΛ 443

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Καπιτσάκη

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

Μαθησιακά Αποτελέσματα: Με το πέρας του μαθήματος οι φοιτητές αναμένονται να είναι σε θέση:

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

Προαπαιτούμενα: ΕΠΛ 343 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα) και Εργαστήριο (1,5 ώρες εβδομαδιαίως).

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα) και Εργαστήριο (1,5 ώρες εβδομαδιαίως).

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

  • Μ. Ezran, Μ. Morisio, C. Tully, Practical Software Reuse, Practicioner Series, 2002.
  • E. Freeman, E. Robson, B. Bates, K. Sierra, Head First Design Patterns, O'Reilly Media, 2004.
  • C. Horstmann, A Practical Guide to Open Source Licensing, Wiley, 2nd Edition, 2006.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (πρακτικές ασκήσεις, εξαμηνιαία εργασία).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Συστήματα Υπολογιστικής Νοημοσύνης

Κωδικός Μαθήματος: ΕΠΛ 444

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Χρ. Χριστοδούλου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Το μάθημα αυτό προσφέρει μια σφαιρική επισκόπηση των συστημάτων Υπολογιστικής Νοημοσύνης, με εστίαση στους Γενετικούς Αλγόριθμους και την Ασαφή Λογική, και των εφαρμογών τους στην επίλυση 'πραγματικών' προβλημάτων σε ποικίλους τομείς, όπως, π.χ., υποστήριξη λήψης αποφάσεων, κατάταξη, πρόγνωση, βελτιστοποίηση συστημάτων και δημιουργικός σχεδιασμός. Εισαγάγει επίσης την Υπολογιστική Νευροεπιστήμη καθώς και θέματα Γνωστικής Επιστήμης.

Μαθησιακά Αποτελέσματα: Μετά το πέρας του μαθήματος οι φοιτητές αναμένονται να είναι σε θέση:

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

Προαπαιτούμενα: Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εξελικτικός Υπολογισµός. Γενετικοί Αλγόριθµοι. Τεχνητά Νευρωνικά ∆ίκτυα. Ασαφή Συστήµατα. Τεχνητή Ζωή. Υπολογιστική Νευροεπιστήμη· μοντέλα νευρώνων Hodgkin και Huxley, Integrate-and-Fire, και δισδυάστατα (2D, π.χ., FitzHugh-Nagumo)· Νευρωνικός Κώδικας· Μάθηση Hebbian και Συναπτική Πλαστικότητα· Εισαγωγή στην Γνωστική Επιστήμη. Ανάπτυξη και Υλοποίηση Συστηµάτων Υπολογιστικής Νοηµοσύνης.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • A. P. Engelbrecht, Computational Intelligence: An Introduction, John Wiley and Sons, 2nd Edition 2007.
  • R. C. Eberhart και Y. Shi, Computational Intelligence: Concepts to Implementations, Elsevier, 2007.
  • E. R. Kandel, Αναζητώντας τη Μνήμη, (Μετάφραση A. Καραμανίδης), Πανεπιστημιακές Εκδόσεις Κρήτης, 2008.
  • P. Dayan και L. Abbott, Theoretical Neuroscience: Computational and Mathematical Modelling of Neural Systems, MIT Press, 2001.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, κατ’οίκον εργασία (εργαστηριακές ασκήσεις, επιπρόσθετες ασκήσεις, τελική μελέτη).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Ψηφιακή Επεξεργασία Εικόνας

Κωδικός Μαθήματος: ΕΠΛ 445

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Κ. Παττίχης

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0

Στόχοι Μαθήματος: Εισαγωγή στις βασικές αρχές Ψηφιακής Επεξεργασίας Εικόνας: Ψηφιακή Ανάλυση Εικόνας και Βίντεο. Ανάλυση και υλοποίηση αλγορίθμων επεξεργασίας και ανάλυσης εικόνας και βίντεο με εφαρμογές σε βιομηχανικά και βιοϊατρικά συστήματα.

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

  • Εξοικείωση με τις βασικές έννοιες και μεθόδους ανάπτυξης ενός απλού συστήματος επεξεργασίας και ανάλυσης εικόνας και βίντεο.
  • Εισαγωγή και κατανόηση των εντολών επεξεργασίας και ανάλυσης εικόνας και βίντεο.
  • Ανάπτυξη εφαρμογών που αξιοποιούν τα 1 και 2.

Προαπαιτούμενα: ΕΠΛ 231, ΜΑΣ 029 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Δυαδική Επεξεργασία Εικόνων. Ιστόγραμμα Εικόνας και Λειτουργίες Σημείου. Διακριτός Μετασχηματισμός Fourier. Γραμμικό Φιλτράρισμα Εικόνων. Μη Γραμμικό Φιλτράρισμα Εικόνων. Συμπίεση Εικόνας. Ανάλυση Εικόνας. Ψηφιακή Επεξεργασία Βίντεο.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • R. C. Gonzalez και R. E. Woods, Digital Image Processing, 4th Edition, Pearson, 2017.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (εργαστηριακές ασκήσεις, επιπρόσθετες ασκήσεις, τελική μελέτη).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Προχωρημένες Βάσεις Δεδομένων

Κωδικός Μαθήματος: ΕΠΛ 446

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Δ. Ζεϊναλιπούρ

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Κατανόηση και Υλοποίηση τεχνικών και αλγορίθμων που αφορούν την εσωτερική λειτουργία μιας σχεσιακής βάσης δεδομένων (αποθήκευση και ευρετήρια δευτερεύουσας μνήμης, βελτιστοποίηση επερωτημάτων και διαχείριση δοσοληψιών). Έκθεση των φοιτητών σε προχωρημένα θέματα και ερευνητικές κατευθύνσεις στο πεδίο των Βάσεων Δεδομένων.

Μαθησιακά Αποτελέσματα: Με την επιτυχή ολοκλήρωση του μαθήματος, οι συμμετέχοντες θα είναι σε θέση να:

  • Κατανοούν τον φυσικό σχεδιασμό και την υλοποίηση της σχεσιακής βάσης δεδομένων και τους ανάλογους μηχανισμούς για αποθήκευση και ευρετηρίαση δεδομένων.
  • Αντιλαμβάνονται σε βάθος θεμάτων βελτιστοποίησης επερωτήσεων, ελέγχου ταυτοχρονίας, παραλληλισμού και ανάκαμψης δεδομένων στο πεδίο της διαχείρισης των δεδομένων.
  • Υλοποιούν υποσυστήματα βάσεων δεδομένων στη γλώσσα προγραμματισμού C++ μέσω της αρχιτεκτονικής Minibase.
  • Αναλύουν την χρονική πολυπλοκότητα αλγορίθμων δευτερευούσας μνήμης.
  • Συγκρίνουν διαφορετικές προσεγγίσεις για κατανεμημένες βάσεις δεδομένων.

Προαπαιτούμενα: ΕΠΛ 342 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Αποθήκευση και Ευρετήρια: Μέσα Αποθήκευσης Δεδομένων, Ενδόμνημη Διαχείριση Δεδομένων, Ευρετήρια Δευτερεύουσας Μνήμης (B+Trees, ISAM, Linear/Extendible Hashing), Βελτιστοποίηση Επερωτημάτων: Αποτίμηση Επερωτημάτων, Βελτιστοποίηση Επερωτημάτων, Εξωτερική Ταξινόμηση, Διαχείριση Δοσοληψιών: Αρχές Δοσοληψιών, Έλεγχος Ταυτοχρονίας, Τεχνικές Ανάκαμψης, Προχωρημένα Θέματα: Κατανεμημένες Βάσεις Δεδομένων, Ημι-δομημένα Δεδομένα XML/XQuery. Υλοποίηση διαφόρων υποσυστημάτων μιας πραγματικής βάσης δεδομένων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • Database Management Systems: Paperback Edition, 3 Edition, Raghu Ramakrishnan and Johannes Gehrke, McGraw-Hill Publishers, Paper; 1065 pp, ISBN: 0-07-123057-2, 2003.
  • Fundamentals of Database Systems, 7/E Ramez Elmasri, Shamkant B. Navathe, ISBN-10: 0133970779, ISBN-13: 9780133970, 2016.
  • Principles of Distributed Database Systems, Özsu, M. Tamer, Valduriez, Patrick, 3rd Edition, 846 p., Springer Press, 2011.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, προγραμματιστικές εργασίες και παρουσίαση.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Υπολογιστική Όραση

Κωδικός Μαθήματος: ΕΠΛ 447

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα:

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Εισαγωγή στα κύρια θέματα και έννοιες που αφορούν το αντικείμενο της Υπολογιστικής Όρασης. Βασικός στόχος είναι η κατανόηση των θεμελιωδών προβλημάτων της υπολογιστικής όρασης και των μεθοδολογιών που χρησιμοποιούνται για την επίλυση υπολογιστικών προβλημάτων με τη χρήση μαθηματικών μοντέλων και υπολογιστικών αλγόριθμων που αφορούν την υπολογιστική όραση.

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

  • Εξοικείωση με τις βασικές έννοιες και μεθόδους ανάπτυξης ενός απλού συστήματος υπολογιστικής όρασης.
  • Εισαγωγή και κατανόηση των εντολών σε γλώσσα προγραμματισμού υποστήριξης της απαιτούμενης λειτουργικότητας για ανάπτυξη συστημάτων υπολογιστικής όρασης.
  • Ανάπτυξη εφαρμογών που αξιοποιούν τα 1 και 2.

Προαπαιτούμενα: ΕΠΛ 231, ΜΑΣ 029 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Βασικές έννοιες και μεθοδολογίες που αφορούν το αντικείμενο της Υπολογιστικής Όρασης. Σχηματισμός Εικόνας, επεξεργασία εικόνας, ανίχνευση χαρακτηριστικών, κατάτμηση εικόνων και ομαδοποίηση χαρακτηριστικών, επεξεργασία πολλαπλών εικόνων, μελέτη εφαρμογών.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • D. Forsyth και J. Ponce, Computer Vision: A Modern Approach, 2nd Edition, Pearson, 2011.
  • S.D. Prince, Computer Vision: Models, Learning and Inference, 2012.
  • R. Hartley και A. Zeisserman, Multiple View Geometry, Cambridge University Press, 2003.
  • C. Bishop, Pattern Recognition and Machine Learning, Springer-Verlag, 2007.
  • O. Faugeras και Q.T. Luong, Geometry of Multiple Images, MIT Press, 2001.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, προγραμματιστικές εργασίες και παρουσίαση.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Εξόρυξη Δεδομένων στον Παγκόσμιο Ιστό

Κωδικός Μαθήματος: ΕΠΛ 448

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Πάλλης

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

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

  • Κατανόηση των βασικών εννοιών και τεχνικών του ερευνητικού πεδίου που αφορά στην ανάλυση μεγάλων, σε όγκο και πολυπλοκότητα, συλλογών δεδομένων στον Π.Ι.
  • Κατανόηση του προγραμματιστικού μοντέλου Map-Reduce.
  • Κατανόηση των βασικών αρχών της εξόρυξης δεδομένων δίνοντας παράλληλα μία γενική εικόνα των βασικών απαιτήσεων και αναγκών για την εφαρμογή νέων αποτελεσματικών μεθόδων και τεχνικών ανάλυσης δεδομένων στον Π.Ι.
  • Εξέταση κανόνων συσχέτισης (association rules) και αλγορίθμων εποπτευόμενης και μη εποπτευόμενης εξόρυξης δεδομένων, όπως ομαδοποίηση (clustering) και κατηγοριοποίηση (classification).
  • Εφαρμογή τεχνικών εξόρυξης δεδομένων στην ανάλυση συνδέσμων ενός Διαδικτυακού τόπου, στα συστήματα προτιμήσεων, στα κοινωνικά δίκτυα και στη Διαφήμιση στον Π.Ι.

Προαπαιτούμενα: ΕΠΛ 342 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή στις βασικές έννοιες και τεχνικές του ερευνητικού πεδίου που αφορά στην ανάλυση μεγάλων, σε όγκο και πολυπλοκότητα, συλλογών δεδομένων στον Π.Ι. Εισαγωγή του προγραμματιστικού μοντέλου Map-Reduce. Παρουσίαση των βασικών αρχών της εξόρυξης δεδομένων δίνοντας παράλληλα μία γενική εικόνα των βασικών απαιτήσεων και αναγκών για την εφαρμογή νέων αποτελεσματικών μεθόδων και τεχνικών ανάλυσης δεδομένων στον Π.Ι. Εξέταση κανόνων συσχέτισης (association rules) και αλγορίθμων εποπτευόμενης και μη εποπτευόμενης εξόρυξης δεδομένων, όπως ομαδοποίηση (clustering) και κατηγοριοποίηση (classification). Έμφαση στην ανάλυση συνδέσμων ενός Διαδικτυακού τόπου, στα συστήματα προτιμήσεων, στα κοινωνικά δίκτυα και στη Διαφήμιση στον Π.Ι.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1,5 ώρα εβδομαδιαίως). Η ύλη των διαλέξεων θα συνοδεύεται από εργασίες ανασκόπησης άρθρων ή βιβλίων από την ερευνητική βιβλιογραφία.

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

  • J. Leskovec, A. Rajaraman, J. D. Ullman, Mining of Massive Datasets, Cambridge University Press, 2020.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (προγραμματιστικές ασκήσεις).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Επαγγελματική Πρακτική Τεχνολογίας Λογισμικού

Κωδικός Μαθήματος: ΕΠΛ 449

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Γ. Καπιτσάκη

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

Μαθησιακά Αποτελέσματα: Με το πέρας του μαθήματος οι φοιτητές αναμένονται να είναι σε θέση:

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

Προαπαιτούμενα: ΕΠΛ 343 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εργαλεία και περιβάλλοντα ανάπτυξης λογισμικού. Εργαλεία διαχείρισης εκδόσεων (Git και GitHub). Αλληλεπίδραση με πελάτες και χρήστες. Επαγγελματικές πτυχές της τεχνολογίας λογισμικού και προσόντα. Ανάληψη και διεκπεραίωση έργου λογισμικού από ομάδες φοιτητών (2-6 ατόμων). Πραγματοποίηση των φάσεων της ανάπτυξης λογισμικού σε έργα που προέρχονται από το βιομηχανικό τομέα. Χρήση της μεθοδολογίας Scrum (Scrum review meeting, Scrum retrospective, κτλ.). Δοκιμές και αυτοματοποιημένες δοκιμές. Ανάλυση συστήματος μέσω μετρικών λογισμικού. Εξειδικευμένα θέματα ανάλογα με τη φύση των έργων (π.χ., διακομιστές διαδικτύου, κλπ.). Διαχείριση αδειών ανοικτού κώδικα. Νομοθεσία για την προστασία προσωπικών δεδομένων και σχετικές λειτουργίες συστημάτων λογισμικού.

Μεθοδολογία Διδασκαλίας: Συναντήσεις και διαλέξεις (1 φορά τη βδομάδα ανά ομάδα φοιτητών), Φροντιστήριο (1 ώρα εβδομαδιαίως), Εργαστήριο (1,5 ώρες εβδομαδιαίως).

Βιβλιογραφία: Επιλεγμένα άρθρα και εργαλεία από τη διεθνή βιβλιογραφία.

Αξιολόγηση: Αξιολόγηση του παραγόμενου συστήματος λογισμικού, αξιολόγηση της συνοδευτικής τεκμηρίωσης, προφορική παρουσίαση και εξέταση, διαγνωστικά τεστ.

Γλώσσα: Ελληνική ή Αγγλική

Τίτλος Μαθήματος: Εικονικοποίηση και Διαχείριση Δικτύων

Κωδικός Μαθήματος: ΕΠΛ 450

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: B. Βασιλείου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Το μάθημα έχει ως στόχο να καλύψει τις τελευταίες προσεγγίσεις στη εικονική διαμόρφωση δικτύων (π.χ. Δίκτυα καθορισμένων από λογισμικό (SDN), εικονική διαμόρφωση λειτουργιών δικτύου (NFV), διαχείριση εικονικής υποδομής (VIM), υπηρεσία δικτύου, διαχείριση και ενορχήστρωση NFV) και του cloud (π.χ. OpenStack), καθώς και πιο παραδοσιακές τεχνικές (π.χ. SNMP). Το μάθημα θα εισαγάγει επίσης τα Βασικά Στοιχεία Διαχείρισης Δικτύου (Network Management Fundamentals), θα εξηγήσει τις διάφορες τεχνολογίες που χρησιμοποιούνται στη διαχείριση δικτύου (παραδοσιακές, π.χ. SNMP, και τις τελευταίες εικονικές προσεγγίσεις, όπως το SDN / NFV), και πώς σχετίζονται μεταξύ τους. Θα εισαγάγει επίσης διαφορετικά μοντέλα αναφοράς διαχείρισης, όπως σφάλμα, διαμόρφωση, λογιστική, απόδοση και ασφάλεια (FCAPS), τα διάφορα δομικά στοιχεία της διαχείρισης δικτύου, τα πρωτόκολλα που χρησιμοποιούνται, την οργάνωση των δεδομένων και τις πτυχές επικοινωνίας διαχείρισης. Επιπλέον, μια σημαντική πτυχή του μαθήματος είναι η πρακτική εμπειρία με την διαμόρφωση εικονικών δικτύων και τη διαχείριση τους.

Μαθησιακά Αποτελέσματα: Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα είναι σε θέση να:

  • γνωρίζει τη βασική ορολογία και έννοιες στην εικονική διαμόρφωση δικτύου (π.χ. εικονική διαμόρφωση λειτουργίας δικτύου NFV, λειτουργίες δικτύου VNF- VNF-Virtual Network Functions, ενορχήστρωση υπηρεσιών δικτύου, διαχείριση δικτύου που βασίζεται στο cloud) και θα είστε σε θέση να τις εφαρμόσετε για την επίλυση πιο προηγμένων δικτύων.
  • Να γνωρίζει την βασική ορολογία και έννοιες στη συνολική Διαχείριση Δικτύου και Υπηρεσίες.
  • Να δημιουργήσει, να ρυθμίσει και να αναπτύξει ένα δίκτυο που βασίζεται στο SDN και να ρυθμίσει το δίκτυο τύπου Open Flow.
  • έχει εργασιακή γνώση των εννοιών: Εικονική διαμόρφωση δικτύου, εικονικές υπηρεσίες δικτύου, ενορχήστρωση υπηρεσιών δικτύου και Network Slicing
  • να κατασκευάσει, να διαμορφώσει, να αναπτύξει και να παρακολουθήσει μέσω SNMP ένα δίκτυο IP, όσον αφορά τους υπολογιστές και τον εξοπλισμό δικτύωσης.
  • να διαμορφώσει και να αναπτύξει την παρακολούθηση ενός δικτύου, υπολογιστών και υπηρεσιών.
  • χρησιμοποιήσει βασικά εργαλεία διαχείρισης για τη διαχείριση δικτύων, υπολογιστών και υπηρεσιών.
  • αξιολογήσει τα προβλήματα που μπορεί να προκύψουν στη διαχείριση.

Προαπαιτούμενα: ΕΠΛ324 Συναπαιτούμενα: Δεν υπάρχουν

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

  • Επισκόπηση τεχνολογιών δικτύωσης: (ι) LANs, WLANs, WANs, PANs, MANs, κλπ. (ιι) ανασκόπηση BGP, VPN, VLAN και DNS, εισαγωγή στον υπολογισμό νέφους.
  • Εισαγωγή στη διαχείριση δικτύων
  • Σύντομη ανασκόπηση προτύπων, μοντέλων, γλωσσών και SLA διαχείρισης δικτύου.
  • Λειτουργικές περιοχές διαχείρισης (FCAPS): Διαχείριση σφαλμάτων, Διαχείριση παραμέτρων, Λογιστική διαχείριση, Διαχείριση απόδοσης, Διαχείριση ασφάλειας.
  • Εικονικοποίηση δικτύου και εικονικοποιημένη διαχείριση δικτύου: ανάγκες και βασικές αρχές (NFV MANO, ETSI MANO, OPENBATTON)
  • Δίκτυα καθορισμένα από λογισμικό και Ανοιχτή ροή (παραδείγματα εργαστηρίου Mininet με ONOS).
  • Εικονικοποίηση δικτύου και εικονικά διαμορφωμένες υπηρεσίες (π.χ. εικονικοποίηση λειτουργιών δικτύου NFV, λειτουργίες εικονικού δικτύου VNF, ενορχήστρωση υπηρεσιών δικτύου, διαχείριση δικτύου βάσει νέφους).
  • Παραδοσιακή και νέα παρακολούθηση δικτύου
  • MIB, OID και SMI, SNMPv1, v2, v3, RMON, MRTG και νέα εργαλεία παρακολούθησης (π.χ. NAGIOS, ZENOSS).
  • Πρωτόκολλα και εργαλεία διαχείρισης δικτύου (π.χ. ipconfig, ping, ...), NMS (π.χ. Nagios, Cacti, OpenView, NetView, CygNet, κλπ...), NetConf και YANG.
  • Διαχείριση απόδοσης.
  • Αρχιτεκτονικές ποιότητας υπηρεσιών (QoS) και μηχανισμοί ρύθμισης κυκλοφορίας, διαχείριση ασφάλειας δικτύου.
  • Άλλα θέματα και τάσεις
  • Νεότερα εργαλεία διαχείρισης δικτύου (π.χ., εργαλεία που βασίζονται σε XML)
  • Διαχείριση Υπηρεσιών Νέφους
  • Νέα σκέψη και κατευθύνσεις.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1.5 ώρες εβδομαδιαίως).

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

  • William Stallings, Foundations of Modern Networking: SDN, NFV, QoE, IoT, and Cloud, Pearson, 2022.
  • Jim Doherty, SDN and NFV Simplified: A Visual Guide to Understanding Software Defined Networks and Network Function Virtualization, 1st Edition, Pearson, 2016,.
  • Alexander Clemm, Network Management Fundamentals, 2006, Cisco Press, 2006

Αξιολόγηση: Τελική Εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία.

Γλώσσα: Ελληνική ή Αγγλική

Τίτλος Μαθήματος: Ανάλυση Λογισμικού

Κωδικός Μαθήματος: ΕΠΛ 451

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Η. Αθανασόπουλος

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 ώρα | Εργαστήρια / εβδομάδα: 0

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

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

  • Ανάλυση δυαδικών αρχείων (binaries) στο Unix.
  • Τροποποίηση (instrumentation) δυαδικών αρχείων στο Unix.
  • Κατασκευή προγραμμάτων αποσφαλμάτωσης.
  • Τροποποίηση μεταγλωττιστών για την τροποποίηση υφιστάμενου κώδικα C/C++.

Προαπαιτούμενα: ΕΠΛ211, ΕΠΛ232 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Το πρότυπο ELF για Unix binaries. Εργαλεία τα οποία επεξεργάζονται binaries στο Unix (επισκόπηση διαφορετικών περιοχών, σύμβολων, βιβλιοθηκών, κ.λπ.). O μηχανισμός με τον οποίο λειτουργούν τα relocations και οι κοινές βιβλιοθήκες στα δυαδικά αρχεία (π.χ., η χρήση του GOT). Η χρήση του ptrace(). Από-συναρμολόγηση (disassembling) δυαδικών αρχείων με τη βοήθεια του Capstone. Επανεγγραφή δυαδικών αρχείων με προγραμματιστικό τρόπο. Προ-φόρτωση (preloading) δυαδικών αρχείων. Δυναμική και στατική ανάλυση δυαδικού κώδικα. Εμπλουτισμός κώδικα C/C++ με τη βοήθεια του LLVM. Εφαρμογές της ανάλυσης λογισμικού.

Μεθοδολογία Διδασκαλίας: Διαλέξεις και φροντιστήριο.

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

  • Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly. Dennis Andriesse. ISBN-10: 1593279124.
  • Τεκμηρίωση LLVM.
  • Δημοσιεύσεις.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, προγραμματιστικές ασκήσεις.

Γλώσσα: Ελληνική ή Αγγλική

Τίτλος Μαθήματος: Υπολογιστικά Κέντρα Δεδομένων

Κωδικός Μαθήματος: ΕΠΛ 452

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Χ. Βώλος

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

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

Μαθησιακά Αποτελέσματα: Με την ολοκλήρωση του μαθήματος ο/η φοιτητής/τρια θα:

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

Προαπαιτούμενα: ΕΠΛ 222 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Οριζόντια κλιμάκωση, σχεδιασμός διακομιστή, ετερογενές υλικό και επιταχυντές, ανάλυση συνολικού κόστους ιδιοκτησίας, ανάλυση απόδοσης, διαχείριση ενέργειας, διαχείριση πόρων, εικονικοποίηση, εικονικές μηχανές και δοχεία, υπολογιστική νέφους, υπολογιστική χωρίς διακομιστές, μικροϋπηρεσίες, αποθήκευση κέντρων δεδομένων, δικτύωση κέντρων δεδομένων, πλευρικά κανάλια, έμπιστη εκτέλεση.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1,5 ώρες εβδομαδιαίως).

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

  • Luiz André Barroso, Urs Hölzle, and Parthasarathy Ranganatha. The Datacenter as a Computer: Designing Warehouse-Scale Machines. Third Edition Morgan & Claypool (2019).
  • John Hennessy and David Patterson. Computer Architecture: A Quantitative Approach. Sixth Edition Morgan & Claypool (2016)
  • Επιλεγμένα άρθρα και εργαλεία από τη διεθνή βιβλιογραφία.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (θεωρητικές και προγραμματιστικές ασκήσεις).

Γλώσσα: Ελληνική και Αγγλική

Τίτλος Μαθήματος: Εξέλιξη Λογισμικού

Κωδικός Μαθήματος: ΕΠΛ 484

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Ε. Κωνσταντίνου

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0 ώρες

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

Μαθησιακά Αποτελέσματα: Με το πέρας του μαθήματος οι φοιτητές αναμένονται να είναι σε θέση:

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

Προαπαιτούμενα: ΕΠΛ 343 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Εισαγωγή στις βασικές έννοιες εξέλιξης λογισμικού και νόμοι του Lehman. Εξέλιξη απαιτήσεων λογισμικού. Εξέλιξη αρχιτεκτονικής και ανάκτηση αρχιτεκτονικής από τον πηγαίο κώδικα. Εξέλιξη κώδικα και κλώνοι κώδικα. Εισαγωγή σε οικοσυστήματα λογισμικού, εξαρτήσεις και εξέλιξη σε οικοσυστήματα λογισμικού. Ανθρώπινος παράγοντας στην εξέλιξη λογισμικού. Συντήρηση λογισμικού και σφάλματα. Οσμές κώδικα και αναδιάρθρωση κώδικα. Εξόρυξη αποθετηρίων λογισμικού και εμπειρική τεχνολογία λογισμικού.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • Tom Mens and Serge Demeyer. 2008. Software Evolution (1st. ed.). Springer. (επιλεγμένα κεφάλαια)
  • Tom Mens, Alexander Serebrenik, Anthony Cleve. 2014. Evolving Software Systems. Springer. (επιλεγμένα κεφάλαια)
  • Tom Mens, Coen De Roover, Anthony Cleve, 2023. Software Ecosystems: Tooling and Analytics, Springer. (επιλεγμένα κεφάλαια).
  • Επιλεγμένα άρθρα από τη διεθνή βιβλιογραφία.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασία (εξαμηνιαία εργασία).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Ειδικά Θέματα στην Πληροφορική: Κινητός Υπολογισμός και Εφαρμογές

Κωδικός Μαθήματος: ΕΠΛ 498

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Διδάσκεται από Επισκέπτη Καθηγητή ή Ειδικό Επιστήμονα Διδασκαλίας

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Με την ολοκλήρωση του μαθήματος, οι φοιτητές θα πρέπει να είναι σε θέση να:

  • Κατανοούν τις βασικές αρχές του mobile computing, συμπεριλαμβανομένων των κινητών λειτουργικών συστημάτων, των ασύρματων δικτύων και των κατανεμημένων εφαρμογών.
  • Αναπτύσσουν σύγχρονες κινητές εφαρμογές που αξιοποιούν αισθητήρες, δικτυακές διεπαφές και υπηρεσίες cloud, με στόχο την αποτελεσματικότητα και τη φιλικότητα προς τον χρήστη.
  • Χειρίζονται τεχνολογίες τοποθεσίας και context-awareness, όπως GPS, Wi-Fi fingerprinting, BLE, NFC και RFID, για τη δημιουργία έξυπνων και προσαρμοστικών εφαρμογών.
  • Εφαρμόζουν αρχές φορητής ανίχνευσης (mobile sensing) και crowdsensing σε πραγματικές συνθήκες, εξετάζοντας πτυχές όπως απόδοση, κατανάλωση ενέργειας και προστασία ιδιωτικότητας.
  • Αξιολογούν αρχιτεκτονικές mobile συστημάτων, επιλέγοντας τα κατάλληλα εργαλεία και μεθόδους για διαφορετικές κατηγορίες εφαρμογών.
  • Εξοικειώνονται με την έρευνα στον τομέα του mobile computing, παρακολουθώντας πρόσφατα επιστημονικά άρθρα και δημοσιεύσεις σε έγκριτα περιοδικά και συνέδρια (π.χ. MDM, GeoInformatica, Pervasive Computing).

Μαθησιακά Αποτελέσματα: Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής θα είναι σε θέση να:

  • Σχεδιάζει και να υλοποιεί εφαρμογές κινητών συσκευών, χρησιμοποιώντας σύγχρονα εργαλεία ανάπτυξης (SDKs, APIs, frameworks).
  • Αναλύει και να αξιολογεί την αρχιτεκτονική κινητών και κατανεμημένων εφαρμογών με στόχο την απόδοση, την ασφάλεια και την εμπειρία χρήστη.
  • Αξιοποιεί τεχνολογίες εντοπισμού και αισθητήρων για την ανάπτυξη context-aware εφαρμογών που προσαρμόζονται στο περιβάλλον και στις ανάγκες του χρήστη.
  • Ενσωματώνει υπηρεσίες cloud, edge computing και βάσεις δεδομένων σε mobile εφαρμογές για την αποθήκευση, συγχρονισμό και διαχείριση δεδομένων.
  • Αντιλαμβάνεται τις προκλήσεις και τις πρακτικές λύσεις που σχετίζονται με την ενέργεια, την ασφάλεια, την ιδιωτικότητα και την προσβασιμότητα σε φορητά και φορετά συστήματα.
  • Παρακολουθεί και αξιολογεί τρέχουσες ερευνητικές τάσεις στο πεδίο του mobile και ubiquitous computing, αναπτύσσοντας ικανότητες ανάγνωσης και κατανόησης επιστημονικών άρθρων.

Προαπαιτούμενα: ΕΠΛ 231 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Το μάθημα αυτό εισάγει τους φοιτητές στις βασικές αρχές και στις σύγχρονες πρακτικές του κινητού υπολογισμού και της ανάπτυξης εφαρμογών για κινητές συσκευές (mobile applications). Μέσα από έναν συνδυασμό θεωρητικής διδασκαλίας και εργαστηριακών ασκήσεων, οι φοιτητές αποκτούν ουσιαστική κατανόηση του λογισμικού κινητών συσκευών, των ασύρματων και ad-hoc δικτύων, των υπηρεσιών εντοπισμού τοποθεσίας, καθώς και των context-aware και αισθητηριακών συστημάτων. Έμφαση δίνεται στον σχεδιασμό και την ανάπτυξη σύγχρονων εφαρμογών κινητών, οι οποίες αλληλεπιδρούν με υπηρεσίες cloud, αξιοποιούν ενσωματωμένους αισθητήρες και βασίζονται σε τεχνολογίες όπως Bluetooth, Wi-Fi, RFID, NFC και κυψελοειδή δίκτυα. Το μάθημα καλύπτει επίσης προηγμένα και επίκαιρα θέματα, όπως ο φορετός υπολογισμός (wearable computing), η ανίχνευση μέσω κινητών συσκευών (mobile sensing) και η κοινή/συνεργατική ανίχνευση (crowdsensing). Με την ολοκλήρωση του μαθήματος, οι φοιτητές θα είναι σε θέση να αναπτύσσουν αποτελεσματικές, επεκτάσιμες και φιλικές προς τον χρήστη κινητές εφαρμογές, έχοντας αποκτήσει εμπειρία με σύγχρονα εργαλεία, πλατφόρμες και τεχνολογικά πρότυπα που διαμορφώνουν το οικοσύστημα των κινητών υπολογιστικών συστημάτων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως), Φροντιστήριο (1 ώρα εβδομαδιαίως) και Εργαστήριο (1,5 ώρες εβδομαδιαίως).

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

  • John Krumm (Επιμ.), Ubiquitous Computing Fundamentals, 1η Έκδοση, CRC Press, 2009. ISBN: 978-1-4200-9360-5
  • John Krumm, Spatial Gems, Volume 1, Επιμέλεια: Andreas Züfle, Cyrus Shahabi, ACM Books, 2022. ISBN: 978-1-4503-9811-4

Επιστημονικά Περιοδικά & Πρακτικά Συνεδρίων:

  • IEEE International Conference on Mobile Data Management (MDM)
  • GeoInformatica (Springer)
  • Pervasive and Mobile Computing (Elsevier)

Αξιολόγηση: Ατομικές εργασίες, ομαδική τελική εργασία και προφορική παρουσίαση της, ενδιάμεση και τελική εξέταση, συμμετοχή στην τάξη και παρακολούθηση

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Ειδικά Θέματα στην Πληροφορική: Εισαγωγή στην Επεξεργασία Φυσικής Γλώσσας

Κωδικός Μαθήματος: ΕΠΛ 499

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 5ο ή 6ο ή 7ο ή 8ο εξάμηνο

Όνομα Διδάσκοντα: Διδάσκεται από Επισκέπτη Καθηγητή ή Ειδικό Επιστήμονα Διδασκαλίας

ECTS: 7,5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 0 ώρες | Εργαστήρια / εβδομάδα: 1 x 1.5 ώρες

Στόχοι Μαθήματος: Ανάπτυξη βασικής κατανόησης των εννοιών, τεχνικών και εφαρμογών της Επεξεργασίας Φυσικής Γλώσσας (NLP). Εξοικείωση με τα θεμελιώδη βήματα προ-επεξεργασίας κειμένου και τις βασικές εργασίες NLP που αξιοποιούνται σε εφαρμογές μηχανικής μάθησης. Ενίσχυση της ικανότητας του φοιτητή να αναλύει γλωσσικά δεδομένα, να επιλέγει και να εφαρμόζει κατάλληλες μεθόδους χαρακτηρισμού και ταξινόμησης (classification), και να κατανοεί τις αρχές των μεθόδων ενσωμάτωσης λέξεων και μοντέλων βαθιάς μάθησης. Eισαγωγή στα Μεγάλα Γλωσσικά Μοντέλα (LLMs), όπως το ChatGPT, και στις δυνατότητες που προσφέρουν για προηγμένες εφαρμογές όπως τα chatbots και τα συστήματα ανάκτησης πληροφορίας. Ενίσχυση της αναλυτικής σκέψης μέσω μελέτης σύγχρονων εφαρμογών και εργαλείων, προετοιμάζοντας τον φοιτητή για εφαρμοσμένη εργασία ή μεταπτυχιακή εμβάθυνση στον χώρο του NLP.

Μαθησιακά Αποτελέσματα: Ο φοιτητής που θα έχει ολοκληρώσει επιτυχώς το μάθημα αυτό, αναμένεται ότι θα είναι σε θέση να:

  • Κατανοεί τις βασικές εργασίες της Επεξεργασίας Φυσικής Γλώσσας και τα είδη δεδομένων και προκλήσεων που εμπλέκονται.
  • Εφαρμόζει τεχνικές προ-επεξεργασίας, μοντελοποίησης γλώσσας και εξαγωγής χαρακτηριστικών για την επίλυση προβλημάτων NLP.
  • Περιγράφει και συγκρίνει αλγορίθμους Μηχανικής Μάθησης και Βαθιάς Μάθησης για εργασίες όπως ταξινόμηση, αναπαράσταση κειμένου και εξαγωγή πληροφορίας.
  • Αναλύει και αξιολογεί την απόδοση μοντέλων NLP χρησιμοποιώντας τυπικές μετρικές και πειραματικές διαδικασίες.
  • Αντιλαμβάνεται τη χρήση μοντέρνων τεχνολογιών NLP όπως τα Word Embeddings, τα Contextual Embeddings και τα Μεγάλα Γλωσσικά Μοντέλα (LLMs).
  • • Σχεδιάζει απλές εφαρμογές με χρήση έτοιμων εργαλείων NLP, αξιοποιώντας βιβλιοθήκες Python.

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Το μάθημα εισάγει τους φοιτητές στις βασικές έννοιες και εφαρμογές της Επεξεργασίας Φυσικής Γλώσσας (NLP). Καλύπτονται αρχικά τεχνικές προεπεξεργασίας και μοντελοποίησης της γλώσσας, ενώ ακολουθεί παρουσίαση βασικών εργασιών NLP, όπως η επισημείωση μέρους του λόγου, η αναγνώριση οντοτήτων και η συντακτική ανάλυση. Στη συνέχεια, εξετάζονται μέθοδοι εξαγωγής και επιλογής χαρακτηριστικών, τεχνικές ταξινόμησης κειμένου με μηχανική μάθηση, και αναπαραστάσεις λέξεων και εγγράφων. Το μάθημα ολοκληρώνεται με εισαγωγή στις νευρωνικές αρχιτεκτονικές, τα μετασχηματιστικά μοντέλα (π.χ. BERT) και τις εφαρμογές των Μεγάλων Γλωσσικών Μοντέλων (LLMs). Οι θεωρητικές έννοιες υποστηρίζονται από εργαστηριακές ασκήσεις σε Python με χρήση δημοφιλών εργαλείων NLP.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Εργαστήριο (1,5 ώρες εβδομαδιαίως).

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

  • Jurafsky & Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition.
  • Επιλεγμένα άρθρα από τη διεθνή βιβλιογραφία.
  • Εκπαιδευτικές σημειώσεις και διαφάνειες.

Αξιολόγηση: Ατομικές εργασίες, ενδιάμεση και τελική εξέταση, συμμετοχή στην τάξη και παρακολούθηση

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Πρακτική Άσκηση

Κωδικός Μαθήματος: ΕΠΛ 500

Τύπος μαθήματος: Περιορισμένη Επιλογή

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 3ο έτος/ Θερινό εξάμηνο

Όνομα Διδάσκοντα: Χ. Βώλος/Η. Αθανασόπουλος / Π. Κολιός / Μ. Δικαιάκος

ECTS: 7,5 | Διαλέξεις / εβδομάδα: - | Φροντιστήριο / εβδομάδα: - | Εργαστήρια / εβδομάδα: -

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

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

  • Ενίσχυση των ακαδημαϊκών γνώσεων και της επαγγελματική ανάπτυξης σε πραγματικές συνθήκες εργασίας.
  • Απόκτηση επαγγελματικής εμπειρίας.

Προαπαιτούμενα: ΕΠΛ 342, ΕΠΛ 343 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Η Πρακτική Άσκηση δίνει τη δυνατότητα απασχόλησης φοιτητών και φοιτητριών, για μικρό χρονικό διάστημα, σε πραγματικό εργασιακό περιβάλλον και σε αντικείμενο συναφές με το πρόγραμμα σπουδών του Τμήματος Πληροφορικής.

Μεθοδολογία Διδασκαλίας: -

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

Αξιολόγηση: Τελική έκθεση πεπραγμένων (συνολικού μεγέθους της τάξεως των 6,000 έως 10,000 λέξεων).

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Αρχές Επιχειρηματικότητας και Καινοτομίας

Κωδικός Μαθήματος: ΔΕΔ 369

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 4ο έτος/ 7ο εξάμηνο

Όνομα Διδάσκοντα: Δρ Ντάινα Νικολάου

ECTS: 5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 0 ώρες | Εργαστήρια / εβδομάδα: 0 ώρες

Στόχοι Μαθήματος: Σκοπός του μαθήματος είναι να εξηγήσει την διαδικασία της επιχειρηματικότητας και της καινοτομίας (έννοιες αλληλοεξαρτώμενες) με κατανοητό και απλό τρόπο. Επιπλέον, να καθοδηγήσει τους φοιτητές στο να αναγνωρίσουν μια επιχειρηματική ευκαιρία, να στήσουν και μεγαλώσουν μια επιχείρηση, και να έχουν μια επιτυχημένη έξοδο. Οι διαλέξεις βασίζονται σε ακαδημαϊκή θεωρία, αλλά η έμφαση εστιάζεται στην πρακτική εφαρμογή αυτής της θεωρίας. Η σειρά των διαλέξεων έχει σχεδιαστεί έτσι ώστε να εξοικειωθούν οι φοιτητές με τις θεωρίες και την πρακτική σχετικά με την επιχειρηματικότητα και τη διοίκηση νέων επιχειρήσεων ενώ ταυτοχρόνως αναδεικνύεται ο ρόλος που διαδραματίζουν οι νέες επιχειρηματικές ιδέες στην οικονομία ενός τόπου. Συγκεκριμένα το μάθημα παρέχει την θεωρητική βάση όσο αφορά τις αρχές της επιχειρηματικότητας και της διαχείρισης μικρών επιχειρήσεων αλλά και τη πρακτική εφαρμογή αυτής της γνώσης ώστε οι φοιτητές να αναπτύξουν την ικανότητα να δημιουργούν και να διαχειρίζονται επιχειρήσεις αποτελεσματικά και αποδοτικά. Η Επιχειρηματικότητα αποτελεί νοοτροπία και μέθοδο δημιουργίας και ανάπτυξης οικονομικής δραστηριότητας μέσω του συνδυασμού: (1) της ανάληψης κινδύνου, (2) της δημιουργικότητας (3) της καινοτομίας και (4) της χρηστής διαχείρισης στο πλαίσιο ενός νέου ή υφιστάμενου οργανισμού. Βασικός πρακτικός στόχος του μαθήματος είναι η ανάπτυξη ενός επιχειρηματικού σχεδίου. Το κυριότερο εργαλείο που θα χρησιμοποιήσει το μάθημα είναι ο Καμβάς Επιχειρηματικού Μοντέλου (Business Μodel Canvas).

Μαθησιακά Αποτελέσματα: Ο φοιτητής/φοιτήτρια αναμένεται να μπορεί να:

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

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Συγκεκριμένα, θα αναλυθούν σε βάθος οι πιο κάτω ενότητες:

  • Βασικοί Συνεργάτες
  • Κύριες Δραστηριότητες
  • Κρίσιμοι πόροι
  • Προσφορά αξίας
  • Σχέσεις με πελάτες
  • Κανάλια Επικοινωνίας και Διανομής
  • Τμηματοποίηση Πελατών
  • Διάρθρωση Κόστους και Εξόδων
  • Ροές Εσόδων

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

Μεθοδολογία Διδασκαλίας: Διαλέξεις, Ομιλίες από Επιχειρηματίες στο Πεδίο της Πληροφορικής, Επισκέψεις σε εταιρείες, Μελέτες περιπτώσεων, Εκπόνηση Εργασίας

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

  • Scarborough, Norman M. and Cornwall, Jeffrey R. (2019), Essentials of Entrepreneurship and Small Business Management, Pearson
  • Harvard Business School Case Pack

Αξιολόγηση: 45% Τελική εξέταση 30% Ομαδική γραπτή εργασία (business plan) 15% Δραστηριότητες (π.χ. παρουσίαση επιχειρηματικού μοντέλου, pitching) 10% Παρουσία και συμμετοχή στο μάθημα

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Βασικές Δεξιότητες Ακαδημαϊκής Αγγλικής Γλώσσας

Κωδικός Μαθήματος: ΓΛΩ 100

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 1ο έτος / 1ο εξάμηνο

Όνομα Διδάσκοντα: Διδάσκων από το Κέντρο Γλωσσών

ECTS: 5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 0 ώρες | Εργαστήρια / εβδομάδα: 0 ώρες

Στόχοι Μαθήματος:

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

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

  • Να διαβάζουν κείμενα από διαφορετικά είδη και να εντοπίζουν τις διαφορές και τα χαρακτηριστικά του κάθε είδους
  • Να γράφουν με σαφήνεια και συνοχή
  • Να εκφράζουν προσωπικές θέσεις/απόψεις/σκέψεις παρουσιάζοντας διαρκή βελτίωση
  • Να γράφουν ολοκληρωμένα και επαρκώς ανεπτυγμένα κείμενα από 1 ως 3 σελίδες
  • Να βελτιώσουν τις ικανότητες κατανόησης κειμένων μέσω συνεχούς έκθεσης σε διάφορα είδη κειμένων
  • Να επιδεικνύουν ικανότητες κριτικής σκέψης
  • Να χρησιμοποιούν κατάλληλα ακαδημαϊκό λεξιλόγιο σχετικό με το περιεχόμενο που εξετάζουν
  • Να σχεδιάζουν αποτελεσματικά μια παρουσίαση σε PowerPoint και να την παρουσιάζουν στην τάξη

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

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

Μεθοδολογία Διδασκαλίας: Διδασκαλία μέσω Θεμάτων Εργασίας, Επικοινωνιακή μάθηση, Συνεργατική μάθηση

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

  • Langan, J., & Allbright, Z. L. (2018). College Writing Skills with Readings, 10th Edition. McGraw Hill, USA.
  • Πακέτο σημειώσεων διδάσκοντα

Αξιολόγηση: 3 γραπτές εργασίες, τελική εξέταση, προφορικές παρουσιάσεις, συμμετοχή και συνεχής αξιολόγηση

Γλώσσα: Αγγλική

Τίτλος Μαθήματος: Αγγλικά για Πληροφορική

Κωδικός Μαθήματος: ΓΛΩ 111

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 1ο έτος / 2ο εξάμηνο

Όνομα Διδάσκοντα: Διδάσκων από το Κέντρο Γλωσσών

ECTS: 5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 0 ώρες | Εργαστήρια / εβδομάδα: 0 ώρες

Στόχοι Μαθήματος: Το μάθημα έχει ως στόχο για τους φοιτητές:

  • Να επεκτείνουν την ικανότητα τους να επικοινωνούν στον τομέα της Πληροφορικής
  • Να αναπτύσσουν τις τέσσερις βασικές δεξιότητες μάθησης
  • Να τους δίνουν τη δυνατότητα να κατανοούν αποτελεσματικά και να κάνουν περίληψη κειμένων σχετικών με τον τομέα της Πληροφορικής
  • Να τους δίνουν τη δυνατότητα να γράφουν μέμο και εγχειρίδια οδηγιών
  • Να διευρύνουν το λεξιλόγιο τους σχετικά με την Πληροφορική
  • Να τους δίνουν τη δυνατότητα να ετοιμάζουν και να παρουσιάζουν παρουσιάσεις με χρήση power point σε θέματα σχετικά με το πρόγραμμα σπουδών τους

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

Προαπαιτούμενα: ΓΛΩ 100 ή αντίστοιχο Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Αυτό το μάθημα έχει ως στόχο να βοηθήσει τους φοιτητές να επικοινωνούν επιτυχώς στον τομέα της Πληροφορικής διδάσκοντας τους να χρησιμοποιούν αποτελεσματικές στρατηγικές ανάγνωσης, γραφής, ακουστικής κατανόησης και ομιλίας. Οι φοιτητές θα εξασκούνται στη κατανόηση κειμένων σχετικών με τον τομέα τους, στην γραφή συνοπτικού και συνεκτικού λόγου, καθώς και στην βελτίωση της ευφράδειας προφορικού λόγου δίνοντας προφορικές παρουσιάσεις. Θα δοθεί έμφαση στον εμπλουτισμό, κατανόηση και χρήση ορολογιών Πληροφορικής. Θα επιτευχθεί η συνεργασία και επικοινωνία μεταξύ των φοιτητών μέσω διαφόρων ομαδικών δραστηριοτήτων και ασκήσεων βασισμένων σε θέματα εργασίας.

Μεθοδολογία Διδασκαλίας: Διδασκαλία μέσω θεμάτων εργασίας, Επικοινωνιακή, Συνεργασιακή

Βιβλιογραφία: Πακέτο σημειώσεων διδάσκοντα

Αξιολόγηση: Ενδιάμεση εξέταση, τελική εξέταση, προφορικές παρουσιάσεις, εργασίες/διαγωνίσματα

Γλώσσα: Αγγλική

Τίτλος Μαθήματος: Απειροστικός Λογισμός Ι

Κωδικός Μαθήματος: ΜΑΣ 012

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 1ο έτος / 1ο εξάμηνο

Όνομα Διδάσκοντα: Γιώργος Γεωργίου (ή άλλο μέλος του τμήματος Μαθηματικών και Στατιστικής)

ECTS: 5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0 ώρες

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

Μαθησιακά Αποτελέσματα: Οι φοιτητές μαθαίνουν να βρίσκουν όρια, να παραγωγίσουν και να ολοκληρώνουν. Έμφαση δίνεται στις εφαρμογές των παραγώγων και των ολοκληρωμάτων.

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

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

  • Εισαγωγικές Έννοιες
  • Συναρτήσεις. Όρια και συνέχεια συναρτήσεων
  • Παράγωγος και εφαρμογές της
  • Ολοκλήρωμα. Αόριστο και ορισμένο ολοκλήρωμα. Θεμελιώδη θεωρήματα του απειροστικού λογισμού. Τεχνικές ολοκλήρωσης.
  • Εμβαδά, όγκοι και μήκος καμπύλης

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • H. Anton, I. Bivens, και S. Davis, Calculus Late Transcendentals, 10th Edition, Wiley, 2013
  • Γ. Γεωργίου, Χ. Σοφοκλέους, Σημειώσεις Μαθηματικών, Τόμος Α’, Κατζιηλάρης, 1995

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση, διαγνωστικά και συμμετοχή στο μάθημα.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Απειροστικός Λογισμός ΙΙ

Κωδικός Μαθήματος: ΜΑΣ 013

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 1ο έτος / 2ο εξάμηνο

Όνομα Διδάσκοντα: Αλέκος Βίδρας (ή άλλο μέλος του τμήματος Μαθηματικών και Στατιστικής)

ECTS: 5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0 ώρες

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

Μαθησιακά Αποτελέσματα: Οι φοιτητές αναμένεται να

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

Προαπαιτούμενα: ΜΑΣ012 Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Δυναμοσειρές. Σειρές Taylor και Maclaurin. Αναλυτικές συναρτήσεις. Αόριστα ολοκληρώματα. Ορισμένα ολοκληρώματα. Γεωμετρικές εφαρμογές του ορισμένου ολοκληρώματος. Γενικευμένα ολοκληρώματα. Συναρτήσεις πολλών μεταβλητών.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • H. Anton, I. Bivens, και S. Davis, Calculus Late Transcendentals, 10th Edition, Wiley, 2013

Αξιολόγηση: Ενδιάμεση και τελική εξέταση.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Γραμμική Άλγεβρα

Κωδικός Μαθήματος: ΜΑΣ 029

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 1ο έτος / 2ο εξάμηνο

Όνομα Διδάσκοντα: Εύης Ιερωνύμου (ή άλλο μέλος του τμήματος Μαθηματικών και Στατιστικής)

ECTS: 5 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0 ώρες

Στόχοι Μαθήματος: Η εισαγωγή στις βασικές έννοιες και τεχνικές της Γραμμικής Άλγεβρας. Όπως γραμμικοί χώροι, γραμμική ανεξαρτησία, βάση, διάσταση, χώροι εσωτερικού γινομένου. Επίλυση γραμμικών συστημάτων, πίνακες ορίζουσες, ιδιοτιμές ιδιοδιανύσματα. Ορθοκανονικοποίηση Gram-Schmidt. Στοιχεία Αναλυτικής Γεωμετρίας

Μαθησιακά Αποτελέσματα: Εξοικείωση με βασικές έννοιες της Γραμμικής Άλγεβρας.

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Πίνακες. Ορίζουσες. Γραμμικά συστήματα. Μέθοδος της απαλοιφής Gauss. Αντίστροφος πίνακα. Βαθμός πίνακα. Ιδιοτιμές και ιδιοδιανύσματα. Διαγωνοποίηση πινάκων. Γραμμικοί χώροι. Γραμμική ανεξαρτησία. Βάση και διάσταση. Χώροι εσωτερικού γινομένου. Ορθοκανονικοποίηση Gram-Schmidt. Στοιχεία Αναλυτικής Γεωμετρίας

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • Γ. Γεωργίου, Γραμμική Αλγεβρα, Καντζιηλάρης, Λευκωσία, 1998.
  • Χ. Σοφοκλέους, Στοιχεία Γραμμικής Άλγεβρας, 2016.

Αξιολόγηση: Ενδιάμεση και τελική εξέταση.

Γλώσσα: Ελληνική

Τίτλος Μαθήματος: Πιθανότητες και Στατιστική

Κωδικός Μαθήματος: ΜΑΣ 055

Τύπος μαθήματος: Υποχρεωτικό

Επίπεδο: Προπτυχιακό

Έτος / Εξάμηνο φοίτησης: 2ο έτος / 3ο εξάμηνο

Όνομα Διδάσκοντα: Ξένια Μισκουρίδου (ή άλλο μέλος του τμήματος Μαθηματικών και Στατιστικής)

ECTS: 7 | Διαλέξεις / εβδομάδα: 2 x 1.5 ώρες | Φροντιστήριο / εβδομάδα: 1 x 1 ώρα | Εργαστήρια / εβδομάδα: 0 ώρες

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

Μαθησιακά Αποτελέσματα: Με τη συμπλήρωση του μαθήματος, οι φοιτητές θα πρέπει να έχουν αποκτήσει τις απαραίτητες γνώσεις στις πιθανότητες και τη στατιστική και να είναι σε θέση να αναγνωρίζουν τη σημαντική συμβολή και τις εφαρμογές στην επιστήμη της πληροφορικής.

Προαπαιτούμενα: Δεν υπάρχουν Συναπαιτούμενα: Δεν υπάρχουν

Περιεχόμενο Μαθήματος: Συνδυαστική, πιθανότητα, δεσμευμένη πιθανότητα, Θεώρημα Bayes, κλασικά προβλήματα πιθανοτήτων (κατανομή σφαιριδίων σε δοχεία, το πρόβλημα των γενεθλίων. κ.ά.). Τυχαίες μεταβλητές, Κατανομές (διακριτές και συνεχείς). Ανεξαρτησία. Αναμενόμενη τιμή (και άλλες ιδιότητες), εφαρμογές κατανομών. Ανισότητες Πιθανοτήτων (ανισότητα Jensen, ανισότητα Markov, κανόνας Chebyshev). Εκτιμήτριες άγνωστων παραμέτρων. Κεντρικό Οριακό Θεώρημα. Εισαγωγή στις στοχαστικές ανελίξεις, Μαρκοβιανές αλυσίδες, εφαρμογές, τυχαίοι περίπατοι, ανέλιξη Poisson. Στατιστικές συναρτήσεις, σημειοεκτιμητική, διαστήματα εμπιστοσύνης, έλεγχοι υποθέσεων, εφαρμογές. Συσχέτιση τυχαίων μεταβλητών, απλή γραμμική παλινδρόμηση και εφαρμογές. Χρήση στατιστικού πακέτου ή στατιστικής γλώσσας προγραμματισμού (π.χ. R) για το κομμάτι της Στατιστικής. Οι φοιτητές καλούνται να εξοικειωθούν με τις βασικές έννοιες του μαθήματος μέσα από σειρά πρακτικών εφαρμογών και ασήσεων.

Μεθοδολογία Διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Φροντιστήριο (1 ώρα εβδομαδιαίως).

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

  • R. Hogg και A. Craig: Introduction to Mathematical Statistics, Prentice-Hall, 2012
  • M Mitzenmacher and E. Upfal: Probability and Computing, Cambridge University Press, 2005.

Αξιολόγηση: Τελική εξέταση, ενδιάμεση εξέταση και κατ’οίκον εργασίες (στην R).

Γλώσσα: Ελληνική