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

| | | | MyCS Portal |

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

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

ΕΠΛ 111 Διακριτές Δομές στην Πληροφορική και τον Υπολογισμό

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Α. Κάκας

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

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

Προαπαιτούμενα:---------------

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

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

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

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

ΕΠΛ 121 Ψηφιακά Συστήματα

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Π. Κολιός

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

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

Προαπαιτούμενα: ---

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

  1. M. Mano, D.Kime, Logic and Computer Design Fundamentals, 5th Edition, Pearson, 2015.

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

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

ΕΠΛ 131 Αρχές Προγραμματισμού

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Χειμερινό και Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Ε. Κεραυνού-Παπαηλιού (χειμερινό / εαρινό)

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

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

Προαπαιτούμενα: --------------

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

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

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

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

ΕΠΛ 133 Αντικειμενοστρεφής Προγραμματισμός

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Μ. Δικαιάκος

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

Περιεχόμενο: Επίλυση προβλημάτων και προγραμματισμός με χρήση της αντικειμενοστρεφούς μεθοδολογίας μέσω των παρακάτω θεμάτων. Αφαιρετικότητα και απόκρυψη πληροφορίας. Βιβλιοθήκες (packages), Συμβολοσειρές (strings), Αντικειμενοστρεφής Σχεδίαση (Κάρτες Κλάσεις-Ευθύνες-Συνεργάτες / CRC και Διαγράμματα κλάσεων), Κληρονομικότητα, Πολυμορφισμός, Διαχείριση Εξαιρέσεων, Αφηρημένες κλάσεις και Διαπροσωπείες, Εσωτερικές Κλάσεις, Είσοδος/Έξοδος, Πληροφορία τύπου, Γενικευμένοι και Παραμετροποιημένοι τύποι, Εισαγωγή σε βασικές συλλογές (lists), Πρόσθετες έννοιες και τελευταίες εξελίξεις, όπως επισημάνσεις (annotations) και εκφράσεις lambda.

Προαπαιτούμενα: ΕΠΛ 131

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

  1. W. Savitch, K. Mock. Absolute JAVA. 6th Edition, Pearson, 2016.

  2. C. S. Horstmann. Object-Oriented Design & Patterns. 2nd Edition, Wiley, 2005.

  3. R-G. Urma, M. Fusco, A. Mycroft. Modern Java in Action. Manning, 2021.

  4. B. Eckel, Thinking in Java, 4th Edition, Prentice Hall, 2006.

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

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

ΕΠΛ 202 Εξερευνήσεις στην Πληροφορική

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Εαρινό

Πίστωση: 3 μονάδες ECTS

Διδάσκων: Μ. Μπελκ

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

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

Προαπαιτούμενα: -------------

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

Μέθοδοι διδασκαλίας: Διαλέξεις/Σεμινάρια (1,5 ώρες εβδομαδιαίως).

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

ΕΠΛ 211 Θεωρία Υπολογισμού

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Μ. Μαυρονικόλας (χειμερινό) / Α. Φιλίππου (εαρινό)

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

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

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

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

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

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

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

ΕΠΛ 221 Οργάνωση Υπολογιστών

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Γ. Σαζεϊδης / Χ. Βώλος

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

Περιεχόμενο: Εισαγωγή στην οργάνωση και τεχνολογία υπολογιστών. Αρχές οργάνωσης και υλοποίησης των βασικών λειτουργικών μονάδων ενός υπολογιστή: Διάδρομος Δεδομένων και Μονάδα Έλεγχου. Αύξηση της απόδοση με διοχέτευση (Pipelining). Οργάνωση Συστημάτων Μνήμηs: Ιεραρχία μνήμης, Κρυφή μνήμη (cache), Κύρια Μνήμη και Εικονική Μνήμη . Υπολογιστές βασισμένη σε Δίαυλο: DMA και Interrupts. Εισαγωγή στα Συστήματα Παράλληλης Επεξεργασίας: Multi-core systems, Multiprocessor and Clusters και Multicore.

Προαπαιτούμενa: ΕΠΛ 121

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

  1. 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.

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

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

ΕΠΛ 222 Λειτουργικά Συστήματα

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

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

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

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

Προαπαιτούμενα: ΕΠΛ 221, ΕΠΛ232

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

  1. W. Stallings, Operating Systems: Internals and Design Principles, Prentice Hall, 9th edition, 2015, ISBN-10: 1-292-21429-5, ISBN-13: 978-1-292-21429-0 (Global edition).

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

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

ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Χειμερινό και Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Μ. Μαυρονικόλας (χειμερινό) /…………… (εαρινό)

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

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

Προαπαιτούμενα: ΕΠΛ 111, ΕΠΛ 133

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

  1. T. H. Cormen, C. E. Leiserson, R. L. Rivest και C. Stein, Introduction to Algorithms, 3rd Edition, The MIT Press, 2009.
  2. M. T. Goodrich, R. Tamassia και Μ. H. Goldwasser, Data Structures and Algorithms in JAVA, 6th Edition, John Wiley & Sons, 2014.

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

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

ΕΠΛ 232 Προγραμματιστικές Τεχνικές και Εργαλεία

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Α. Αριστείδου

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

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

Προαπαιτούμενα: ΕΠΛ 131

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

  1. K.N. King, C Programming: A Modern Approach, 2nd Edition, ISBN-10: 0393979504, ISBN-13: 978-0393979503, W. W. Norton & Company, 2008.

  2. St. G. Kochan Programming in C, 4th Edition, ISBN-10: 0321776410, ISBN-13: 9780321776419, Addison-Wesley Professional, 2015.

  3. S. Das, Your UNIX/Linux: The Ultimate Guide, 3rd Edition, McGraw Hill, ISBN-13 9780073376202, 2013.

  4. Ν. Χατζηγιαννάκης, Η Γλώσσα C σε Βάθος, Τρίτη Έκδοση, 978-960-461-208-6, Κλειδάριθμος, 2009.

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

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

ΕΠΛ 236 Αλγόριθμοι και Πολυπλοκότητα

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Εαρινό

Πίστωση:7,5 μονάδες ECTS

Διδάσκων: Μ. Μαυρονικόλας (χειμερινό) / Χρ. Γεωργίου (εαρινό)

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

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

Προαπαιτούμενα: ΕΠΛ 231

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

  1. J. Kleinberg και É. Tardos, Σχεδίαση Αλγορίθμων, Εκδόσεις Κλειδάριθμος, 2008.
  2. S. Dasgupta, C. Papadimitriou και U. Vazirani, Αλγόριθμοι, Εκδόσεις Κλειδάριθμος, 2009.

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

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

ΕΠΛ 324 Επικοινωνίες και Δίκτυα

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Α. Πιτσιλλίδης / Β. Βασιλείου

Στόχοι: Εξοικείωση με θεμελιώδη θέματα αναφορικά με τα δίκτυα επικοινωνιών (communication networks), με έμφαση στο Διαδίκτυο.

Περιεχόμενο: Eισαγωγικό μάθημα σε Δίκτυα Επικοινωνιών. Σκοπός είναι η κατανόηση και χρήση των εννοιών που σχετίζονται με τα επουσιώδη θέματα στα Δίκτυα Επικοινωνιών χρησιμοποιώντας το Διαδίκτυο σαν παράδειγμα. TCP / IP σουίτα πρωτοκόλλων: Επίπεδο Εφαρμογών, Επίπεδο Μεταφοράς, Επίπεδο Δικτύων και Δρομολόγηση, Επίπεδο Σύνδεσης. Ανοικτά συστήματα όπως το Διαδίκτυο. Τεχνολογίες δικτύωσης περιλαμβάνοντας ενσύρματα και ασύρματα τοπικά δίκτυα και τοπολογίες δικτύων. Αλγόριθμοι δρομολόγησης και ελέγχου συμφόρησης. Εισαγωγή σε πολυμεσικές εφαρμογές και ποιότητα υπηρεσίας. Εισαγωγή σε νεες τεχνολογιες οπως το Ιντερνέτ των Πραγμάτων (IoT-Internet of Things), Network Virtualisation, και Διαχείρηση Δικτύων. Εργαστηριακές μελέτες συμπεριλαμβάνουν πρακτική εξάσκηση με wireshark και προσομοιώσεις OPNET.

Προαπαιτούμενα: ΕΠΛ 131

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

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

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

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

ΕΠΛ 325 Παράλληλη Επεξεργασία

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Γ. Σαζεΐδης / Χ. Βώλος

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

Περιεχόμενο: Φάσμα παράλληλων μηχανών στην κατάταξη κατά Flynn: SISD, SIMD, MISD, MIMD. Κύριες μέθοδοι σχεδίασης και λειτουργίας συστημάτων πολλαπλής επεξεργασίας. Συμβατικές Μηχανές και Μη Συμβατικές Μηχανές (Ροή δεδομένων και αναγωγή). Μέθοδοι προγραμματισμού παράλληλων μηχανών: (1) αυτόματοι παράλληλοι μεταγλωττιστές, (2) εμπλουτισμός ακολουθιακών γλωσσών με παράλληλα κατασκευάσματα, (3) παράλληλες γλώσσες συναρτησιακού προγραμματισμού. Ειδική έμφαση σε παράλληλες αρχιτεκτονικές και παράλληλο προγραμματισμό (π.χ. MPI, pthreads, OpenMP).

Προαπαιτούμενα: ΕΠΛ 221

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

  1. D. E. Culler και J. P. Singh, Parallel Computer Architecture – A Hardware/Software Approach, Morgan Kaufmann, 1999.

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

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

ΕΠΛ 326 Ασφάλεια Συστημάτων

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

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

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

Περιεχόμενο: Εισαγωγή στην εφαρμοσμένη κρυπτογραφία (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).

Προαπαιτούμενα: ΕΠΛ 232

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

  1. A. J. Menezes, P. C. van Oorschot, S. A. Vanstone. Handbook of Applied Cryptography, CRC Press.

  2. R. Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems, 2nd Edition, Wiley (http://www.cl.cam.ac.uk/~rja14/book.html)

  3. C. Paar, J. Pelzl, Understanding Cryptography: A Textbook for Students and Practitioners, Springer.

  4. Δημοσιεύσεις.

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

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

ΕΠΛ 341 Τεχνητή Νοημοσύνη

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

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

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

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

Προαπαιτούμενα: ΕΠΛ 231

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

  1. S. Russel και P. Norviq, Artificial Intelligence: A Modern Approach, 3rd Edition, Prentice Hall, 2014.
  2. Ε. Κεραυνού, Τεχνητή Νοημοσύνη και Έμπειρα Συστήματα, Ελληνικό Ανοικτό Πανεπιστήμιο, 2000.

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

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

ΕΠΛ 342 Βάσεις Δεδομένων

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

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

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

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

Προαπαιτούμενα: ΕΠΛ 231

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

  1. R. Elmarsi και S. Navathe, Fundumentals of Database Systems, Fifth Edition, Addison-Wesley, 2007.
  2. R. Elmarsi και S. Navathe, Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων, 5η Έκδοση, 1ος τόμος, Εκδόσεις Δίαυλος, 2007.
  3. R. Ramakrishnan καιJ. Gehrke, Database Management Systems, 3rd Edition, McGraw-Hill, 2003.

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

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

ΕΠΛ 343 Τεχνολογία Λογισμικού

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Γ. Καπιτσάκη

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

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

Προαπαιτούμενα: ΕΠΛ 133

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

  1. I. Sommerville, Software Engineering, 10th Edition, Addison-Wesley, 2016.

  2. R. Pressman, Software Engineering: A Practitioner's Approach, 8th Edition, Mc Graw Hill, 2015.

  3. H. van Vliet, Software Engineering: Principles and Practice, 3rd edition, John Wiley & Sons, 2008

  4. P. Stevens, R. Pooley, Using UML Software Engineering with Objects and Components, 2nd edition, Addison-Wesley, 2006.

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

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

ΕΠΛ 344 Τεχνολογίες Διαδικτύου

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

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

Εξάμηνο: Εαρινό ή Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: ------

Στόχοι: Εισαγωγή στις Τεχνολογίες του Παγκοσμίου Πληροφοριακού Περιβάλλοντος (Διαδικτύου και Παγκόσμιου Ιστού-World-Wide Web) με έμφαση στα πρωτόκολλα του Παγκόσμιου Ιστού, στην κωδικοποίηση Πληροφοριών Ιστού και στον προγραμματισμό υπηρεσιών Ιστού.

Περιεχόμενο: Ανασκόπηση Βασικών Τεχνολογιών Διαδικτύου, Αρχές Συστημάτων Υπερκειμένου, Σχεδιασμός και Ανάπτυξη Ιστιακών Τόπων, Γλώσσες Συγγραφής Περιεχομένου Ιστού, Γλώσσες Τεχνοτροπίας και Στοιχειοθεσίας Ιστοσελίδων, Μεθοδολογίες Σχεδιασμού και Ανάπτυξης Ιστιακών Τόπων και Εφαρμογών, Προγραμματισμός Εξυπηρετητών Ιστού με τη γλώσσα PHP, Δυναμικό Περιεχόμενο και Φόρμες, Προγραμματισμός Πελατών Ιστού, Αρχές Web 2.0, Διασύνδεση Βάσεων Δεδομένων με το Παγκόσμιο Πληροφοριακό Περιβάλλον.

Προαπαιτούμενα: ΕΠΛ 133, ΕΠΛ 324

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

  1. M. Stepp, J. Miller, V. Kirst, Web Programming. Step by Step, Self published via lulu.com, 2014.
  2. E. Anderson et al., Interact with Web Standards. A Holistic Approach to Web Design, New Riders, 2010.
  3. J. Nielsen, Multimedia and Hypertext: The Internet and Beyond, AP Professional, 1995.

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

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

ΕΠΛ 412 Λογική στην Πληροφορική

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

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS Διδάσκων: Α. Φιλίππου

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

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

Προαπαιτούμενα: ΕΠΛ 111

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

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

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

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

ΕΠΛ 414 Βασικές Έννοιες Γλωσσών Προγραμματισμού

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

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

Εξάμηνο: ………………

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Α. Φιλίππου

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

Περιεχόμενο: Εισαγωγή - Ιστορία Γλωσσών Προγραμματισμού. λ – calculus. Συναρτησιακός Προγραμματισμός (Η γλώσσα προγραμματισμού Haskell, Σύστημα τύπων Haskell, Haskell’s Type Inference, Pure vs impure γλώσσες προγραμματισμού). Διαδικαστικός και Αντικειμενοστρεφής Προγραμματισμός (Μαθηματική αναπαράσταση της γλώσσας προγραμματισμού Java). Κατανεμημένος Προγραμματισμός (Μοντέλο προγραμματισμού Actors, Process Calculi σαν μαθηματικά μοντέλα αναπαράστασης κατανεμημένου προγραμματισμού, CSP, CCS, value passing CCS, the π-calculus).

Προαπαιτούμενα: ΕΠΛ211, ΕΠΛ 231

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

  1. B. C. Pierce, Types and Programming Languages, The MIT Press.
  2. G. Hutton, Programming in Haskell, 2nd Edition, Cambridge University Press, 2016.
  3. G. Agha, Actors: A Model of Concurrent Computation in Distributed Systems, Τhe MIT Press.
  4. 4. At. Igarashi, B. C. Pierce, P. Wadler, Featherweight Java: A Minimal Core Calculus for Java and GJ, ACM Trans. Program. Lang. Syst., 23(3), 2001.

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

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

ΕΠΛ 420 Αρχιτεκτονική Υπολογιστών

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

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS Διδάσκων: Γ. Σαζεΐδης

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

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

Προαπαιτούμενα: ΕΠΛ 222

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

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

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

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

ΕΠΛ 421 Προγραμματισμός Συστημάτων

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

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

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

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

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

Προαπαιτούμενο: ΕΠΛ 222

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

  1. S. Das, Your UNIX/Linux: The Ultimate Guide, 3rd Edition, Sumitabha Das, McGraw Hill, ISBN-13 9780073376202, 800 pp, 2013.
  2. E. Nemeth, G. Snyder, T. R. Hein, B. Whaley, UNIX and Linux System Administration Handbook, 4th Edition, ISBN-10: 0131480057, ISBN-13: 9780131480056, Prentice Hall, 1344 pp, 2011.
  3. R. E. Bryant, D. R. O'Hallaron, Computer Systems: A Programmer's Perspective, 3rd Edition, Pearson, 2016.
  4. W. R. Stevens, St. A. Rago, 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.

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

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

ΕΠΛ 422 Προχωρημένα Δίκτυα

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

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Β. Βασιλείου/Α. Πιτσιλλίδης

Γλώσσα διδασκαλίας: Αγγλικα

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

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

Προαπαιτούμενα: ΕΠΛ 324

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

  1. J. F. Kurose και K.W. Ross, Computer Networking - A Top-Down Approach Featuring the Internet, 7th Edition, Addison-Wesley, 2016.
  2. Y.-D. Lin, T.-H. Hwang, και F.Baker, Computer Networks, An Open Source Approach, McGraw Hill, 2011.

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

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

ΕΠΛ 423 Ασφάλεια Δικτύων και Πληροφοριών

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

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

Εξάμηνο: …………..

Πίστωση: 7,5 μονάδες ECTS

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

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

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

Προαπαιτούμενα: ΕΠΛ 324

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

  1. W. Stallings, Network Security Essentials, Third Edition, Pearson-Prentice Hall, 2007.
  2. C. P. Pfleeger και S. L. Pfleeger , Security in Computing, 4th Edition, Prentice Hall, 2006

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

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

ΕΠΛ 424 Ψηφιακή Επεξεργασία Σημάτων

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

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

Εξάμηνο: ………………

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Α. Πιτσιλλίδης

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

Περιεχόμενο: Ανάλυση σημάτων και ανάλυση συστημάτων διακριτού χρόνου, δειγματοληψία σημάτων, ανάλυση συστημάτων και σημάτων διακριτού χρόνου στο χώρο των συχνοτήτων, μετασχηματισμός z, Μετασχηματισμός Fourier, Μετασχηματισμός Fourier(DFT), και Fast Fourier Transform (FFT), ψηφιακά φίλτρα και παραδείγματα εφαρμογών.

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

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

  1. Σ. Θεοδωρίδης, Ψηφιακή Επεξεργασία Σημάτων, Εκδόσεις Πανεπιστημίου Πατρών, 1992.
  2. The Student Edition of Matlab: User´s, Guide, Prentice Hall, 2005.

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

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

ΕΠΛ 426 Γραφικά Υπολογιστών

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

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

Εξάμηνο:Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Α. Αριστείδου

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

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

Προαπαιτούμενα: ΕΠΛ 232

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

  1. J. F. Hughes, A. van Dam, M. Mcguire, D. F. Sklar, J. D. Foley, S. K. Feiner, K. Akeley, Computer Graphics: Principles and Practice, Addison-Wesley Professional; 3rd edition, ISBN-13: 978-0321399526, 2013.

  2. M. Slater, A. Steed, Y. Chrysanthou, Computer Graphics and Virtual Environments: From Realism to Real-Time, Addison Wesley publishers, ISBN 0-201-62420-6, 2001.

  3. T. Theoharis, G. Papaioannou, N. Platis, N. M. Patrikalakis, A K Peters, Graphics and Visualization: Principles & Algorithm, ISBN-13: 978-1568812748, 2007.

  4. E. Angel, D. Shreiner, Interactive Computer Graphics with WebGL Pearson, 7th edition, ISBN-13: 978-1292019345. 2014.

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

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

ΕΠΛ 427 Κινητά Δίκτυα Υπολογιστών

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

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

Εξάμηνο: Χειμερινό ή Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Π. Κολιός

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

Περιεχόμενο: Το ασύρματο περιβάλλον, Αρχιτεκτονικές και τεχνολογίες ασυρμάτων δικτύων και ασύρματης επικοινωνίας, MAC για ασύρματα δίκτυα, Ασύρματα τοπικά δίκτυα, Πρωτόκολλα κινητών δικτύων (έμφαση στις τελευταίες αρχιτεκτονικές 3G, 4G, 5G), Διαχείριση κινητικότητας, Νέες τοπολογίες δικτύων (π.χ. ad-hoc, δίκτυα αισθητήρων, δίκτυα οχημάτων, διαδίκτυο πραγμάτων), Έρευνα και ανοικτά προβλήματα.

Προαπαιτούμενα: ΕΠΛ 324

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

  1. C. Beard, W. Stallings, Wireless Communication Networks and Systems, Pearson, 1st Edition, 2015.

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

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

ΕΠΛ 428 Διαδίκτυο των Πραγμάτων: Προγραμματισμός και Εφαρμογές

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

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

Εξάμηνο: Χειμερινό ή Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Π. Κολιός

Γλώσσα διδασκαλίας: Αγγλικά

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

Περιεχόμενο: Επισκόπηση των αρχιτεκτονικών ενσωματωμένων (embedded) επεξεργαστών. Οργάνωση ενός συστήματος ενσωματωμένου επεξεργαστή: επεξεργαστής, RAM, ROM, αρτηρία (bus), περιφερειακά, αισθητήρες, ενεργοποιητές, διεπαφές. Παραδείγματα δημοφιλών επεξεργαστών, αρτηριών και περιφερειακών. Επικοινωνία με περιφερειακά: δειγματοληψία, διακοπές, πλεονεκτήματα και μειονεκτήματα. Διαμοιρασμός λειτουργιών μεταξύ υλικού και λογισμικού. Εργαλεία ανάπτυξης ενσωματωμένου λογισμικού: assemblers, cross-compilers, loaders, monitors, microkernels, και λειτουργικά συστήματα πραγματικού χρόνου. Πρακτικές όψεις σχεδίασης και θέσης σε λειτουργία συστημάτων ενσωματωμένων επεξεργαστών.

Προαπαιτούμενα: -

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

  1. Model-Based Approaches to the Internet of Things, Pascal Hirmer, Springer Cham, 2023
  2. Internet Of Things: Architecture and Design Principles, Raj Kamal, Mc Graw Hill India, 2017
  3. Data Driven Science and Engineering, S. Brunton, J. Kutz, Cambridge University Press, 2019
  4. IoT Fundamentals: Networking Technologies, Protocols, and Use Cases for the Internet of Things, D. Hanes, G. Salgueiro, P. Grossetete, R. Barton, J. Henry, Cisco Press, 2017

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

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

ΕΠΛ 429 Θεωρία και Πρακτική Μεταγλωττιστών

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

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

Εξάμηνο: Χειμερινό ή Εαρινό

Πίστωση: 7,5 μονάδες ECTS

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

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

Προαπαιτούμενα: ΕΠΛ 211, ΕΠΛ 231

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

  1. A. V. Aho, R. Sethi καιJ. D. Ullman, Compilers – Principles, Techniques, and Tools, Addison-Wesley, 1986.

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

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

ΕΠΛ 431 Σύνθεση Παράλληλων Αλγορίθμων

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

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

Εξάμηνο: Χειμερινό ή Εαρινό

Πίστωση: 7,5 μονάδες ECTS

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

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

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

Προαπαιτούμενα: ΕΠΛ 231

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

  1. J. Jaja, An Introduction to Parallel Algorithms, Addison-Wesley, 1992.
  2. R. Miller και L. Boxer, Algorithms Sequential & Parallel: A Unified Approach, Prentice Hall, 2000.

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

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

ΕΠΛ 432 Κατανεμημένοι Αλγόριθμοι

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

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

Εξάμηνο: Χειμερινό ή Εαρινό

Πίστωση: 7,5 μονάδες ECTS

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

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

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

Προαπαιτούμενα: ΕΠΛ 211, ΕΠΛ 231

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

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

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

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

ΕΠΛ 433 Προγραμματισμός και Ικανοποίηση Περιορισμών

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

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

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

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

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

Προαπαιτούμενα: ΕΠΛ 111, ΕΠΛ 231

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

  1. F. Rossi, P. van Beek και T. Walsh. Handbook of Constraint Programming. Elsevier, 2006.
  2. R. Dechter, Constraint Processing, Morgan Keufmann, 2003.

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

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

ΕΠΛ 434 Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη

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

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Α. Κάκας

Γλώσσα διδασκαλίας: Αγγλικά

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

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

Προαπαιτούμενα: ΕΠΛ 111

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

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

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

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

ΕΠΛ 435 Αλληλεπίδραση Ανθρώπου-Υπολογιστή

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

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

Εξάμηνο: Χειμερινό

Πίστωση:7,5 μονάδες ECTS

Διδάσκων: ---------------

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

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

Προαπαιτούμενα: ---------------

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

  1. Ν. Αβούρης, Εισαγωγή στην επικοινωνία ανθρώπου-υπολογιστή, Εκδόσεις ΔΙΑΥΛΟΣ, Αθήνα 2000.
  2. J. Preece, Y. Rogers καιH. Sharp, Interaction Design: Beyond Human-Computer Interacrtion, John Wiley and Sons, 2002.

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

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

ΕΠΛ 441 Προχωρημένη Τεχνολογία Λογισμικού

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

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

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

Γλώσσα διδασκαλίας: Αγγλικά

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

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

Προαπαιτούμενα: ΕΠΛ 343

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

  1. Ian Sommerville, 'Software Engineering’, Pearson, 10th edition, 2016, ISBN 10: 1-292-09613-4, ISBN 13: 978-1-292-09613-1.
  2. Alan Dix, Janet Finlay, Gregory D. Abowd, Russell Beale, ‘Human Computer Interaction’, Prentice Hall, 3rd edition, 2004, ISBN 10: 0-13-046109-1, ISBN 13: 978-0-13-046109-4.

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

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

ΕΠΛ 442 Μηχανική Μάθηση

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

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

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

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

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

Προαπαιτούμενα: ΕΠΛ 231

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

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

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

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

ΕΠΛ 443 Επαναχρησιμοποίηση Λογισμικού

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

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Γ. Καπιτσάκη

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

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

Προαπαιτούμενα: ΕΠΛ 133, ΕΠΛ 343

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

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

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

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

ΕΠΛ 444 Συστήματα Υπολογιστικής Νοημοσύνης

Τύπος: Περιορισµένη Επιλογή

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

Εξάµηνο: Εαρινό

Πίστωση: 7,5 µονάδες ECTS

∆ιδάσκoντες: Χρ. Χριστοδούλου

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

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

Προαπαιτούµενα: ---

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

  1. A. P. Engelbrecht, Computational Intelligence: An Introduction, John Wiley and Sons, 2nd Edition 2007.
  2. R. C. Eberhart και Y. Shi, Computational Intelligence: Concepts to Implementations, Elsevier, 2007.
  3. E. R. Kandel, In search of memory: the emergence of a new science of mind. W. W. Norton & Co., 2007.
  4. P. Dayan και L. Abbott, Theoretical Neuroscience: Computational and Mathematical Modelling of Neural Systems, MIT Press, 2001.

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

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

ΕΠΛ 445 Ψηφιακή Επεξεργασία Εικόνας

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

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

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

Γλώσσα διδασκαλίας: Αγγλικά

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

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

Προαπαιτούμενα: ΕΠΛ 133, ΜΑΣ 029

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

  1. R. C. Gonzalez και R. E. Woods, Digital Image Processing, 2nd Edition, Addison-Wesley, 2002.

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

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

ΕΠΛ 446 Προχωρημένα Θέματα Βάσεων Δεδομένων

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

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

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

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

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

Προαπαιτούμενα: ΕΠΛ 342

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

  1. R. Ramakrishnan και J. Gehrke, Database Management Systems, Paperback Edition, McGraw-Hill Publishers, 2003.
  2. R. Elmasri και S. Navathe, Fundamentals of Database Systems, 7th Edition, Addison-Wesley, 2016.
  3. T. M. Özsu και P. Valduriez, Principles of Distributed Database Systems, 3rd Edition, Springer Press, 2011.

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

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

ΕΠΛ 447 Υπολογιστική Όραση

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

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

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

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

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

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

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

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

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

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

ΕΠΛ 448 Εξόρυξη Δεδομένων στον Παγκόσμιο Ιστό

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

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Γ. Πάλλης

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

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

Προαπαιτούμενα: ΕΠΛ 231, ΕΠΛ 342

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

  1. A. Rajaraman, J. D. Ullman, Mining of Massive Datasets, Cambridge University Press, 2011.
  2. J. Han, M. Kamber, Data Mining: Concepts and Techniques, 2nd Edition, Morgan Kaufmann, 2006.
  3. B. Liu, Web Data Mining: Exploring Hyperlinks, Contents and Usage Data, Springer, 2007.

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

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

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

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

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Γ. Καπιτσάκη

Γλώσσα διδασκαλίας: Αγγλικά

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

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

Προαπαιτούμενα: ΕΠΛ 343

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

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

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

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

ΕΠΛ 450 Εικονοποίηση και Διαχαίριση Δικτύων

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

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Α. Πιτσιλλίδης / Β. Βασιλείου

Γλώσσα διδασκαλίας: Αγγλικά

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

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

Προαπαιτούμενα: ΕΠΛ 324

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

  1. M. Subramanian, Network Management: Principles and Practices, 2nd Edition, 2012, Prentice Hall.

  2. A. Clemm, Network Management Fundamentals, 2006, Cisco Press® Fundamentals Series.

  3. N. L. S. da Fonseca, R. Boutaba, Cloud Services, Networking, and Management, IEEE Press Series on Networks and Services Management, April 2015

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

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

ΕΠΛ 451 Ανάλυση Λογισμικού

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

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

Εξάμηνο: Χειμερινό

Πίστωση: 7,5 μονάδες ECTS

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

Γλώσσα διδασκαλίας: Ελληνικά ή Αγγλικά

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

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

Προαπαιτούμενα: ΕΠΛ 211, ΕΠΛ 232

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

  1. Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly. Dennis Andriesse. ISBN-10: 1593279124.

  2. Τεκμηρίωση LLVM.

  3. Δημοσιεύσεις.

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

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

ΕΠΛ 452 Υπολογιστικά Κέντρα Δεδομένων

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

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

Εξάμηνο: Χειμερινό ή Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Χ. Βώλος

Γλώσσα διδασκαλίας: Ελληνικά ή Αγγλικά

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

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

Προαπαιτούμενα: ΕΠΛ 222

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

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

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

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

ΕΠΛ 481 Τεχνολογία Λογισμικού για Λογισμικό ως Υπηρεσία

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

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

Εξάμηνο: Εαρινό

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Γ. Καπιτσάκη

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

Περιεχόμενο: Εργαλεία και περιβάλλοντα ανάπτυξης λογισμικού. Αρχές ευέλικτων μεθοδολογιών ανάπτυξης συστημάτων λογισμικού. Εργαλεία διαχείρισης εκδόσεων (SVN και GitHub). Στοιχεία συστημάτων λογισμικού για το Λογισμικό ως Υπηρεσία (Software as a Service). Ανάπτυξη προσανατολισμένη από δοκιμές (test-driven development). Σχεδιασμός με κέντρο τον τελικό χρήστη (user-centric design). Σχεδιαστικά πρότυπα. Επανασχεδιασμός (refactoring) και εγκατάσταση (deployment). Διαχείριση αδειών ανοικτού κώδικα. Προγραμματισμός σε ζεύγη (pair programming). Ανάλυση συστήματος μέσω μετρικών λογισμικού. Ανάληψη και διεκπεραίωση έργου λογισμικού από ομάδες φοιτητών (2-6 ατόμων). Εξειδικευμένα θέματα ανάλογα με τη φύση των έργων (π.χ., διακομιστές διαδικτύου, πακέτα γραφικών διεπαφών χρήστη κλπ.).

Προαπαιτούμενα: ΕΠΛ231, ΕΠΛ 343

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

  1. A. Fox, D. Patterson, Engineering Software as a Service: An Agile Approach Using Cloud Computing, 2nd Edition, 2021.
  2. Επιλεγμένα άρθρα και εργαλεία από τη διεθνή βιβλιογραφία.

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

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

ΕΠΛ 482 Επικύρωση, Επαλήθευση και Ποιότητα Λογισμικού

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

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

Εξάμηνο: ………………

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Γ. Καπιτάσκη/Γ. Παπαδόπουλος.

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

Περιεχόμενο: Θεμελιώδεις έννοιες και ορολογία στην επικύρωση και επαλήθευση, ανασκοπήσεις, επιθεωρήσεις, έλεγχος (τμημάτων, συστήματος, συνένωσης, παλινδρόμησης, αποδοχής, κριτήρια κάλυψης, εργαλεία), έλεγχος και αποτίμηση διαπροσωπείας, έλεγχος ειδικών κατηγοριών συστημάτων λογισμικού, ανάλυση προβλημάτων και αναφορά/τεκμηρίωση. Βασικές αρχές ποιότητας, παράγοντες και χαρακτηριστικά ποιότητας λογισμικού, μέθοδοι-εργαλεία-διαδικασίες ποιότητας, πρότυπα ποιότητας, μοντέλα και μετρικές ποιότητας, ποιότητα στη διαδικασία παραγωγής λογισμικού, πλάνο ποιότητας, οργάνωση διαδικασίας διασφάλισης ποιότητας, αποτίμηση ποιότητας της διαδικασίας παραγωγής και του προϊόντος λογισμικού.

Προαπαιτούμενα: ΕΠΛ 343

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

  1. P. Jorgensen, Software Testing, A Craftsman's Approach, 3rd Edition, Auerbach Publications, 2008.
  2. P. Ammann και J. Offutt, Introduction to Software Testing, Cambridge University Press, 2008.
  3. J. Tian, Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement, Wiley, 2005.
  4. W. E. Lewis και G. Veerapillai, Software Testing and Continuous Quality Improvement, 3rd Edition, 2008.

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

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

ΕΠΛ 483 Ανάλυση, Μοντελοποίηση και Σχεδίαση Λογισμικού

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

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

Εξάμηνο: ………………

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Γ. Καπιτσάκη / Γ. Παπαδόπουλος

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

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

Προαπαιτούμενα: ΕΠΛ 133, ΕΠΛ 343

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

  1. K. Qian, X. Fu, L. Tao καιC. Xu, Software Architecture and Design Illuminated, Jones and Bartlett Learning, 2010.
  2. A. Kleppe, J. Warmer καιW. Bast, MDA Explained. The Model Driven Architecture: Practice and Promise, Addison-Wesley Professional, 2003.
  3. R. N. Taylor, N. Medvidovic καιE. M. Dashofy, Software Architecture, Wiley, 2010.

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

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

ΕΠΛ 499 Ειδικά Θέματα στην Πληροφορική: Κινητά Συστήματα Υπολογισμού

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

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

Εξάμηνο: ………………

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: ………………

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

Περιεχόμενο: Θα διαμορφώνεται ανάλογα με το θέμα.

Προαπαιτούμενα: Με συναίνεση του διδάσκοντα.

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

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

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

ΔΔΕ 4ΧX Επιχειρηματικότητα και Καινοτομία

Τύπος: Υποχρεωτικό

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

Εξάμηνο: Χειμερινό

Πίστωση: 5 μονάδες ECTS

Διδάσκων: .....

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

Περιεχόμενο: Η Επιχειρηματικότητα αποτελεί νοοτροπία και μέθοδο δημιουργίας και ανάπτυξης οικονομικής δραστηριότητας μέσω του συνδυασμού: (1) της ανάληψης κινδύνου, (2) της δημιουργικότητας (3) της καινοτομίας και (4) της χρηστής διαχείρισης στο πλαίσιο ενός νέου ή υφιστάμενου οργανισμού. Το βασικό εργαλείο που θα χρησιμοποιήσει το μάθημα είναι ο Καμβάς Επιχειρηματικού Mοντέλου (The Business model Canvas). Συγκεκριμένα, θα αναλυθούν σε βάθος οι πιο κάτω 8 ενότητες:

  1. Bασικοί Συνεργάτες
  2. Κύριες Δραστηριότητες
  3. Κρίσιμοι πόροι
  4. Πρόσφορα αξίας
  5. Σχέσεις με πελάτες
  6. Κανάλια διανομής
  7. Τμήμα Πελατών
  8. Διάρθρωση Κόστους και Ροές Εσόδων

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

Προαπαιτούμενα: -

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

  1. Osterwalder & Pignuer, Business Model Generation, Wiley.
  2. Eric Cries, he Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses.

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

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

ΕΠΛ 500 Πρακτική Άσκηση

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

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

Εξάμηνο: ………………

Πίστωση: 7,5 μονάδες ECTS

Διδάσκων: Η. Αθανασόπουλος / Χρ. Γεωργίου / Μ. Δικαιάκος

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

Περιεχόμενο: Η Πρακτική Άσκηση δίνει τη δυνατότητα απασχόλησης φοιτητών και φοιτητριών, για μικρό χρονικό διάστημα, σε πραγματικό εργασιακό περιβάλλον και σε αντικείμενο συναφές με το πρόγραμμα σπουδών του Τμήματος Πληροφορικής.

Προαπαιτούμενα: Ολοκλήρωση του 3ου έτους σπουδών (συμπλήρωση τουλάχιστον 156 ΠΜ / ECTS) με σταθμικό μέσο όρο τουλάχιστον 7.

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

Μέθοδοι διδασκαλίας: .......

Αξιολόγηση: Τελική έκθεση πεπραγμένων