This course introduces undergraduate students to the fields of computational technology and communication. The course focuses on both content knowledge relevant to computer science and academic mastery of the field as this is evident through academic language and writing skills.

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

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

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

Το μάθημα μέχρι το 2013 ονομαζόταν Αντικειμενοστρεφής Ανάλυση. Για το εαρινό εξάμηνο 2014-2015 θα γίνεται κάθε Παρασκευή 9 με 11 στην αίθ Β. και στη συνέχεια 11 με 12 στο εργαστήριο Γ.
Αντικείμενο του μαθήματος είναι (α) η εισαγωγή στα Πληροφοριακά Συστήματα (β) η Επιχειρηματική Αρχιτεκτονική και (γ) η εκμάθηση των αρχών της Αντικειμενοστρεφούς Ανάλυσης (Ανάλυσης Λογισμικού με Αντ/φή τρόπο) με εφαρμογή της καθιερωμένης ως προτύπου μεθοδολογίας UML. Άλλα θέματα που μελετώνται είναι η ευέλικτη μέθοδος ICONIX, τα πρότυπα σχεδίασης, οι μετρικές ποιότητας σχεδίων, η ανάστροφη τεχνολογία λογισμικού (reverse engineering). Η εφαρμογή της θεωρίας και των αποτελεσμάτων της ανάλυσης στο επίπεδο του κώδικα γίνεται στο εργαστήριο με χρήση εργαλείων όπως το ArchiMate και το ArgoUML. Το εργαστήριο είναι άτυπο και η συμμετοχή σε αυτό προαιρετική. Στο πλαίσιο του μαθήματος προβλέπεται η εκπόνηση εργασίας αντίστοιχης με εκείνη της Τεχνολογίας Λογισμικού, βάρους 40%.
Συγγράμματα: Πληροφοριακά συστήματα : Σύγχρονη ανάλυση και σχεδίαση Jeffrey A. Hoffer, Joey F. George, Joseph S. Valacich · μετάφραση Γεώργιος Σίσιας · επιμέλεια Αλέξανδρος Χατζηγεωργίου.
Αντικειμενοστρεφής Ανάπτυξη Λογισμικού με τη UML, Βασίλης Γερογιάννης, Γιώργος Κακαρόντζας, Αχιλλέας Καμέας, Γιάννης Σταμέλος, Πάνος Φιτσιλής, Κλειδάριθμος. Επίσης: Software Metrics: A Rigorous Approach, N. Fenton, S.L.Pfleeger
https://archive.org/stream/softwaremetricsr00fent#page/18/mode/2up

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

Τεχνικές μέτρησης και εργαλεία ( Measurement techniques and tools). Eπιλογή του φόρτου εργασίας (Workload selection). Χαρακτηρισμός του φόρτου εργασίας (Workload characte­rization). Σχεδιασμός της παραγωγικής ικανότητας (Capacity planning). Βαθμολόγηση επιδόσεων (Benchmarking). Παρακολούθηση (Monitoring). Παρουσίαση των δεδομένων (Data presentation). Πειραματικοί σχεδιασμοί και ανάλυση δεδομένων (Experimental design and data analysis). Μοντέλα ουρών (Queueing models). Τύποι στοχαστικών διαδικασιών (Types of stochastic processes). Petri Nets. Η Μ/Μ/1 ουρά (Μ/Μ/1 queue). Η Μ/Μ/m ουρά (M/M/m queue). Ουρές με πεπερασμένη χωρητικότητα (Queues with finite buffers). Δίκτυα ουρών (Queueing networks). Μοντέλα δικτύων ουρών συστημάτων υπολο­γιστών (Queueing network models of computer systems). Νόμοι λειτουργικότητας (Operational laws). Ανάλυση της μέσης τιμής (Mean-Value Analysis, MVA). Προσεγγιστική ανάλυση της μέσης τιμής (Approximate MVA). Απόδοση του Web (Web performance).

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

Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης. Αριθμητική επίλυση μη γραμμικών εξισώσεων. Αριθμητική επίλυση γραμμικών συστημάτων. Πολυωνυμική παρεμβολή. Splines. Βέλτιστες προσεγγίσεις σε ευκλείδειους χώρους-ελάχιστα τετράγωνα. Αριθμητική παραγώγιση και ολοκλήρωση. Αριθμητική επίλυση συνήθων διαφορικών εξισώσεων. Εφαρμογές των ανωτέρω με χρήση μαθηματικού λογισμικού (Mathematica/Matlab). 

Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης. Αριθμητική επίλυση μη γραμμικών εξισώσεων. Αριθμητική επίλυση γραμμικών συστημάτων. Πολυωνυμική παρεμβολή. Splines. Βέλτιστες προσεγγίσεις σε ευκλείδειους χώρους-ελάχιστα τετράγωνα. Αριθμητική παραγώγιση και ολοκλήρωση. Αριθμητική επίλυση συνήθων διαφορικών εξισώσεων. Εφαρμογές των ανωτέρω με χρήση μαθηματικού λογισμικού (Mathematica/Matlab).

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

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

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

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

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

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