-
Α' Εξάμηνο
-
Μαθήματα κορμού πληροφορικής
-
Εισαγωγή στην Επιστήμη των Υπολογιστών
-
Εισαγωγή στον Προγραμματισμό Υπολογιστών
-
-
Μαθήματα κορμού μαθηματικών
-
Διακριτά Μαθηματικά
-
Μαθηματικός Λογισμός
-
-
Μαθήματα οικονομικών
-
Εισαγωγή στην Οικονομική Επιστήμη
-
-
-
Β' Εξάμηνο:
-
Μαθήματα κορμού πληροφορικής
-
Προγραμματισμός Υπολογιστών με JAVA
-
Σχεδίαση Ψηφιακών Συστημάτων
-
-
Μαθήματα κορμού μαθηματικών
-
Γραμμική Άλγεβρα και Εφαρμογές
-
Υπολογιστικά Μαθηματικά
-
-
Μαθήματα οικονομικών
-
Λογιστική
-
-
-
Γ' Εξάμηνο:
-
Μαθήματα κορμού πληροφορικής
-
Δομές Δεδομένων
-
Οργάνωση Συστημάτων Υπολογιστών
-
Προγραμματισμός Υπολογιστών με C++
-
-
Μαθήματα κορμού μαθηματικών
-
Πιθανότητες
-
-
-
Δ' Εξάμηνο:
-
Μαθήματα κορμού πληροφορικής
-
Αλγόριθμοι
-
Αυτόματα και Πολυπλοκότητα
-
Βάσεις Δεδομένων
-
Λειτουργικά Συστήματα
-
-
Σημείωση: Δείτε τη τελευταία γραμμή κάθε παραγράφου για τις τεχνολογίες που χρησιμοποιούνται.
Εισαγωγή στην Επιστήμη των Υπολογιστών
-
Συνοπτική περιγραφή στα θέματα που ενδιαφέρουν την Επιστήμη των Υπολογιστών.
-
Περιλαμβάνει την αλγοριθμική λύση προβλημάτων, τον προγραμματισμό υπολογιστών, την επεξεργασία δεδομένων και τη λειτουργία συστημάτων και δικτύων υπολογιστών σε θεωρητικές βάσεις.
-
Εισαγωγή στην HTML
Για την εισαγωγή στις έννοιες του προγραμματισμού σε συμβολική γλώσσα μπορείτε να χρησιμοποιήσετε το Lia.
Εισαγωγή στον Προγραμματισμό Υπολογιστών
-
Εισαγωγικό μάθημα στον προγραμματισμό. Γνωριμία με θεμελιώδεις έννοιες τύπων δεδομένων και εκτέλεσης αλγορίθμων, δομές ελέγχου ροής προγράμματος, πράξεις, χρήση και δημιουργία συναρτήσεων και βασικό χειρισμό αρχείων.
-
Εισαγωγή στην Java
Προγραμματισμός Υπολογιστών με Java
-
Αντικείμενο του μαθήματος είναι η διδασκαλία του αντικειμενοστραφούς προγραμματισμού σε βάθος, και προχωρημένων τεχνικών προγραμματισμού και υλοποίησης αλγορίθμων ενώ περιλαμβάνει και το σχεδιασμό γραφικών διεπαφών.
-
Αποτελεί τη συνέχεια του μαθήματος Εισαγωγή στον Προγραμματισμό Υπολογιστών.
-
Το μάθημα περιλαμβάνει προγραμματισμό σε Java και εκμάθηση του Netbeans
Σχεδίαση Ψηφιακών Συστημάτων
-
Αρχές δυαδικής αριθμητικής. Άλγεβρα Boole και λογικές πύλες. Μέθοδοι απλοποίησης συναρτήσεων και κυκλωμάτων με πίνακες Karnaugh.
-
Σχεδίαση συνδυαστικών κυκλωμάτων. Δισταθή παλμοκυκλώματα (flip flops). Σχεδίαση σύγχρονων ακολουθιακών κυκλωμάτων.
-
Υλοποίηση μονάδων ελέγχου μικροεπεξεργαστών (ALUs).
Χρησιμοποιείται το πακέτο CAD Quartus II της Altera χρησιμοποιώντας την γλώσσα VHDL.
Υπολογιστικά Μαθηματικά
-
Αριθμοί και συστήματα κινητής υποδιαστολής, σφάλματα και μετάδοση σφαλμάτων στους υπολογισμούς.
-
Αριθμητική επίλυση εξισώσεων. Τύποι αριθμητικής παραγώγισης. Σφάλματα αποκοπής. Αριθμητική ολοκλήρωση. Αριθμητική επίλυση γραμμικών συστημάτων.
-
Νόρμες και δείκτης κατάστασης πίνακα. Ευστάθεια και τάξη μεθόδων.
Δομές Δεδομένων
-
Παρουσιάζονται οι βασικές δομές δεδομένων και η χρήση τους στην ανάπτυξη προγραμμάτων.
-
Εξοικείωση με την έννοια της δόμησης δεδομένων και το ρόλο των δομών δεδομένων στην υλοποίηση αλγορίθμων.
Για την υλοποίηση των δομών δεδομένων χρησιμοποιείται η γλώσσα προγραμματισμού Java.
Οργάνωση Συστημάτων Υπολογιστών
-
Δομή και λειτουργία του υλισμικού υπολογιστών. Οργάνωση και δομή κύριας μνήμης, αποθήκευση και παράσταση δεδομένων.
-
Αριθμητική υπολογιστών. Σωλήνωση και παράλληλοι υπολογιστές.
-
Λειτουργία και έλεγχος των περιφερειακών συσκευών. Μαγνητικές και οπτικές συσκευές. Δευτερεύουσα μνήμη και ιεραρχία μνήμης. Παγίδες, διακοπές και συστήματα ελέγχου εισόδου/εξόδου.
-
Προγραμματισμός σε επίπεδο γλώσσας μηχανής και συμβολικής γλώσσας.
Προγραμματισμός Υπολογιστών με C++
-
Εισαγωγή στο προγραμματισμό με
C++
. Διαδικαστικός προγραμματισμός, αντικειμενοστραφής προγραμματισμός. Λέξεις κλειδιά της γλώσσας. Δείκτες και θέσεις μνήμης. -
Τάξεις, κατασκευαστές, καταστροφείς. Pass by value, pass by reference. Ελευθέρωση μνήμης.
Το περιβάλλον εργασίας είναι το BloodShed DevC++
.
Αλγόριθμοι
-
Bασικές αρχές αλγορίθμων. Διαίρει και βασίλευε. Αναδρομή. Ταξινόμηση. Γράφοι και γραφήματα.
-
Αποστάσεις, αναζήτηση σε βάθος ή πλάτος. Συντομότερες διαδρομές. Δυναμικός προγραμματισμός.
-
Βάρη ακμών. Γραμμικός προγραμματισμός. NP-πληρότητα. Εφαρμογές παράστασης γράφων σε Java.
Αυτόματα και Πολυπλοκότητα
-
Πεπερασμένα αυτόματα, Αυτόματα στοίβας, Μηχανές Turing, Επιλύσιμα προβλήματα,
-
Μη επιλύσιμα προβλήματα (κλάσεις P, NP, NP-complete προβλήματα).
Βάσεις Δεδομένων
-
Διαγράμματα Οντοτήτων-Συσχετίσεων. Αρχές Σχεδιασμού. Σχεσιακά Μοντέλα. Εισαγωγή στην MS-SQL και MS-SQL-Server. Σχεσιακή Aλγεβρα.
-
Ανάπτυξη εφαρμογών Ιστού οδηγούμενων από Βάσεις Δεδομένων.
-
Constraints και Triggers. Transactions. Indexing. Τεχνικές εξουσιοδότησης. Μη σχεσιακές γλώσσες επερωτήσεων.
Χρησιμοποιείται: MS-SQL 2008, MS-SQL-Server 2008, xPath, xQuery.
Λειτουργικά Συστήματα
-
Επικοινωνία Διεργασιών (IPC, pipes). Παραλληλία (Concurency). Αμοιβαίος αποκλεισμός, σηματοφορείς, race conditions, συγχρονισμός διεργασιών. Deadlocks, detection and recovery.
-
Οργάνωση πυρήνα. Μονολιθικά και Αποκεντρωτικά συστήματα. Χρονοπρογραμματισμός CPU. Διακοπές και παγίδες.
-
Επικοινωνία με περιφεριακές συσκευές, τερματικά, εκτυπωτές, μνήμη, σκληροί δίσκοι (IO Management).
-
Διαχείρηση μνήμης, σελιδοποίηση, τεμαχισμός, πολιτικές. Εφαρμογές σε UNIX συστήματα. Βασικά προγράμματα και εντολές.
Εισαγωγή σε shell-scripting. Εισαγωγή στη C.