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 ώρα εβδομαδιαίως) και Εργαστήριο (2 ώρες εβδομαδιαίως).

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

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

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

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

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

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

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

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

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

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

Βιβλιογραφία: 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 ώρα εβδομαδιαίως) και Εργαστήριο (2 ώρες εβδομαδιαίως).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. B. Eckel, Thinking in Java, 4th Edition, Prentice Hall, 2006.
  2. C. Thomas Wu, An Introduction to Object-Oriented Programming with Java, 5th Edition, Mc Graw Hill, 2006

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

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

ΕΠΛ 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 ώρα εβδομαδιαίως) και Εργαστήριο: (2 ώρες εβδομαδιαίως).

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

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

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

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

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

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

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

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

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

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

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

  1. W. Stallings, Operating Systems: Internals and Design Principles, 6th Edition, Prentice Hall, 2009.

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

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

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

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

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

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

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

Διδάσκων: Γ. Πάλλης (χειμερινό) /…………… (εαρινό)

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

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

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

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

  1. M. A. Weiss, Data Structures and Algorithm Analysis in Java, Pearson, 2012.
  2. M. Goodrich και R. Tamassia, Data Structures and Algorithms in Java, Wiley, 2011.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΠΛ 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), με έμφαση στο Διαδίκτυο.

Περιεχόμενο: Θεμελιώσεις σταθερών και κινητών/ασύρματων δικτύων. Πρωτόκολλα, τοπικά δίκτυα και δίκτυα τοπικής και ευρείας περιοχής. Ανοικτά συστήματα όπως το Διαδίκτυο. Έννοιες που σχετίζονται με το Ίντερνετ. ΤCΡ/ΙΡ σουίτα πρωτοκόλλων: Επίπεδο Εφαρμογών, Επίπεδο Μεταφοράς, Επίπεδο Δικτύων και Δρομολόγηση, Επίπεδο Σύνδεσης. Έννοιες διαχείρισης πόρων (π.χ. έλεγχος συμφόρησης, δρομολόγηση). Αξιολόγηση της αποδοτικότητας των Δικτύων Επικοινωνίας (performance evaluation). Έννοιες ασφαλείας στα δίκτυα υπολογιστών. Νέες ερευνητικές περιοχές και δραστηριότητες των δικτύων (π.χ. ιντερνετ των πραγμάτων, εμβαλωματικά δίκτυα και δίκτυα αισθητήρων, VANETS, 4G) και νέες αρχιτεκτονικές και πρωτόκολλα στο Ιντερνέτ (π.χ. IPv6, DiffServ, MPLS, RTP/RTCP, κοκ). Εργαστηριακές μελέτες συμπεριλαμβάνουν πρακτική εξάσκηση με 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 ώρα εβδομαδιαίως) και Εργαστήριο (2 ώρες εβδομαδιαίως).

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

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

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

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

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

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

Διδάσκων: Γ. Σαζεΐδης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Περιεχόμενο:

Εισαγωγή στην εφαρμοσμένη κρυπτογραφία (symmetric, asymmetric, andstreamciphers, cryptographichashfunctions, cryptographicprotocols) και σε έννοιες μοντελοποίησης ασφάλειας (CIA). Περιγραφήσφαλμάτωνλογισμικούκαιμνήμης (buffer overflows, integer overflows, use-after-free, dangling pointers). Επιθέσεις (code injection, code reuse, side channels) και άμυνες (non-executable pages, stack canaries, code randomization, CFI, SFI). Ασφάλειασεεφαρμογέςκινητώνσυσκευών (Android, iOS). ΑσφάλειασεεφαρμογέςΙστού (cross-site scripting, CSRF, clickjacking, phishing). Μελέτηειδικώνθεμάτωνασφάλειαςδικτύων (botnets, DDoS, spam, security economics). Μυστικότητα (privacy), και συστήματα ανωνυμίας (TOR).

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

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

  1. Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone. Handbook of Applied Cryptography, CRC Press, ISBN 0849385237. (http://cacr.uwaterloo.ca/hac/)
  2. 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)
  3. Επιλεγμένες Δημοσιεύσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

Μέθοδοι διδασκαλίας: Διαλέξεις (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,5 ώρες εβδομαδιαίως) και Εργαστήριο (1 ώρα εβδομαδιαίως).

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

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

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

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

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

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

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

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

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

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

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

  1. R. Pressman, Software Engineering: A Practitioner's Approach, 8th Edition, Mc Graw Hill, 2015.
  2. H. van Vliet, Software Engineering: Principles and Practice, 3rd Edition, John Wiley & Sons, 2008.
  3. J. Whitten, L. Bentley και K. Dittman, Systems Analysis and Design Methods, 7th Edition, McGraw-Hill, 2005.

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

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

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

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

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

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

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

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

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

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

Περιεχόμενο: Αρχές Συστημάτων Υπερκειμένου (hypertext), Αρχιτεκτονική Παγκόσμιου Ιστού Πληροφοριών (World-Wide Web), Πρωτόκολλα Επικοινωνίας Ιστού (DNS, HTTP), Γλώσσες Σήμανσης (HTML, XML), Προγραμματισμός Συστημάτων και Εφαρμογών Ιστού (Servlets), Σημασιολογικός Ιστός (RDF, OWL).

Προαπαιτούμενα: ΕΠΛ 133, ΕΠΛ 324 Βιβλιογραφία:

  1. και

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

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

ΕΠΛ 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 ώρα εβδομαδιαίως).

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

ΕΠΛ 413 Υπολογιστική Γεωμετρία

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

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

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

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

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

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

Περιεχόμενο: Βασικές έννοιες: Γεωμετρικά στοιχεία, μετασχηματισμοί, δυϊσμός. Υπολογιστικό μοντέλο, ασυμπτωτικός συμβολισμός. Χρήσιμες δομές δεδομένων και χαρακτηριστικά τους. Κάποια απλά προβλήματα. Ορατότητα: Το πρόβλημα της Αίθουσας Τέχνης˙ υποδιαίρεση σε μονότονα πολύγωνα, τριγωνισμός μονότονου πολυγώνου, τριγωνισμός απλού πολυγώνου. Κυρτότητα: Κυρτό περίβλημα στο επίπεδο˙ αλγόριθμος περιτυλίγματος, αυξητικός αλγόριθμος, αλγόριθμος διαίρει και βασίλευε. Γειτονία: Διάγραμμα Voronoi˙ βασικές ιδιότητες, αυξητικός αλγόριθμος, αλγόριθμος Fortune, αλγόριθμος διαίρει και βασίλευε. Τριγωνοποίηση Delaunay˙ βασικές ιδιότητες, αυξητικός αλγόριθμος. Σχηματισμοί: Σχηματισμοί ευθυγράμμων τμημάτων˙ εύρεση σημείων τομής, αναπαράσταση υποδιαιρέσεων, υπέρθεση υποδιαιρέσεων. Σχηματισμοί ευθειών˙ αυξητικός αλγόριθμος κατασκευής. Γεωμετρική αναζήτηση: Μονοδιάστατη περίπτωση. Διδιάστατη περίπτωση˙ kd-δέντρα, περιοχιά δέντρα, κλασματική επαλληλία. Εντοπισμός σημείου: Τραπεζιοειδής χάρτης˙ βασικές ιδιότητες, αλγόριθμος κατασκευής χάρτη και αναζητητικής δομής, αλγόριθμος εντοπισμού.

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

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

  1. M. de Berg, M. van Kreveld, M. Overmars καιO. Schwarzkopf, Computational Geometry: Algorithms and Applications, 2nd Edition, Springer, 2000.
  2. Γ. Ζ. Εμίρης, Υπολογιστική Γεωμετρία: Μία σύγχρονη αλγοριθμική προσέγγιση, Κλειδάριθμος, 2009.

Μέθοδοι διδασκαλίας: Διαλέξεις (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. Your UNIX/Linux: The Ultimate Guide, 3rd Edition, Sumitabha Das, McGraw Hill, ISBN-13 9780073376202, 800 pp, 2013.
  2. UNIX and Linux System Administration Handbook, 4th Edition, Evi Nemeth, Garth Snyder, Trent R. Hein and Ben Whaley, ISBN-10: 0131480057, ISBN-13: 9780131480056, Prentice Hall, 1344 pp, 2011.
  3. 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.
  4. 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 ώρα εβδομαδιαίως) και Εργαστήριο (2 ώρες εβδομαδιαίως).

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

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

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

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

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

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

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

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

Στόχοι: Eπέκταση των βασικών γνώσεων των φοιτητών στα δίκτυα υπολογιστών σε θέματα που σχετίζονται με τις αρχιτεκτονικές, τις τεχνικές και τα πρωτόκολλα που σχετίζονται με δίκτυα υψηλών ταχυτήτων, νέες γενεές πρωτοκόλλων για το Internet, πρωτόκολλα μεταφοράς πολυμέσων, Ποιότητα Υπηρεσίας (QoS), συστημάτων ελέγχου συμφόρησης και (βέλτιστης) κατανομής πόρων, καθώς και θεωρία ουρών και ανάλυση επίδοσης δικτύων. Έμφαση σε όλα τα στρώματα της στοίβας των δικτύων σε ένα πιο προχωρημένο επίπεδο από το ΕΠΛ324. Εξοικείωση με τη σύγχρονη γνώση και τις διάφορες ερευνητικές περιοχές και δραστηριότητες στο τομέα των Δικτύων.

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

Προαπαιτούμενα: ΕΠΛ 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 ώρα εβδομαδιαίως) και Εργαστήριο (2 ώρες εβδομαδιαίως).

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

ΕΠΛ 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 ώρα εβδομαδιαίως) και Εργαστήριο (2 ώρες εβδομαδιαίως).

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

ΕΠΛ 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.5 ώρες εβδομαδιαίως).

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

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

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

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

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

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

Διδάσκων: Γ. Χρύσανθου

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

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

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

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

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

  1. M. Slater, A. Steed καιY. Chrysanthou, Computer Graphics and Virtual Environments: From Realism to Real-Time, Addison Wesley, 2001.
  2. Θ. Θεοχάρης και Α. Μπεμ, Γραφικά – Αρχές και Αλγόριθμοι, Εκδοτικός Οίκος Συμμετρία, 1999.

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

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

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

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

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

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

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

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

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

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

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

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

  1. J. Schiller, Mobile Communications, Second edition, Addison-Wesley, 2003.
  2. R. S. Koodli και C. E. Perkins, Mobile Internetworking with IPv6: Concepts, Principles and Practices, Wiley-Interscience, 2007.
  3. W. Stallings, Wireless Communications and Networks, Prentice Hall, Second Edition, 2002.
  4. H. Karl και A. Willing, Protocols and Architectures for Wireless Sensor Networks, Wiley, 2007.

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

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

ΕΠΛ 428 Σχεδιασμός με Ενσωματωμένους Επεξεργαστές

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

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

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

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

Διδάσκων: Π. Ευριπίδου

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

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

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

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

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

  1. F. Vahid και T. Givargis, Embedded System Design: A Unified Hardware/Software Introduction, John Wiley & Sons, 2002.
  2. W. Wolf, High-Performance Embedded Computing: Architectures, Applications, and Methodologies, Morgan Kaufman.
  3. W. Woff, Computers as Components: Principles of Embedded Computing System Design, Morgan Kaufman.
  4. P. Raghavan, A. Lad και Sriram Neelakandan, Embedded Linux System Design and Development, Auerbach Publications.

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

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

ΕΠΛ 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 ώρα εβδομαδιαίως) και Εργαστήριο (2 ώρες εβδομαδιαίως).

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

ΕΠΛ 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 Διδάσκων: Γ. Δημόπουλος

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

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

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

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

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

Μέθοδοι διδασκαλίας: Διαλέξεις (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 ώρα εβδομαδιαίως).

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

ΕΠΛ 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,5 ώρες εβδομαδιαίως).

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

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

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

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

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

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

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

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

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

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

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

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

  1. I. Sommerville, Software Engineering, 10th Edition, Addison-Wesley, 2015.
  2. H. van Vliet, Software Engineering: Principles and Practice, 3rd Edition, John Wiley & Sons, 2008.
  3. Ε. J. Baude και M. E. Bernstein, Software Engineering – Modern approaches, John Wiley & Sons, 2nd Edition, 2011.

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

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

ΕΠΛ 442 Υπολογιστικά Συστήματα Μάθησης

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

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

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

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

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

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

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

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

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

  1. C. M. Bishop, Neural Networks for Pattern Recognition, Oxford University Press, 1995.
  2. S. Haykin, Neural Networks and Learning Machines, 3rd Edition, Pearson Education, 2009.

Μέθοδοι διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Εργαστήριο (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 και Συναπτική Πλαστικότητα· Εισαγωγή στην Γνωστική Επιστήμη. Ανάπτυξη και Υλοποίηση Συστηµάτων Υπολογιστικής Νοηµοσύνης.

Προαπαιτούµενα: ΕΠΛ442

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

  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, Αναζητώντας τη Μνήμη, (Μετάφραση A. Καραμανίδης), Πανεπιστημιακές Εκδόσεις Κρήτης, 2008.
  4. P. Dayan και L. Abbott, Theoretical Neuroscience: Computational and Mathematical Modelling of Neural Systems, MIT Press, 2001.

Μέθοδοι διδασκαλίας:∆ιαλέξεις (3 ώρες εβδοµαδιαίως) και Εργαστήριο (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,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, 5th Edition, Addison-Wesley, 2007.

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

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

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

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

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

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

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

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

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

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

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

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

  1. D. Forsyth και J. Ponce, Computer Vision: A Modern Approach, Prentice-Hall, 2003.
  2. R. Hartley καιA. Zeisserman, Multiple View Geometry, Cambridge University Press, 2003.
  3. C. Bishop, Pattern Recognition and Machine Learning, Springer-Verlag, 2007.
  4. O. Faugeras καιQ.T. Luong, Geometry of Multiple Images, MIT Press, 2001.
  5. B. Horn, Robot Vision, MIT Press, Cambridge, Massachusetts, 1986.

Μέθοδοι διδασκαλίας: Διαλέξεις (3 ώρες εβδομαδιαίως) και Εργαστήριο (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 ώρα εβδομαδιαίως) και Εργαστήριο (2 ώρες εβδομαδιαίως). Η ύλη των διαλέξεων θα συνοδεύεται από εργασίες ανασκόπησης άρθρων ή βιβλίων από την ερευνητική βιβλιογραφία.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΠΛ 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, 2014.
  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,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,5 ώρες εβδομαδιαίως).

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

ΕΠΛ 499 Ειδικά Θέματα στην Πληροφορική

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

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

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

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

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

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

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

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

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

  1. R. Meier, Professional Android 2 Application Development, Wiley Publishing, Inc. 2010.
  2. B. Eckel, Thinking in Java, 4th Edition, Prentice Hall, 2006.
  3. D. Gallardo, E. Burnette και R. McGovern, Εclipse in Action. A guide for Java developers, Manning, 2003.
  4. C. Horstmann , Object-Oriented Design and Patterns , Wiley, 2nd Edition, 2006.
  5. M. Fowler, UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison Wesley, 3nd Edition, 2000.
  6. Επιλεγμένα άρθρα από τη διεθνή βιβλιογραφία.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Business Model Generation: Osterwalder & Pignuer. Wiley 978-0470-87641-1
  2. The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Eric Cries. ISBN 978-0-307-88789-4

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

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