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

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

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

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

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

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

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

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

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

Διαχείριση επικοινωνιακών δικτύων. Η διαχειριστική προσέγγιση TCP/IP και OSI. (NMF, SNMP, SNMPv. 2, CMIP, CMISE) Λειτουργικές περιοχές διαχείρισης. Αντικειμενοστραφής μοντελοποίηση. Βάσεις πληροφορίας διαχείρησης (ΜΙΒ). Διαχείρηση τοπικών δικτύων. Διαχείριση δικτύων ΙP, ευρυζωνικών δικτύων (ATM) Δίκτυα διαχείρισης τηλεπικοινωνιών (ΤΜΝ) Διαχείριση μέσω προγραμμάτων πλοήγησης. Η τεχνητή νοημοσύνη και τα έμπειρα συστήματα στη διαχείριση δικτύων. Λογισμικό διαχείρισης δικτύων.

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

  • Η Πληροφορική στην εκπαίδευση (ως γνωστικό αντικείμενο και εκπαιδευτικό μέσο)
  • Το πρόγραμμα σπουδών Πληροφορικής στην Ελληνική εκπαίδευση: Διαθεματικό Ενιαίο Πλαίσιο Προγράμματος Σπουδών (ΔΕΠΠΣ), η Πληροφορική στο Γυμνάσιο, στο Λύκειο και στην Επαγγελματική Εκπαίδευση (βασικοί άξονες διδασκαλίας, Αναλυτικό πρόγραμμα, Κύκλοι σπουδών)
  • Θεωρητικό πλαίσιο της διδακτικής: Διδακτικός μετασχηματισμός εννοιών της Πληροφορικής, Νοητικά μοντέλα και αναπαραστάσεις της Πληροφορικής, Τύποι γνώσεων στον προγραμματισμό,
  • Οι έννοιες της μεταβλητής, της επιλογής και της επανάληψης
  • Υπολογιστική σκέψη
  • Διδακτικές μέθοδοι για τη διδασκαλία προγραμματιστικών εννοιών: Εννοιολογικοί χάρτες, αξιοποίηση Logo-like περιβαλλόντων, Παιχνίδι ρόλων και αξιοποίηση αναλογιών στη διδακτική εννοιών Πληροφορικής, Μάθηση βασισμένη στο παιχνίδι (game-based learning), Εκπαιδευτική Ρομποτική 

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

Το μάθημα των Δομών Δεδομένων διδάσκεται στο 2ο εξάμηνο σπουδών του Προπτυχιακού Προγράμματος Σπουδών του Τμήματος Πληροφορικής. Σκοπός του μαθήματος είναι η μελέτη τρόπων οργάνωσης των δεδομένων, με στόχο την αποτελεσματική και αποδοτική επεξεργασία. Η διδασκαλία του μαθήματος περιλαμβάνει: οργάνωση δεδομένων με πίνακες, αναζήτηση δεδομένων σε ταξινομημένο πίνακα, γραμμικές και συνδεδεμένες λίστες, ουρές προτεραιότητας (priority queues), δένδρα αναζήτησης ισοζυγισμένα δένδρα αναζήτησης, μέθοδοι διάσχισης δένδρων αλγόριθμοι ταξινόμησης πινάκων, μέθοδοι κατακερματισμού (hashing) και μελέτη επίδοσης, δομές γράφων (graphs) και μέθοδοι αναζήτησης (π.χ., συντομότερα μονοπάτια). Το μάθημα είναι 6ωρο και 3 ώρες οι φοιτητές διδάσκονται θεωρία και τις άλλες 3 γίνεται εφαρμογή σε γλώσσα C++. 

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

Παιδαγωγικές προσεγγίσεις περιβαλλόντων Διαδικτύου για την υποστήριξη διαδικτυακής μάθησης (προσαρμοστικά περιβάλλοντα, συνεργατική μάθηση, κοινότητες πρακτικής, μάθηση βασισμένη στους διατιθέμενους πόρους). Πρότυπα και τυποποιήσεις που αφορούν εκπαιδευτικά περιβάλλοντα Διαδικτύου με έμφαση στην διαλειτουργικότητα για την ανταλλαγή εκπαιδευτικών πόρων, την ανταλλαγή δεδομένων ανάμεσα σε εκπαιδευτικούς οργανισμούς, την επικοινωνία εφαρμογών εκπαιδευτικού λογισμικού (HTML, XML, QTI, SCORM). Δημιουργία παιδαγωγικών σχεδιάσεων με περιπτώσεις χρήσης (use cases) και χρήση UML. Διαδικασία επιλογής ολοκληρωμένων περιβαλλόντων Διαδικτύου για την υποστήριξη διαδικτυακής μάθησης και εκπαίδευσης. Εργαλεία, τεχνολογίες και υπηρεσίες του Διαδικτύου και του Παγκόσμιου Ιστού για την υποστήριξη των παιδαγωγικών προσεγγίσεων και παρουσίαση ολοκληρωμένων περιβαλλόντων Διαδικτύου ανοιχτού κώδικα για την υποστήριξη διαδικτυακής μάθησης.

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

Σκοπός του μαθήματος είναι η εισαγωγή στις βασικές έννοιες, το θεωρητικό υπόβαθρο, τις μεθόδους, τους κανόνες, τις αρχές σχεδιασμού και τα εργαλεία της επιστήμης της Επικοινωνίας Ανθρώπου-Υπολογιστή (ΕΑΥ) ή Αλληλεπίδρασης Ανθρώπου-Υπολογιστή (Human-Computer Interaction, HCI). Η επιστημονική περιοχή ΕΑΥ έχει ως αντικείμενο αφενός τη μελέτη των φαινομένων που σχετίζονται με την αλληλεπίδραση ανθρώπων και υπολογιστών, αφετέρου την ανάπτυξη μεθόδων και εργαλείων για το σχεδιασμό, ανάπτυξη και αξιολόγηση διαδραστικών υπολογιστικών συστημάτων (interactive computer systems), δηλαδή συστημάτων που αλληλεπιδρούν σε μεγάλο βαθμό με τους χρήστες τους. 

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

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