216 Επιστήμης Υπολογιστών Κρήτης (Ηράκλειο)

Σκοπός

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

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

Χαρακτήρας των Σπουδών, Επαγγελματικές Προοπτικές

Ακολουθώντας κυρίως το υπόδειγμα αμερικανικών και ευρωπαϊκών πανεπιστημιακών τμημάτων «Computer Science and Engineering», το πρόγραμμα σπουδών αντιμετωπίζει την Πληροφορική ως τεχνολογική επιστήμη: έχοντας αυστηρά επιστημονικά θεμέλια και μεθοδολογία, αποσκοπεί στην κατασκευή συστημάτων, υλικού και λογισμικού, τα οποία καλούνται να εξυπηρετήσουν συγκεκριμένες ανθρώπινες ανάγκες. Έτσι, καλύπτει εξ ίσου τα αντικείμενα του υλικού, του λογισμικού, των εφαρμογών της πληροφορικής, και της θεωρίας. Παράλληλα, δίνεται ισόρροπη έμφαση στη διδασκαλία της αυστηρής επιστημονικής μεθόδου και στην καλλιέργεια των ικανοτήτων σύνθεσης και της νοοτροπίας μηχανικού μέσω ειδικών εργασιών και εργαστηρίων.

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

Σπουδές

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

Το βάρος κάθε μαθήματος δηλώνεται σε Διδακτικές Μονάδες (ΔΜ). Ο εξαμηνιαίος φόρτος εργασίας ενός φοιτητή είναι το άθροισμα των διδακτικών μονάδων (ΔΜ) των μαθημάτων στα οποία έχει εγγραφεί το εξάμηνο αυτό. Συνιστάται ο φόρτος αυτός να είναι περίπου ίσος με Είκοσι (20) ΔΜ γιά κάθε εξάμηνο. Ο μέγιστος επιτρεπτός φόρτος είναι τριάντα πέντε (35) ΔΜ ανά εξάμηνο και εξήντα πέντε (65) ΔΜ ανά Ακαδημαϊκή χρονιά. Επιπλέον αυτού του μέγιστου επιτρεπτού φόρτου, επιτρέπεται η εγγραφή του φοιτητή σε ένα (1) επιπλέον μάθημα ανά εξάμηνο για αναβαθμολόγηση (υπό την προφανή προϋπόθεση ότι έχει ήδη περάσει αυτό το μάθημα)

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

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

Πρόγραμμα Σπουδών

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

1ο εξάμηνο

ΗΥ-100 Εισαγωγή στην Επιστ. Υπολογιστών 4
ΗΥ-120 Ψηφιακή Σχεδίαση 5
ΜΑΘ-102 Απειροστικός Λογισμός Ι 4
ΗΥ-112 Φυσική Ι 5
ΗΥ-108 Αγγλικά Ι 3

2ο εξάμηνο

ΗΥ-150 Προγραμματισμός 5
ΜΑΘ-103 Απειροστικός Λογισμός ΙΙ 4
ΜΑΘ-105 Γραμμική ΄Αλγεβρα 5
ΗΥ-113 Φυσική ΙΙ 5
ΗΥ-109 Αγγλικά ΙI 3

3ο εξάμηνο

ΗΥ-118 Διακριτά Μαθηματικά 4
ΗΥ-240 Δομές Δεδομένων 5
ΗΥ-217 Πιθανότητες Ι 5
ΗΥ-208 Αγγλικά ΙΙΙ 3
Μάθημα Επιλογής (συνιστάται: ΗΥ215) 4

4ο εξάμηνο

ΗΥ-180 Λογική 5
ΗΥ-225 Οργάνωση Υπολογιστών 5
ΗΥ-280 Θεωρία Υπολογισμού 5
ΗΥ-255 Εργαστήριο Τεχνολογίας Λογισμικού 5
HY-209 Αγγλικά IV 3

5ο εξάμηνο

ΗΥ-340 Γλώσσες και Μεταφραστές 5
ΗΥ-360 Αρχεία και Βάσεις Δεδομένων 5
ΗΥ-335 Δίκτυα Υπολογιστών 4
(Ε3-Ε9) Μαθήματα Επιλογής 8

6ο εξάμηνο

ΗΥ-345 Λειτουργικά Συστήματα 5
ΗΥ-380 Αλγόριθμοι και Πολυπλοκότητα 5
(Ε3-Ε9) Μαθήματα Επιλογής 8

7ο εξάμηνο

Κωδικός Ονομα Μαθήματος ΔΜ
ΗΥ-499 Διπλωματική Εργασία 5
(Ε3-Ε9) Μαθήματα Επιλογής 16
Σύνολο ΔΜ: 21

8ο εξάμηνο

ΗΥ-499 Διπλωματική Εργασία 5
(Ε3-Ε9) Μαθήματα Επιλογής 12

Περιγραφή Μαθημάτων

Προσφερόμενα Μαθήματα 1ου έτους

HY-100 "Εισαγωγή στην Επιστήμη των Υπολογιστών"

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

ΗΥ-108, 109, 208, 209 "Αγγλικά I, ΙΙ, III, και ΙV"

Εντατικά μαθήματα Αγγλικών. Η γλώσσα αυτή είναι απαραίτητη για τις σπουδές Η/Υ. ΄Οσοι ξέρουν ήδη Αγγλικά μπορούν, περνώντας τις αντίστοιχες κατατακτήριες εξετάσεις, να απαλλαγούν από τα ΗΥ-108, ΗΥ-109.

ΗΥ-112 "Φυσική I"

Εισαγωγή. Βασικές έννοιες της Μηχανικής και οι νόμοι του Νεύτωνος. Διατήρηση της ενέργειας. Διατήρηση της ορμής. Περιστροφές και στροφορμή. Βαρύτητα. Ταλαντώσεις - κύματα. Ειδική Θεωρία σχετικότητας. Ηλεκτρικές δυνάμεις. Δυναμικό.

ΗΥ-113 "Φυσική ΙΙ"

Ηλεκτρισμός - Μαγνητισμός. Χρονικά μεταβαλλόμενα πεδία. Ηλεκτρομαγνητικά κύματα - Φώς. Κβαντικά Φαινόμενα - Οι πρώτες ενδείξεις. Κβαντική φύση της ύλης. Κβαντική κίνηση σωματιδίου. Απλά Συστήματα. Μακροσκοπικά Κβαντικά φαινόμενα. Ατομικός Πυρήνας.

ΗΥ-118 "Διακριτά Μαθηματικά"

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

ΗΥ-120 "Ψηφιακή Σχεδίαση"

Λογικές πύλες. ΄Αλγεβρα Boole. Συνδυαστικά κυκλώματα. Απλοποίηση με χάρτες Karnaugh. ΄Ετοιμα συνδυαστικά chips, και χρήση τους στη σχεδίαση συνδυαστικών συστημάτων. Flip-flops. Ακολουθιακά κυκλώματα. Καταχωρητές, μετρητές, καταχωρητές ολίσθησης, και χρήση τους στη σχεδίαση μεγαλύτερων συστημάτων. Μηχανές πεπερασμένων καταστάσεων. Ηλεκτρονική πραγματοποίηση πυλών, οικογένειες ολοκληρωμένων κυκλωμάτων. Εργαστήριο με bread-boards, TTL chips, διακόπτες, LED's.

ΗΥ-121 "Ηλεκτρονικά Κυκλώματα"

Νόμοι Ohm και Kirchhoff, μέθοδοι βρόγχων και κόμβων, ισοδυναμίες Thevenin και Norton, γραμμικότητα και υπέρθεση, στοιχεία αποθήκευσης ενέργειας. Γραμμικά και μη-γραμμικά κυκλώματα με τελεστικούς ενισχυτές. Εξαρτημένες πηγές. Ενεργά φίλτρα, εισαγωγή στα ψηφιακά φίλτρα. Ενισχυτές ευρείας ζώνης, ενισχυτές ισχύος. Τροφοδοτικά. Γεννήτριες σημάτων. Γραμμές μεταφοράς (transmission lines). Μετατροπείς D/A και A/D. Ασκήσεις προσομοίωσης με SPICE και MicroCAP. ΄Οταν το μάθημα αυτό δεν διδάσκεται από το Τμήμα, είναι δυνατή η αντικατάστασή του από το μάθημα ``Εισαγωγή στη Θεωρία Κυκλωμάτων'' του Φυσικού Τμήματος, με τις Διδ. Μονάδες που έχει το τελευταίο στον Οδηγό Σπουδών του Φυσικού Τμήματος.

ΗΥ-150 "Προγραμματισμός"

Σχεδίαση, υλοποίηση, διόρθωση, και τεκμηρίωση προγραμμάτων. Αρχές αφαίρεσης και σύνθεσης. ΄Εμφαση στο δομημένο προγραμματισμό, και εισαγωγή σε άλλες μορφές προγραμματισμού. Συστηματική διδασκαλία της γλώσσας C. Εργαστήριο προγραμματισμού, κυρίως σε C. Σημείωση: Μέχρι και την ακαδημαϊκή χρονιά 1997-98, το μάθημα αυτό προσφερόταν με τον κωδικό ΗΥ-140 και διδασκαλία Pascal αντί της C. Το ΗΥ-140 μπορεί να αντικαταστήσει το ΗΥ-150 σαν μάθημα κορμού στις απαιτήσεις αποφοίτησης, όχι όμως και σας προαπαιτούμενο άλλων μαθημάτων πλην των ΗΥ-240 και ΜΑΘ-231.

ΗΥ-180 "Λογική"

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

Προσφερόμενα Μαθήματα 2ου έτους

ΗΥ-202 "Τεχνολογία, Γνώση και Αξίες"

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

ΗΥ-203 "Εισαγωγή στην Φιλοσοφία της Επιστήμης"

Εισαγωγική εισήγηση: οι έννοιες επαγωγή, παραγωγή, αναγωγή, απαγωγή. Ο επαγωγισμός στην επιστήμη. Οι σχέσεις παρατήρησης και θεωρίας. Η έννοια της διαψευσιμότητας. Τα προβλήματα της επαληθευσιμότητας και της διαψευσιμότητας. Η θεωρία του Λάκατος περί επιστημονικών ερευνητικών προγραμμάτων". Οι πρόδρομοι της θεωρίας του Κουν περί επιστημονικών επαναστάσεων. Η θεωρία του Κουν. Η αναρχική θεωρία της επιστήμης του Φεγιεράμπεντ. Ορθολογισμός και σχετικισμός. Αντικειμενισμός και ρεαλισμός.
Σημείωση: Μόνο ένα από τα μαθήματα ΗΥ-202 και ΗΥ-203 μπορεί να χρησιμοποιηθεί σαν μάθημα επιλογής Επιστήμης Υπολογιστών

ΗΥ-215 "Εφαρμοσμένα Μαθηματικά για Μηχανικούς"

Είδη σημάτων, Ενέργεια Σήματος, Μετασχηματισμοί Ανεξάρτητης Μεταβλητής, Στοιχειώδη Σήματα (Συνεχούς χρόνου, Διακριτού χρόνου), Ορθογώνια Αναπαράσταση Σημάτων, Συγκερασμός (Convolution), Σειρές Fourier Συνεχούς Χρόνου, Μετασχηματισμός Fourier Συνεχούς Χρόνου, Περιοδικά Σήματα και ο Μετασχηματισμός Fourier Συνεχούς Χρόνου, Σειρές Fourier Διακριτού Χρόνου, Μετασχηματισμός Fourier Διακριτού Χρόνου, Διαφορές μεταξύ Συνεχούς και Διακριτού Χρόνου, Περιοδικά Σήματα και ο Μετασχηματισμός Fourier Διακριτού Χρόνου, Διακριτός Μετασχηματισμός Fourier (DFT), Γρήγορος Μετασχηματισμός Fourier (FFT), Μετασχηματισμός Laplace, Μετασχηματισμός Z, Σχέση Μεταξύ Μετασχηματισμών Z και Laplace, Σχέση Μεταξύ Μετασχηματισμών Z και DFT. Το μάθημα περιλαμβάνει εργαστηριακή εξάσκηση με την εκπόνηση εργασίας που αφορά την ανάπτυξη αλγορίθμων επεξεργασίας 1Δ και 2Δ σημάτων με χρήση του μονοδιάστατου FFT.

ΗΥ-217 "Πιθανότητες Ι"

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

ΗΥ-220 Εργαστήριο Ψηφιακών Κυκλωμάτων

Γλώσσες περιγραφής και προσομοίωσης υλικού, π.χ. Verilog. Επισκόπηση της τεχνολογίας FPGA, εργαλεία αυτόματης σύνθεσης κυκλωμάτων σε FPGA. Διαγράμματα χρονισμού, τεχνικές ελάττωσης καθυστέρησης. Τρικατάστατοι οδηγητές, αρτηρίες (δίαυλοι, λεωφόροι), πρωτόκολα χειραψίας, παραδείγματα εμπορικών αρτηριών. Μνήμες, π.χ. SRAM και SDRAM. Γέννηση ρολογιού, απόκλιση ρολογιού, χρήση PLL. Ασύγχρονα συστήματα, διαιτησία. Μεταστάθεια, σφάλμα συγχρονισμού, συγχρονιστές, ουρές και ελαστικοί ενταμιευτές, συγχρονισμός σημάτων άδειος/γεμάτος. Σειριακή μετάδοση και λήψη, ανάκτηση ρολογιού και πλαισίου. Τεχνολογία τυπωμένων κυκλωμάτων και περιβλήματα ολοκληρωμένων κυκλωμάτων. Εργαστήριο: Ασκήσεις υλοποίησης μικρών έως μεσαίων εργασιών σε πλακέτες με FPGA, μετά από σχεδίαση και προσομοίωση σε Verilog. Εργαστηριακή εμπειρία χρήσης παλμογράφου, λογικού αναλυτή, και χειρισμού σημάτων ρολογιών, αρτηριών, μνημών, και σειριακών επικοινωνιών.

ΗΥ-225 "Οργάνωση Υπολογιστών"

Γλώσσα Assembly και γλώσσα μηχανής --παράδειγμα: ένα υποσύνολο αυτών των γλωσσών ενός επεξεργαστή RISC. Στοιχειώδεις γνώσεις προγραμματισμού σε Assembly: if-then-else, βρόχοι, πίνακες, pointers, στοίβα, κάλεσμα διαδικασιών. Εγκυκλοπαιδική εισαγωγή στη σύγχρονη τεχνολογία υλοποίησης των υπολογιστών. Υλοποίηση επεξεργαστή χρησιμοποιώντας καταχωρητές, πολυπλέκτες, αθροιστές, ALU's, μνήμες, και συνδυαστική λογική: σχεδίαση του datapath και της μονάδας ελέγχου, διακοπές-εξαιρέσεις. Σύντομη εισαγωγή στην τεχνική της ομοχειρίας (pipelining). Ολίγα περί της επίδοσης (ταχύτητας) των υπολογιστών. Σύστημα Μνήμης: εισαγωγή στις κρυφές μνήμες, εικονική μνήμη, καταστάσεις χρήστη-kernel, κάλεσμα λειτουργικού συστήματος, προστασία. Περιφερειακές Συσκευές και η επικοινωνία τους με την κεντρική μονάδα: απεικόνιση I/O σε διευθύνσεις μνήμης, επικοινωνία με δειγματοληψία και με διακοπές, DMA, αρτηρίες (buses): αφέντης, σκλάβος, διαιτησία. Σύντομη αναφορά στους παράλληλους υπολογιστές. Ασκήσεις που περιλαμβάνουν προγραμματισμό σε γλώσσα Assembly στον προσομοιωτή SPIM της αρχιτεκτονικής MIPS, και εργασία σχεδίασης και προσομοίωσης ενός υποσύνολου του επεξεργαστή MIPS σε επίπεδο μεταφοράς καταχωρητών με χρήση της γλώσσας περιγραφής υλικού Verilog.

ΗΥ-240 "Δομές Δεδομένων"

Εισαγωγή στη Σχεδίαση και Ανάλυση Δομών Δεδομένων. Θεμελιώδη σχήματα καταχώρησης (πίνακες, αλυσσίδες,δένδρα). Βασικές λειτουργίες μιας δομής (εισαγωγή, διαγραφή, απαρίθμηση, εντοπισμός). Υλοποίηση λειτουργιών εντοπισμού: απλοί κατάλογοι, στοίβες, ουρές αναμονής, ουρές προτεραιότητας, ευρετήρια, πίνακες διασποράς (hashing). Eισαγωγή σε ζητήματα κοστολόγησης (ανάλυση χειρίστης περιπτώσεως, μέση και χρεωλυτική ανάλυση, αναμενόμενη επίδοση). Προχωρημένα ζητήματα υλοποίησης (δυωνυμικά δένδρα, αρθρωτά δένδρα, δένδρα Fibonacci). Ζητήματα καταχώρησης σχέσης δεδομένων: κλάσεις ισοδυναμίας, γενικές διμελείς σχέσεις (γράφοι). Ισχυρή και Ασθενής Συνδεσιμότητα γράφων. Κατά βάθος και κατά πλάτος αρίθμηση δένδρων και γράφων. Αφηρημένες δομές δεδομένων και οντοκεντρικός προγραμματισμός. Ασκήσεις υλοποίησης δομών με οντοκεντρικό προγραμματισμό.

ΗΥ-252 "Οντοκεντρικός Προγραμματισμός"

Οντοκεντρικός προγραμματισμός, αντικείμενα στην C++ κληρονομικότητα, Πολυμορφισμός, πολλαπλή κληρονομικότητα, overloading τελεστών, οντοκεντρικός σχεδιασμός, Java applets, classes και interfaces. Εργαστηριακές ασκήσεις σε C++ και Java.

HY-255 "Εργαστήριο Τεχνολογίας Λογισμικού"

Μεταφορά από τη μικροσκοπική κλίμακα του προγράμματος στη μακροσκοπική κλίμακα των συστημάτων. Ο κύριος σκοπός του μαθήματος είναι να παρουσιάσει τις μεθόδους ανάπτυξης μεγάλων συστημάτων ως σύνθεση πολλών ανεξαρτήτων τμημάτων, επιτρέποντας επαναχρησιμοποίηση, ελαχιστοποίηση λαθών, καθώς και ευέλικτη επέκταση και τροποποίηση. Το μάθημα περιλαμβάνει τι εξής ενότητες: Διαδικασία και μοντέλα παραγωγής λογισμικού. Προσδιορισμός, καταγραφή και ανάλυση απαιτήσεων. Μετρικές λογισμικού και εκτίμηση κόστους. Έλεγχος και εξασφάλιση ποιότητας. Αξιολόγηση πηγαίου κώδικα. Μοντέλο ωριμότητας ικανότητας (Capability Maturity Model). Σχεδίαση λογισμικού, προοπτικές σχεδίασης (δεδομένα, λειτουργίες, οργάνωση, συμπεριφορά). Δομημένος προγραμματισμός. Αρχιτεκτονική λογισμικού. Οικογένειες αρχιτεκτονικών, διαδικασία αρχιτεκτονική σχεδίασης, σχέση αρχιτεκτονικής και πηγαίου κώδικα. Οντοκεντρικός προγραμματισμός. Βασικές προγραμματιστικές δομές και εξομοίωση στη γλώσσα C. Τυπικές και προχωρημένες τεχνικές οντοκεντρικού προγραμματισμού στη γλώσσα C++. Κληρονομικότητα και πολυμορφισμός (έννοια, εφαρμογή, διαχείριση μνήμης και υλοποίηση από τον μεταγλωττιστή). Εντροπία λογισμικού, μέθοδος διαδοχικής αναδιάρθρωσης πηγαίου κώδικα και επέκτασης της σχεδίασης (re-factoring). Σχεδιαστικά πρότυπα. Δημιουργία, τεκμηρίωση και χρήση προτύπων. Ανάλυση συγκεκριμένων σχεδιαστικών προτύπων. Εισαγωγή στη χρήση templates της γλώσσας C++. Εισαγωγή στην χρήση STL (Standard Template Library) της γλώσσας C++. Οδηγίες καλού προγραμματισμού. Οργάνωση αρχείων και φακέλων, τακτικές σύνταξης, οργάνωσης και τεκμηρίωσης πηγαίου κώδικα. Αντιμετώπιση λαθών. Αμυντικός προγραμματισμός (defensive programming), βασική στρατηγική επιδιόρθωσης (debugging). Κατηγορίες λαθών, αυτόματος εντοπισμός και αυτοέλεγχος πηγαίου κώδικα (self checking code). Εισαγωγή στην φιλοσοφία του «ακραίου» προγραμματισμού (extreme programming). Προγραμματισμός με εντατικούς ελέγχους και δοκιμές (test first programming).

ΗΥ-265 "Μοντελοποίηση Πληροφοριών"

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

ΗΥ-280 "Θεωρία Υπολογισμού"

1) Εισαγωγή στη θεωρία υπολογισμού και διάφορα υπολογιστικά μοντέλα. Αναδρομικές περιγραφές, URM προγράμματα, Turing μηχανές και άλλα υπολογιστικά παραδείγματα. Απόδειξη της ισοδυναμίας των "πλήρων" υπολογιστικών παραδειγμάτων. Παραδείγματα ανεπίλυτων προβλημάτων. Θεώρημα Rice και θέση του Church. Αναφορά στο θεώρημα Godel.
2) (Πεπερασμένα) Αυτόματα και τα βασικά θεωρήματα: κλειστότητα ως προς γραμματικές ή συνολοθεωρητικές πράξεις. Ισοδυναμία αιτιοκρατικών και μη αυτομάτων. Χαρακτηρισμός των κανονικών γλωσσών - θεωρήματα "άντλησης".
3) Ανεξάρτητες συμφραζομένων γραμματικές - βασικά θεωρήματα: κλειστότητα ως προς γραμματικές ή συνολοθεωρητικές πράξεις. Μη ισοδυναμία αιτιοκρατικών και μη. Χαρακτηρισμός θεωρήματα "άντλησης", LL(1) γραμματικές.
Σειρά θεωρητικών ασκήσεων

Προσφερόμενα Μαθήματα 3ου έτους

ΗΥ-302 "Διδακτική της Πληροφορικής"

Oι Νέες Τεχνολογίες στην εκπαίδευση. Οι κύριες προσεγγίσεις εισαγωγής των νέων τεχνολογιών στην εκπαιδευτική διαδικασία (απομονωμένο τεχνικό, πραγματολογικό, ολοκληρωμένο πρότυπο) και οι επιπτώσεις τους στην εκπαιδευτική διαδικασία. Στάδια εισαγωγής της πληροφορικής στις διάφορες χώρες και η ελληνική εμπειρία: ιστορική ανασκόπηση, αξιολόγηση της τρέχουσας πρακτικής. Το τεχνολογικό πλαίσιο, η παραγωγή, οι δραστηριότητες. Υπολογιστική τεχνολογία και μάθηση. Έννοιες και ιστορική εξέλιξη. Πρώτες γενιές εκπαιδευτικού λογισμικού, πρόσφατες εξελίξεις στην υπολογιστική υποστήριξη της μάθησης, τάσεις και προοπτικές. Οι θεωρίες της αυτόνομης μάθησης: διερευνητική μάθηση και η γλώσσα Logo. Η προσέγγιση της τεχνητής νοημοσύνης: τα έμπειρα διδακτικά συστήματα. H προσέγγιση της πλοήγησης: υπερμέσα και πολυμέσα στη μαθησιακή διαδικασία. Η προσέγγιση της "εμβύθισης": η εικονική πραγματικότητα και οι εκπαιδευτικές εφαρμογές της. Αναλυτικά προγράμματα πληροφορικής στην ελληνική εκπαίδευση (γενική παιδεία, τεχνική και επαγγελματική εκπαίδευση). Ιστορικό και εξέλιξη της εισαγωγής της Πληροφορικής στα αναλυτικά προγράμματα. Κριτική αξιολόγηση των αναλυτικών προγραμμάτων πληροφορικής στις διάφορες χώρες. Επιπτώσεις της εκπαιδευτικής τεχνολογίας στο αναλυτικό πρόγραμμα, στην οργάνωση της διδασκαλίας, στην αξιολόγηση. Βασικές έννοιες της διδακτικής Πληροφορικής. Νοητικά Μοντέλα και Αναπαραστάσεις των μαθητών στην Πληροφορική. Διαδικασίες μάθησης και διδασκαλία της Πληροφορικής. Βασικές έννοιες της πληροφορικής (ΗΥ και Προγραμματισμού) και μέθοδοι διδασκαλίας. Διδακτικές δραστηριότητες στην πληροφορική. Ζητήματα διδακτικής προγραμματισμού. Διδασκαλία των μεθόδων προγραμματισμού σε εισαγωγικό επίπεδο. Επίλυση προβλημάτων σε προγραμματιστικό περιβάλλον. Προγραμματισμός και ψυχολογία. Ζητήματα διδακτικής της χρήσης της υπολογιστικής τεχνολογίας. Διδακτική προσέγγιση της διδασκαλίας λογισμικού γενικής χρήσης. Εργονομία λογισμικού και σχολικών εργαστηρίων. Ηλεκτρονικά παιγνίδια και εκπαίδευση. Εκπαίδευση από απόσταση, τηλεμάθηση και εκπαίδευση, δίκτυα υπολογιστών και εκπαιδευτικές χρήσεις τους, δια βίου εκπαίδευση. Όρια της εκπαιδευτικής τεχνολογίας. Πρακτική διδασκαλίας σε σχολεία και συμμετοχή σε κριτικές αναλύσεις μεθόδων διδασκαλίας.

ΗΥ-317 "Αξιολόγηση Επιδόσεων Συστημάτων"

Εισαγωγή στα μοντέλα συστημάτων υπολογιστών και επικοινωνιών. Τα συστήματα ουρών\fI M/D/1, M/M/n/k/N, M/G/1, και G/G/1\fR. Ανοικτά και κλειστά δίκτυα Μαρκοβιανών ουρών, δίκτυα Jackson. Μοντέλα προσομοίωσης διακεκριμένων γεγονότων, ανάλυση δεδομένων. Εφαρμογές στην από κοινού χρήση πόρων και το scheduling (λειτουργικά συστήματα, βάσεις δεδομένων), αρχιτεκτονικές παράλληλων συστημάτων και δίκτυα επικοινωνίας υπολογιστών.

HY-325 "Εργαστήριο Ενσωματωμένων Επεξεργαστών"

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

ΗΥ-335 "Δίκτυα Υπολογιστών"

Το μάθημα αυτό καλύπτει τις βασικές αρχές και τεχνολογίες δικτύων υπολογιστών. Το περιεχόμενό του περιλαμβάνει: Εισαγωγή στα δίκτυα επικοινωνίας και τις υπηρεσίες που παρέχουν. Αρχές σχεδίασης, αρχιτεκτονική κατά επίπεδα, μετάδοση πληροφορίας, μεταγωγή, πολυπλεξία. Το μοντέλο OSI και το μοντέλο του Internet. Φυσικό επίπεδο: διάδοση σημάτων, οπτική μετάδοση, συγχρονισμός και framing, ψηφιοποίηση πληροφορίας. Επίπεδο ζεύξης δεδομένων: πρωτόκολα, εναλλασσόμενο bit, go-back-N, επιλεκτική αναμετάδοση, παραδείγματα επίπεδου data link. Τοπικά δίκτυα: ALOHA, Ethernet, token ring, FDDI, DQDB. Επίπεδο δικτύου: ονοματοδοσία και διευθυνσιοδότηση, το πρωτόκολλο IP, address resolution, δρομολόγηση, έλεγχος συμφόρησης, σχεδίαση δικτύου, παραδείγματα. Επίπεδα μεταφοράς, συνόδου, παρουσίασης, εφαρμογής: πρωτόκολλο TCP, εγκατάσταση συνόδου, μετατροπή συντακτικού, μεταφορά, βασικές εφαρμογές. Εισαγωγή στη διαχείριση δικτύων, και τις τεχνολογίες ISDN, και ΑΤΜ.

ΗΥ-340 "Γλώσσες και Μεταφραστές"

Λεξικογραφική ανάλυση, κανονικές εκφράσεις, χρήση του lex. Συντακτική ανάλυση, γραμματικές ανεξάρτητες συμφραζομένων, χρήση του yacc. Μετάφραση οδηγούμενη από την σύνταξη, κατασκευή συντακτικών δένδρων και ενδιάμεσου κώδικα. Κατασκευή κώδικα χαμηλού επιπέδου. Οργάνωση μνήμης. Θεωρία κατασκευής parsers. Εργαστήριο προγραμματισμού: κατασκευή ενός πλήρους compiler με χρήση lex και yacc.

ΗΥ-345 "Λειτουργικά Συστήματα"

Περιγραφή διαδικασιών λειτουργικού συστήματος και υλοποίησή τους: πολυ-προγραμματισμός, συγχρονισμός (σηματοφορείς), context switching, process scheduling, system calls, interrupt handlers, deadlock, device independent I/O, device drivers, disk scheduling, memory management, virtual memory, paging algorithms, file systems, distributed operating systems. Προγραμματιστικές ασκήσεις, υποχρεωτική πρόοδος, τελικό διαγώνισμα. Βιβλίο: Σύγχρονα Λειτουργικά Συστήματα, (Τόμος Α) A.S.Tanenbaum και Operating System Concepts, Peterson & Silberschatz, Third Edition, 1992 Addison Wesley

ΗΥ-355 "Τεχνολογία Λογισμικού"

Παρουσιάζονται οι κύριες κατασκευαστικές μέθοδοι, διαδικασίες και τεχνικές για την μετάβαση από τη μικροσκοπική κλίμακα του προγράμματος στη μακροσκοπική κλίμακα των συστημάτων. Ο κύριος σκοπός του μαθήματος είναι να παρουσιάσει τις μεθόδους ανάπτυξης μεγάλων συστημάτων ως σύνθεση πολλών ανεξαρτήτων τμημάτων, μέσα από καλά ελεγχόμενες διαδικασίες ανάπτυξης, επιτρέποντας επαναχρησιμοποίηση, ελαχιστοποίηση λαθών, καθώς και ευέλικτη επέκταση και τροποποίηση. Το μάθημα περιλαμβάνει τις εξής ενότητες: Διαδικασία και μοντέλα παραγωγής λογισμικού. Προσδιορισμός, καταγραφή και ανάλυση απαιτήσεων. Μετρικές λογισμικού και εκτίμηση κόστους. Μοντέλο ωριμότητας ικανότητας. Αρχιτεκτονική σχεδίαση, θεμελιώδεις οικογένειες αρχιτεκτονικών, σχέση αρχιτεκτονικής και πηγαίου κώδικα. Σχεδίαση λογισμικού, προοπτικές σχεδίασης (δεδομένα, λειτουργίες, οργάνωση, συμπεριφορά). Δομημένος προγραμματισμός. Στοιχεία οντοκεντρικού προγραμματισμού. Βασικά συστατικά στοιχεία οντοκεντρικού προγραμματισμού, προσφερόμενες δομές στη C++, κληρονομικότητα και πολυμορφισμός (έννοια, εφαρμογή, διαχείριση μνήμης και υλοποίηση από τον μεταγλωττιστή), αφηρημένες κλάσεις. Διαδικασία ελέγχου συστήματος. Αξιοπιστία λογισμικού, πιστοποίηση ποιότητας, ISO πρότυπα ποιότητας, καταγραφή λαθών, design by contract, κατηγορίες λαθών, αυτόματος εντοπισμός και αυτοέλεγχος πηγαίου κώδικα (self checking code). Εύστροφες διαδικασίες ανάπτυξης, εντροπία λογισμικού, δημιουργική αναδιάρθρωση (re-factoring), εισαγωγή στην φιλοσοφία του «ακραίου» προγραμματισμού (extreme programming), προγραμματισμός με εντατικούς ελέγχους και δοκιμές (test-first programming). Εισαγωγή στα καλούπια κώδικα και τα σχεδιαστικά πρότυπα. Δημιουργία, τεκμηρίωση και χρήση προτύπων, ανάλυση συγκεκριμένων σχεδιαστικών προτύπων, εισαγωγή στη χρήση templates της γλώσσας C++.

ΗΥ-358 "Γραφική"

Εισαγωγή στη γραφική (graphics) και στις εφαρμογές της. Αλγόριθμοι raster, scan-conversion γραμμών και καμπυλών. Διδιάστατη γραφική: γέμισμα περιοχής, scan-conversion πολυγώνων, ψαλίδισμα (clipping) γραμμών, antialising, γεωμετρικοί μετασχηματισμοί, ομογενείς συντεταγμένες. Τριδιάστατη γραφική: 3Δ όψεις, αναπαράσταση με μήτρες των τριδιάστατων μετασχηματισμών, σύνθεση μετασχηματισμών, ψαλίδισμα πολυέδρων, γεωμετρικές προβολές, μετασχηματισμοί εικόνων. Εικονικοί κόσμοι, ιεραρχία οντοτήτων και προγραμματισμός σε VRML, φωτισμός, υφή (texture), αλληλεπίδραση με το χρήστη, μοντελοποίηση και υλοποίηση κινήσεων (animation), μορφοποίηση αντικειμένων (morphing). Αναπαράσταση καμπύλων και επιφάνειών, πολυγωνικά πλέγματα, παραμετρικές πολυγωνικές καμπύλες, παραμετρικές δικυβικές επιφάνειες. Απαλειφή κρυμμένων επιφανειών, εύρεση ορατών γραμμών, αλγόριθμος z-buffer. Φωτισμός και σκίαση, διαφάνεια, σκιές αντικειμένων, μοντέλα φωτισμού βασισμένα σε φυσικές ιδιότητων των αντικειμένων, παρακολούθηση ακτίνων (ray tracing). Το μάθημα περιλαμβάνει εργαστηριακή εξάσκηση με την εκπόνηση εργασίας που αφορά την ανάπτυξη αλγορίθμων γραφικής σε περιβάλλον X-windows, καθώς και τον προγραμματισμό σε VRML.

ΗΥ-359 "Διαδυκτιοκεντρικός Προγραμματισμός"

Όπως δεν είναι δυνατόν για ένα συγγραφέα να ασχοληθεί ο ίδιος με την έκδοση του έργου του, ισχύει το ίδιο για κάποιον που θέλει να «εκδόσει» ιστοσελίδες στο Διαδίκτυο. Έχει λοιπόν ανάγκη από κάποιον ο οποίος έχει την απαραίτητη τεχνογνωσία για να διαχειριστεί τις ιστοσελίδες του (WebMaster). Το αντικείμενο του μαθήματος είναι η εκπαίδευση φοιτητών ως WebMasters προσφέροντάς τους τις απαραίτητες γνώσεις για την πραγματοποίηση και διαχείριση ενός δικτυοτόπου. Οι σπουδές αυτές αποσκοπούν στην ειδίκευση των φοιτητών σε εργαλεία ανάπτυξης αλληλεπιδρούμενων εφαρμογών, ώστε να κάνουν τις κατάλληλες επιλογές ανά περίσταση κατά τη δημιουργία ιστοσελίδων. Όσον αφορά παρεχόμενες υπηρεσίες στο κοινό μέσω Διαδικτύου, όπως το ηλεκτρονικό εμπόριο, κράτηση εισιτηρίων μέσων μαζικής μεταφοράς ή την παρακολούθηση τηλεφωνικής κατανάλωσης, οι επεκτάσεις του εξυπηρετητή Web, (CGI, PHP, Servlet Java) δεν επαρκούν για τις παραπάνω εφαρμογές. Πρέπει λοιπόν να εισάγουμε στην αρχιτεκτονική της εφαρμογής έναν εξυπηρετητή εφαρμογών ανάμεσα στον εξυπηρετητή Web και στην SGBD. Αυτός θα επιτρέπει τη διαχείριση των συναλλαγών, τη δυναμική διανομή των δεδομένων, την εξασφάλιση της αποθήκευσής τους και επίσης την ανάληψη κάποιων ρόλων όσον αφορά την ασφάλεια του συστήματος. Για παράδειγμα, κάποια από τις τεχνολογίες που μπορούν να χρησιμοποιηθούν, είναι η J2EE βασισμένη στην Enterprise Java Beans (EJB).
Ενδεικτική Βιβλιογραφία: (α) Deitel & Deitel: "Complete Internet and World Wide Web Programming Training Course" Prentice Hall 2000, (β) S. Allamaraju et al. Professional Java E-Commerce. Wrox, 2001.

ΗΥ-360 "Αρχεία και Βάσεις Δεδομένων"

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

ΗΥ-368 "Βελτιστοποίηση Συστημάτων"

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

ΗΥ-370 "Ψηφιακή Επεξεργασία Σημάτων"

Διακριτά σήματα και συστήματα. Ψηφιοποίηση και ανακατασκευή αναλογικών σημάτων. Μετασχηματισμοί Fourier και Z. Σχεδίαση φίλτρων. Κυματιδιακός μετασχηματισμός. Τυχαία σήματα. Φασματική Ανάλυση.

ΗΥ-380 "Αλγόριθμοι και Πολυπλοκότητα"

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

Προσφερόμενα Μαθήματα 4ου έτους

HY-400 "Σειρά Ενημερωτικών Ομιλιών"

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

ΗΥ-402 "Σχεδιασμός, Ανάπτυξη και Αξιολόγηση Εκπαιδευτικού Λογισμικού"

Το νέο διεπιστημονικό πεδίο που οριοθετείται με τον όρο "εκπαιδευτικό λογισμικό". Οι κύριες τάσεις ανάπτυξης εκπαιδευτικού λογισμικού, οι θεωρίες μάθησης που τις υποστηρίζουν και οι συνακόλουθες παιδαγωγικές και διδακτικές προσεγγίσεις. Από τις διδακτικές μηχανές στη διδασκαλία με τη βοήθεια υπολογιστή (Συμπεριφορισμός). Η θεωρία του Piaget και η γλώσσα προγραμματισμού Logo. Από την Επεξεργασία των Πληροφοριών στις Κοινωνικογνωστικές Θεωρίες. Υπολογιστικά περιβάλλοντα υποστήριξης της διδακτικής και της μαθησιακής διαδικασίας. Η συνεισφορά και οι τεχνικές της Τεχνητής Νοημοσύνης: τα Έμπειρα Διδακτικά συστήματα - Μικρόκοσμοι και ανοικτά περιβάλλοντα μάθησης. Η έννοια της "πλοήγησης" και τα συστήματα "εμβύθισης": από τα υπερμέσα και τα πολυμέσα στις εκπαιδευτικές εφαρμογές της εικονικής πραγματικότητας. Αναφορά και ανάλυση παιδαγωγικών δραστηριοτήτων με: Συστήματα διδασκαλίας καθοδηγούμενης από υπολογιστή: συστήματα εξάσκησης, εκπαιδευτικά παιχνίδια, συστήματα καθοδήγησης (tutorials), συστήματα καθοδήγησης στην επίλυση προβλημάτων (Intelligent Tutoring Systems). Συστήματα μάθησης μέσω καθοδηγούμενης ανακάλυψης: προσομοιώσεις, μικρόκοσμοι, μοντελοποιήσεις, συστήματα που στηρίζουν εργαστηριακές δραστηριότητες με υπολογιστή (computer based laboratories), συστήματα εκπαιδευτικής ρομποτικής (educational robotics), ανοιχτά συστήματα μάθησης (ανεξάρτητα γνωστικού αντικειμένου) για δραστηριότητες εκμάθησης προγραμματισμού και επίλυσης προβλημάτων. Συστήματα συμβολικής έκφρασης και οικοδόμησης: επεξεργασία κειμένου, σχεδιασμού, παραγωγής διαγραμμάτων, συστήματα εκδόσεων, εργαλεία δημιουργίας υπερκειμένων, πολυμέσων. Συστήματα παρουσίασης, αναζήτησης και διάδοσης πληροφορίας, ή συστήματα αναφοράς (references systems). Συστήματα και εφαρμογές που υποστηρίζουν την συνεργατική δραστηριότητα και μάθηση από απόσταση (educational web authoring). Συστήματα επικοινωνίας με υπολογιστή (Internet). Ανάπτυξη πρακτικής εργασίας που αφορά: την τεκμηρίωση της μελέτης ανάπτυξης: ανάλυση και τεκμηρίωση της βασικής ιδέας, αξιολόγηση αναγκών, διδακτικές και παιδαγωγικές προδιαγραφές, οργανικός και λειτουργικός σχεδιασμός, σχεδιασμός διεπιφάνειας χρήσης, σχεδιασμός οθονών, ανάπτυξη σεναρίων με βάση τη διεπιστημονική και διαθεματική προσέγγιση, ζητήματα ένταξης στο σχολικό περιβάλλον, αξιολόγηση (συνεχής και τελική). την υλοποίηση του τελικού προϊόντος (πρωτότυπο λογισμικού). Θέματα αξιολόγησης των ανεπτυγμένων πρωτοτύπων των φοιτητών και η γενικότερη μεθοδολογία αξιολόγησης εκπαιδευτικού λογισμικού.

ΗΥ-404 "Οργάνωση και Διοίκηση Μικρών Επιχειρήσεων με Τεχνολογική Κατεύθυνση"

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

ΗΥ-405 "Οικονομικά της Τεχνολογίας"

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

HY-406 "Νομικά Θέματα στην Πληροφορική και τις Τηλεπικοινωνίες"

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

ΗΥ-422 "Εισαγωγή στα Συστήματα VLSI"

Τα transistors NMOS και PMOS σαν διακόπτες. Λογικές πύλες CMOS. Εγκυκλοπαιδική εισαγωγή στον τρόπο και το κόστος κατασκευής ολοκληρωμένων κυκλωμάτων. Γεωμετρικό σχήμα, layout, και stick-diagrams των transistors, των αγωγών και των πυλών. Δυναμική λογική, pass-transistors, transmission gates, πολυπλέκτες, τρικατάστατοι οδηγητές. Ακολουθιακά κυκλώματα, διφασικά ρολόγια. Κυκλώματα με κανονική τοπολογική δομή, αποκωδικοποιητές PLA/ROM, κωδικοποιητές προτεραιότητας, αθροιστές, ολισθητές, μνήμες. Datapath, pitch-matching. Τεχνολογίες ημι-έτοιμων (semi-custom) ολοκληρωμένων κυκλωμάτων (gate arrays, standard cells, FPGA). Η εξίσωση της ταχύτητας: παρασιτική χωρητικότητα, ρεύμα φόρτισης, χρόνος καθυστέρησης. Στατική και δυναμική κατανάλωση ισχύος. Η ανταγωνιστική σχέση μεταξύ ταχύτητας και κατανάλωσης ισχύος. Παρασιτική χωρητικότητα των transistos και των αγωγών. Παραδείγματα ταχύτητας και κατανάλωσης ισχύος συνηθισμένων διατάξεων. Η τεχνική της προφόρτισης για την επιτάχυνση των κυκλωμάτων. Στατική και δυναμική RAM. Επικοινωνία με τον έξω κόσμο: pads, pad drivers. Διανομή τροφοδοσίας και ρολογιού. Εγκυκλοπαιδικά περί τεχνολογιών GaAs και BiCMOS, και περί κυκλωμάτων ECL. Συνθετική θεώρηση όλων των παραπάνω: δυνατότητες, περιορισμοί, και κόστος των συστημάτων VLSI, και αρχιτεκτονικές κατάλληλες για την εκμετάλευση της τεχνολογίας αυτής. Συγκεκριμένα παραδείγματα ψηφιακών συστημάτων και υλοποίησής τους σε VLSI.

HY-425 "Αρχιτεκτονική Υπολογιστικών Συστημάτων"

Ομοχειρία (pipelining) σταθερού πλήθους βαθμίδων: χρήση πόρων υλικού, αλληλεξαρτήσεις, προσπέρασμα (bypassing), αναμονές, καθυστερημένες διακλαδώσεις, πρόβλεψη διακλαδώσεων, διακοπές/εξαιρέσεις. Σύντομη αναφορά σε ομοχειρία μεταβλητού πλήθους βαθμίδων, VLIW και superscalar, εκτέλεση εκτός σειράς, ομοχειρία λογισμικού. Αρχιτεκτονική σύνολου εντολών: κόστος, επίδοση, συχνότητα χρήσης, benchmarks, τύποι σύνολου εντολών, σύγκριση αρχιτεκτονικών RISC και CISC. Συστήματα μνήμης: κρυφή (cache) μνήμη, οι παράμετροι της και η επίδρασή τους στην επίδοση, εικονική (virtual) μνήμη, μετάφραση διευθύνσεων, προστασία, TLB's, κρυφές μνήμες με εικονικές ή με φυσικές διευθύνσεις (index/tag), συνώνυμα, ευθυγράμμιση κοινόχρηστων σελίδων. Μέθοδοι επιτάχυνσης της επικοινωνίας με περιφερειακές συσκευές. Ασκήσεις και εργασίες προσομοίωσης και συλλογής μετρήσεων επεξεργαστών με ομοχειρία και κρυφών μνημών.

ΗΥ-430 "Ψηφιακές Επικοινωνίες"

Εισαγωγικές Έννοιες Τηλεπικοινωνιακών Συστημάτων: Ορισμός, μοντέλο και στοιχεία τηλεπικοινωνιακών συστημάτων, χαρακτηριστικά τηλεπικοινωνιακών καναλιών, ανάλυση σημάτων και συστημάτων στο πεδίο της συχνότητας, βασικές έννοιες στοχαστικών διαδικασιών. Τεχνικές Αναλογικής Διαμόρφωσης, Διαμόρφωση πλάτους (DSB-SC, AM, SSB, VSB, QAM), διαμόρφωση γωνίας (PM, FM), επίδραση θορύβου σε αναλογικά συστήματα επικοινωνίας, ραδιοφωνική και τηλεοπτική εκπομπή και λήψη. Παλμοαναλογική Διαμόρφωση: Θεωρία και πρακτική δειγματοληψίας, δυαδικά συστήματα PAM, PDM, PPM, πολυπλεξία στο χρόνο. Ψηφιακή Διαμόρφωση Παλμών: Κβάντιση αναλογικών σημάτων, παλμοκωδική διαμόρφωση (PCM, DPCM, DM), κωδικοποίηση γραμμής, μετάδοση στη βασική ζώνη, μορφοποίηση παλμού βασικής ζώνης, το MPEG πρότυπο κωδικοποίησης ήχου. Ανάλυση στο Χώρο των Σημάτων: Γεωμετρική αναπαράσταση σημάτων, διαδικασία Gram-Schmidt, μοντέλο ζωνοπερατής ψηφιακής επικοινωνίας και το AWGN κανάλι, πιθανοφάνεια, κανόνας ανίχνευσης MAP, και δέκτης συσχέτισης, υπολογισμός πιθανότητας σφάλματος. Συστήματα Ψηφιακής Διαμόρφωσης: δυαδική μεταλλαγή μετατόπισης φάσης (BPSK) και συχνότητας (BFSK), ορθογωνική μεταλλαγή μετατόπισης φάσης (BPSK), μιαδικά συστήματα σηματοδοσίας.

ΗΥ-431 "Εργαστήριο Τηλεπικοινωνιών"

Σκοπός του μαθήματος είναι η εις βάθος κατανόηση της λειτουργίας των τηλεπικοινωνιακών συστημάτων με την βοήθεια προσομοιώσεων στο περιβάλλον του MATLAB. Βασικά θέματα του μαθήματος είναι: Βασικές αρχές προσομοίωσης Τηλεπικοινωνιακών συστημάτων. Θεωρία διαμόρφωσης (βέλτιστοι δεκτές, ανάλυση πιθανότητας σφάλματος, βέλτιστη χρήση φάσματος και ενέργειας). Αναλογικές τεχνικές διαμόρφωσης (AM, FM) και ψηφιακές τεχνικές διαμόρφωσης (PCM, PSK, FSK, PAM, PPM) θα μελετηθούν τόσο από άποψη φασματικών χαρακτηριστικών όσο και από άποψη συμπεριφοράς σε περιβάλλον θορύβου και παρεμβολών. Επεξεργασία Τηλεπικοινωνιακών σημάτων (A/D, D/A, κωδικοποίηση φωνής, κώδικες διόρθωσης λαθών, συμπίεση δεδομένων, εξισωτές καναλιού). Συστήματα διασκορπισμένου φάσματος (Direct-sequence spread-spectrum, frequency-hopped SS). Τα παραδείγματα θα προέρχονται από ασύρματα και δορυφορικά τηλεπικοινωνιακά συστήματα. Βασικό στοιχείο του μαθήματος είναι το project σχεδίασης ενός τηλεπικοινωνιακού συστήματος στο οποίο θα συμμετέχουν σαν ομάδα όλοι οι φοιτητές του μαθήματος, μέσω σειράς προβλημάτων σχεδίασης με συχνή χρήση του MATLAB για την αξιολόγηση των σχεδιαστικών επιλογών. Για το ακαδ. έτος 1999-2000 προβλέπεται η σχεδίαση του φυσικού επιπέδου ενός συστήματος κινητής τηλεφωνίας (κωδικοποιητής φωνής, διαμορφωτής/αποδιαμορφωτής, τεχνική πολλαπλής προσπέλασης).

HY-438 "Θεωρία Πληροφορίας και Κωδικοποίηση"

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

ΗΥ-439 "Εργαστήριο Τεχνολογίας και Προγραμματισμού Δικτύων I"

Ο σκοπός του μαθήματος είναι η παρουσίαση των βασικών τεχνολογιών δικτύων (για παραδοσιακά δίκτυα, για δίκτυα τύπου Internet, και για δίκτυα ολοκληρωμένων ψηφιακών υπηρεσιών), και η απόκτηση εμπειρίας με εκτέλεση αντίστοιχων εργαστηριακών-προγραμματιστικών ασκήσεων με εμπορικές συσκευές μεταγωγής και δρομολόγησης και με προσομοιωτή. Η ύλη του μαθήματος περιλαμβάνει μεταξύ άλλων:
- Ανασκόπηση βασικών αρχών περί δικτύων επικοινωνίας και σύγχρονων τάσεων.
- Εthernet, switched ethernet, δρομολόγηση στο επίπεδο ΙΡ, διαμόρφωση (configuration) τοπικών δικτύων, ARP, DNS, TCP/IP, UDP/IP, ζητήματα ασφαλείας (firewalls).
- Διαχείριση δικτύων και προγραμματισμός σε δικτυακό περιβάλλον: Προγραμματισμός με sockets σε Unix και Windows, μοντέλο client-server, SNMP.
- Απλές εφαρμογές: smtp, telnet, ftp.
- Βασικά περί Asynchronous Transfer Mode (ATM).
- Συνδυασμός τεχνολογιών IP και ΑΤΜ: Classical IP-over-ATM, LAN Emulation.

ΗΥ-453 "Παράλληλος Προγραμματισμός"

Μηχανισμοί συγχρονισμού παράλληλων διεργασιών: σηματοφόρες, κρίσιμες περιοχές, monitors, ανταλλαγή μηνυμάτων, κοινόχρηστη μνήμη, rendez-vous, remote procedure calls, φράγματα συγχρονισμού. Γλώσσες και συστήματα παράλληλου προγραμματισμού. Θέματα παραλληλοποίησης προγραμμάτων: parallelizing compilers, parallel scheduling, εξισορρόπηση φορτίου, ιεραρχία μνήμης και παραλληλισμός.
Εργαστήριο: ασκήσεις παράλληλου προγραμματισμού.
Σημείωση: Μέχρι και το ακαδημαϊκό έτος 1998-99 το μάθημα αυτό προσφερόταν με τον κωδικό ΗΥ-443.

ΗΥ-455 "Εργαστήριο Τεχνολογίας Λογισμικού II"

Εμβάθυνση στην πρακτική πλευρά της τεχνολογίας λογισμικού με παρουσίαση περισσότερο εξειδικευμένων και προχωρημένων τεχνικών, μέσα από ένα εργαστηριακό πρίσμα. Ο κύριος στόχος του μαθήματος είναι να αναλύσει τις πιο εξελιγμένες και σύγχρονες πρακτικές υψηλής-ποιότητας τεχνολογίας λογισμικού, για την αντιμετώπιση συστημάτων κυρίως μεγάλης κλίμακας, μέσα στα πλαίσια βιομηχανικής διαδικασίας κατασκευής. Το μάθημα περιλαμβάνει τι εξής ενότητες: Σχεδίαση λογισμικού με τη UML. Σενάρια χρήσης, προοπτική διεργασιών, λειτουργική προοπτική, προοπτική υλοποίησης, προοπτική πραγματικής λειτουργίας. Βελτίωση και αναδιάρθρωση διαδικασίας παραγωγής (process re-engineering), ανάδρομη μελέτη συστήματος (reverse engineering). Παρακολούθηση διαδικασίας, εντατική χρήση μετρικών, καταγραφή και εφαρμογή βέλτιστων πρακτικών, ανέλκυση σχεδίασης, αναπροσδιορισμός σχεδίασης με τεμαχισμό προγράμματος (reverse engineering through program slicing). Συστηματικές διαδικασίας εντοπισμού λαθών. Επιθεώρηση κώδικα, βιομηχανικά πρότυπα προγραμματιστικού «στυλ», κατασκευή ελεγκτικών προγραμμάτων έλεγχος τμήματος, επιλεκτικός έλεγχος, έλεγχος αδυναμιών, έλεγχος ενσωμάτωσης, κοινή στρατηγική εντοπισμού σφαλμάτων, γενικές οδηγίες καλού προγραμματισμού (οργάνωση αρχείων, τεκμηρίωση, ονομασίες αναγνωριστικών, κλπ). Μετα-προγραμματισμός, ανάλυση αλγορίθμων και λειτουργικών τμημάτων με παραμετροποίηση των διαφοροποιημένων χαρακτηριστικών εφαρμογής. Κατασκευή και χρήση καλουπιών κώδικα. Fuctors («συναρτησιοειδή»),traits (κατηγορίες λειτουργικής συμπεριφοράς), και predicates (λογικές προτάσεις). Κατασκευή και χρήση σχεδιαστικών προτύπων. Γέννηση και τεκμηρίωση προτύπων, επιλογή και εφαρμογή προτύπων, αντιπρότυπα, προγραμματισμός βασισμένος σε προοπτικές (aspect-oriented programming), μελέτη προχωρημένων προτύπων. Προχωρημένος αμυντικός προγραμματισμός. Ανακύκλωση μνήμης, τεχνικές επαλήθευσης δεικτών, επαλήθευση στιγμιότυπων, υλοποίηση εκ νέου ενός διαχειριστή μνήμης, εισαγωγή στους έξυπνους δείκτες.

HY-460 "Συστήματα Διαχείρισης Βάσεων Δεδομένων"

Το μάθημα αποτελεί συνέχεια του ΗΥ360 δίνοντας έμφαση σε θέματα υλοποίησης Συστημάτων Διαχείρισης Βάσεων Δεδομένων. Συγκεκριμένα, το μάθημα πραγματεύεται τα εξής θέματα: Δομές αποθήκευσης και ευρετηριασμού (πρωτεύουσες / δευτερεύουσες δομές, δομές πολλαπλών επιπέδων, δομές για πολυδιάστατα δεδομένα), επεξεργασία, βελτιστοποίηση και εκτέλεση επερωτήσεων (πλάνα εκτέλεσης, μοντέλα εκτίμισης κόστους, αλγεβρικοί μετασχηματισμοί), διαχείριση σύγχρονης εκτέλεσης δοσοληψιών (σειριακοποιησιμότητα, πρωτόκολλα σύγχρονης εκτέλεσης, δοσοληψίες σε κατανεμημένες βάσεις δεδομένων), ολοκλήρωση πληροφοριών (συστήματα διαμεσολάβησης, OLAP, μηχανισμοί όψεων, αποθήκες δεδομένων). Η αξιολόγηση στο μάθημα βασίζεται σε σειρά εργαστηριακών και/ή θεωρητικών ασκήσεων και σε ενδιάμεση και τελική εξέταση.
Ενδεικτική βιβλιογραφία: H. Garcia-Molina, J. Ullman, J. Widom "Database System Implementation", Prentice Hall, 2000.

HY-464 "Επικοινωνία Ανθρώπου-Μηχανής"

Η Επικοινωνία Ανθρώπου-Υπολογιστή είναι ο διεπιστημονικός κλάδος που ασχολείται με την ανάλυση, σχεδίαση, υλοποίηση και αξιολόγηση της διεπαφής (user interface) εφαρμογών υπολογιστικών συστημάτων με τα οποία ο χρήστης έχει τη δυνατότητα αλληλεπίδρασης, καθώς και των θεμάτων που διέπουν αυτή την αλληλεπίδραση. Το μάθημα "Επικοινωνία Ανθρώπου-Υπολογιστή" αποσκοπεί στην παροχή του θεωρητικού υπόβαθρου καθώς και των πρακτικών γνώσεων που απαιτούνται για τη σχεδίαση, υλοποίηση και αξιολόγηση διεπαφών. Τα περιεχόμενα του μαθήματος περιλαμβάνουν: Γενική επισκόπηση της Επιστήμης που εξετάζει τα θέματα και συναφή φαινόμενα αλληλεπίδρασης Ανθρώπου-Υπολογιστή. Ο άνθρωπος, ο υπολογιστής και η μεταξύ τους διαλογική επικοινωνία. Δίαυλοι εισόδου και εξόδου. Γνωστικά πλαίσια, νόηση, αναπαράσταση και μνήμη. Κύκλος ανάπτυξης της διεπαφής διαλογικών (διαδραστικών) εφαρμογών. Διαχωρισμός της διεπαφής από τον πυρήνα της εφαρμογής. Αρχές, κανόνες και πρότυπα ανθρωποκεντρικής σχεδίασης. Ανάλυση επιμέρους διεργασιών (καθηκόντων). Εργονομία, ανθρώπινοι παράγοντες και ευχρηστία διεπαφών. Χρήση οδηγιών, συστάσεων, προτύπων και οδηγών σχεδίασης. Βασικές έννοιες της υλοποίησης διεπαφών. Βοήθεια και καθοδήγηση του χρήστη. Τεκμηρίωση. Εισαγωγή στην αξιολόγηση διεπαφών. Διεπαφές προσβάσιμες από διάφορες κατηγορίες χρηστών, συμπεριλαμβανομένων των ατόμων με αναπηρίες ή άλλες ειδικές ανάγκες. Ανάπτυξη διεπαφών για εφαρμογές και υπηρεσίες στον Παγκόσμιο Ιστό (WWW). Σύγχρονες τάσεις και προσεγγίσεις στην Επικοινωνία Ανθρώπου-Υπολογιστή στα πλαίσια της Κοινωνίας της Πληροφορίας.

ΗΥ-465 "Πληροφοριακά Συστήματα"

Το μάθημα απευθύνεται σε όσους επιδιώκουν σφαιρική και συστηματική γνώση και πρακτική εμπειρία στην ανάλυση και σχεδίαση πληροφοριακών συστημάτων. Ο σκοπός του μαθήματος είναι διττός: (α) Εισαγωγή στην ανάλυση και σύνθεση πληροφοριακών συστημάτων: θεωρητικά, τεχνικά και μεθοδολογικά ζητήματα και πρότυπα. (β) Ανάπτυξη συνθετικών ικανοτήτων και πρακτική εξάσκηση στη σχεδίαση πληροφοριακών συστημάτων. Περιεχόμενο του μαθήματος:
1) Ανάλυση και σχεδίαση πληροφοριακών συστημάτων: Πληροφορία, πληροφοριακό σύστημα, κύκλος ζωής πληροφοριακού συστήματος. Μέθοδοι ανάπτυξης πληροφοριακών συστημάτων. Οργάνωση εργασίας. Μοντέλα πληροφοριακών συστημάτων. Ανάλυση απαιτήσεων. Εννοιολογική μοντελοποίηση: Οντοκεντρικό σημασιολογικό μοντέλο, γλώσσα παράστασης γνώσεων Telos, μέθοδοι ανάπτυξης εννοιολογικών σχημάτων. Σχέση με το μοντέλο οντοτήτων-συσχετίσεων. Χρήση των μετα-επιπέδων. Περιορισμοί ακεραιότητας. Μοντέλα επεξεργασιών.
2) Ανάκτηση πληροφορίας: Μοντέλα, μέθοδοι και διάλογοι χρήσης για ανάκτηση πληροφορίας. Αναζήτηση πληροφορίας: ερωτηματικές γλώσσες, αναδίφηση (browsing), αναφορική διασύνδεση (hypertext), νοηματική πρόσβαση, πλοήγηση. Ομοιότητα και προσεγγιστική ταύτιση. Ανάλυση επιδόσεων συστημάτων ανάκτησης πληροφορίας.
3) Ευρετηριασμός: Μονοδιάστατος και πολυδιάστατος ευρετηριασμός, εφαρμογές σε βιβλιοθήκες και αρχειοθέτηση. Θησαυροί όρων, πρότυπο ISO. Αυτόματος ευρετηριασμός κειμένου.
4) Πρόσκτηση πληροφορίας και διαλειτουργικότητα: Εισαγωγή πληροφορίας: τύποι, μέθοδοι, αναχρησιμοποίηση. Κοινωνία ετερογενών σχημάτων. Συνεργασία συστημάτων: API, repositories, middleware.

ΗΥ-467 "Αναπαράσταση και Επεξεργασία Γνώσης σε Ευφυή Συστήματα"

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

ΗΥ-471 "Ψηφιακή Επεξεργασία Εικόνων"

Δειγματοληψία δισδιάστατων (2Δ) σημάτων. 2Δ διακριτά σήματα και συστήματα. 2Δ ορθομοναδιαίοι μετασχηματισμοί (Fourier, συνημιτόνου, ...). 2Δ ανάλυση σε ζώνες συχνοτήτων. Βελτίωση εικόνων. Ανίχνευση ακμών. Τμηματοποίηση εικόνων. Αποκατάσταση εικόνων. Συμπίεση εικόνων. Κατασκευή εικόνων από προβολές.

ΗΥ-472 "Υπολογιστική ΄Οραση"

Λεπτομερής εξέταση μεθόδων και συστημάτων υπολογιστικής όρασης που αποσκοπούν στην παραγωγή ρεαλιστικής ερμηνείας του κόσμου μέσω της ανάλυσης μίας ή περισσοτέρων εικόνων. Το μάθημα περιλαμβάνει μικρή εισαγωγή και σύνδεση με το πεδίο της επεξεργασίας εικόνων. Έμφαση δίνεται στην παρουσίαση των παραμέτρων συστημάτων όρασης, στη βαθμονόμησή τους, στην εξαγωγή συγκεκριμένων χαρακτηριστικών (feature extraction) από εικόνες, στην κατανόηση της τρισδιάστατης δομής μιας σκηνής (3D structure) από στερεοσκοπικά συστήματα, στην αντίληψη της κίνησης (motion perception), σε μεθόδους αναγνώρισης αντικειμένων (object recognition), και σε μεθόδους ανάκλησης εικόνων με βάση το περιεχόμενό τους (image retrieval by content). Tο μάθημα περιλαμβάνει επίσης παρουσίαση συγκεκριμένων εφαρμογών των παραπάνω στα πλαίσια ολοκληρωμένων συστημάτων.

ΗΥ-473 "Αναγνώριση Προτύπων"

Αναγνώριση Προτύπων (ΑΠ) ως διαδικασία αναγωγής/αντιστοίχισης/χαρακτηρισμού της πληροφορίας. Εισαγωγή στις στατιστικές μεθόδους ΑΠ. Ανύσματα/χώροι χαρακτηριστικών, συναρτήσεις διαφοροποίησης, τεστ μέγιστης πιθανοφάνειας, θεωρία αποφάσεων Bayes, εκτίμηση παραμέτρων μοντέλων, παραμετρικές μέθοδοι εκμάθησης, μη παραμετρικές μέθοδοι εκμάθησης, μέθοδος των k πλησιέστερων γειτόνων, σειριακές μέθοδοι αποφάσεων. Αυτόματη ομαδοποίηση, αλγόριθμος K-Means. Επιλογή και εξαγωγή χαρακτηριστικών. Χαλαρωτική ταξινόμηση, ταξινόμηση με χρήση Μαρκοβιανών πεδίων. Περιγραφή αντικειμένων με χρήση του μετασχηματισμού KLT (ιδιοχώρος), αναγνώριση μέσω προβολικών αναλοίωτων. Το μάθημα περιλαμβάνει μελέτη και εκπόνηση εκτενούς προγραμματιστικής εργασίας που βασίζεται σε μια σύγχρονη επιστημονική δημοσίευση.

ΗΥ-475 "Αυτόνομη Ρομποτική Πλοήγηση"

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

ΗΥ-476 "Δίκτυα Νευρωνικών Υπολογισμών"

Αλγόριθμος LMS (Least-Mean-Square).Το Perceptron. Perceptron πολλών στρωμάτων. Δίκτυα βάσης συναρτήσεων ακτινικής απόστασης. Δίκτυα επιλογής διανυσμάτων υποστήριξης. Ανάλυση κύριων συνιστωσών. Αυτο-οργάνωση βασισμένη στην ανταγωνιστική μάθηση.

ΗΥ-483 "Αλγόριθμοι Γράφων"

From applications to graphs. Review of fundamental graph algorithms. Optimization algorithms for graphs: flow, matchings, connectivity, routing, Euler tours, Hamiltonian tours, etc. Planar Graphs: Dual Graphs, Planar Orientations, Planar Representations, Visibility Representations. Graph Visualization: Graphs and Their Drawings, Paradigms for Graph Drawing, Divide and Conquer Techniques for Drawing Trees and Series-Parallel graphs, Flow and Orthogonal Drawings, Flow and Upward Planarity, Incremental Construction, Nonplanar Orientations, Layered Drawings of Digraphs, Force-Directed Methods, Circular Drawings of Graphs, Lower Bounds, Automatic Label Placement, Other Topics.

ΗΥ-490.05 "Εισαγωγή στο E-BUSINESS"

Περιεχόμενο μαθήματος: Συνέπειες του Internet στην βιομηχανία των τηλεπικοινωνιών (vertical disintegration). Ανταγωνισμός στην πραγματικότητα του Internet. Μοντέλα E-Business και E-Marketing. Κατανόηση της δομής και των χαρακτηριστικών των ηλεκτρονικών αγορών. Προοπτικές χρήσης των τεχνολογιών στις στις e-business και παραδείγματα ηλεκτρονικών οικονομιών που στηρίζονται στη συμμετοχή πρακτόρων (agents).

ΗΥ-490.81 "Επισκόπηση Αλγεβρικών Αλγορίθμων"

Το περιεχόμενο του μαθήματος έχει ως εξής: Υπολογιστικά μοντέλα. Αναπαράσταση ακεραίων, πινάκων, πολυωνύμων. Σύγκριση αλγεβρικών και αριθμητικών αλγορίθμων. Αποτελεσματική ακριβής αριθμητική μεταξύ ακεραίων, πινάκων πολυωνύμων. Υπολογισμός τιμών πολυωνύμων και παρεμβολή (interpolation). Fast Fourier Transform και εφαρμογή στον πολλαπλασιασμό ακεραίων. Κινέζικο θεώρημα υπολοίπων. Ορίζουσα πίνακα. Μέγιστος κοινός διαιρέτης. Πραγματικές ρίζες πολυωνύμου. Ακολουθίες Sturm. Ομοιότητες μεθόδου με τον ευκλείδειο αλγόριθμο για το Μ.Κ.Δ. Συστήματα πολυωνύμων: Κλασσικό και αραιό όριο στον αριθμό λύσεων. Ορισμός της κλασσικής και αραιής επιλύουσας (resultant) συστήματος. Υπολογισμός όλων των λύσεων μέσω ενός προβλήματος γραμμικής άλγεβρας. Γενίκευση του κανόνα Cramer για γραμμικά συστήματα. Δομημένοι πίνακες. Εφαρμογές στην γραφική μοντελοποίηση και την κινηματική κάμερα ρομπότ και μορίων.

ΗΥ-490.82 "Επισκόπηση Υπολογιστικής Γεωμετρίας"

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