Ενότητα 1η: Εισαγωγή στους Υπολογιστές - Aρχές λειτουργίας και τεχνολογία
Παρουσίαση του μαθήματος. Η γενική εικόνα του υπολογιστή. Η μνήμη και το μοντέλο von Neumann. Το πρόγραμμα ελέγχου - εκτέλεση εντολών. Η τρέχουσα τεχνολογία: ηλεκτρονική - ψηφιακή - δυαδική. Το τρανζίστορ και η συρρίκνωσή του. Παραγωγή ολοκληρωμένων κυκλωμάτων.
Ενότητα 2η: Πράξεις με δυαδικούς αριθμούς - λογικές πράξεις
Πράξεις με δυαδικούς αριθμούς. Bits και Bytes. Λογικές πράξεις με bits. Η λογική συνάρτηση και η πύλη NOT. Η λογική συνάρτηση και η πύλη (Ν)AND. Η λογική συνάρτηση και η πύλη (Ν)OR. Οι συναρτήσεις XOR και XNOR. Λογικές πράξεις σε ομάδες bits. Μάσκες AND, OR, XOR. Ολίσθηση bits.
Συμπληρωματικό υλικόΕνότητα 3η: Πράξεις με δυαδικούς αριθμούς - αριθμητικές πράξεις
Πράξεις με δυαδικούς αριθμούς. Bits και Bytes. Μετατροπή δεκαδικού σε δυαδικό. Δεκαεξαδικό σύστημα. Φυσικοί και Ακέραιοι αριθμοί. Συμπλήρωμα ως προς 2. Πρόσθεση μη προσημασμένων και προσημασμένων δυαδικών αριθμών. Ημιαθροιστής και πλήρης αθροιστής. Η έννοια της υπερχείλισης. Κλασματικοί Αριθμοί. Αριθμοί κινητής υποδιαστολής. Πράξεις με αριθμούς κινητής υποδιαστολής. Παράδειγμα πρόσθεσης.
Συμπληρωματικό υλικόΕνότητα 4η: Αναπαράσταση Μη Αριθμητικών Δεδομένων - αναπαραστάσεις κειμένου στον υπολογιστή
Αναπαράσταση δεδομένων με δυαδικούς αριθμούς. Θέματα αποθήκευσης στη μνήμη: little- και big-endian αποθήκευση. Αναπαραστάσεις κειμένου. Ο κώδικας ASCII και οι επεκτάσεις του. Αναπαράσταση Unicode και κωδικοποίηση κατά UCS-2 και UTF-8.
Διαφάνειες ενότητας.
UTF-8: παραδείγματα κωδικοποίησης/αποκωδικοποίησης.
Ενότητα 5η: Οργάνωση Υπολογιστών (Ι) - η κεντρική μονάδα επεξεργασίας
Η κεντρική μονάδα επεξεργασίας και τμηματά της. Μονοπάτι δεδομένων (datapath). Αριθμητική-λογική μονάδα (ΑΛΜ) και καταχωρητές. Έλεγχος εκτέλεσης εντολών και Program Counter. Αρχιτεκτονικές συνόλου εντολών. Ο κύκλος μηχανής. Διακοπές (interrupts) και σφάλματα (exceptions).
Συμπληρωματικό υλικόΕνότητα 6η: Οργάνωση Υπολογιστών (ΙΙ) - κύρια και κρυφή μνήμη
Διευθύνσεις και μοντέλο μνήμης. Τεχνολογίες και οργάνωση μνημών. Διασύνδεση επεξεργαστή-μνήμης. Ελεγκτής κύριας μνήμης. Ιεραρχίες μνήμης. Κρυφή μνήμη και η αρχή της τοπικότητας. Ανάγνωση και εγγραφή μέσω της κρυφής μνήμης.
Συμπληρωματικό υλικόΕνότητα 7η: Οργάνωση Υπολογιστών (IΙI) - συσκευές εισόδου-εξόδου
Συσκευές εισόδου-εξόδου (Ε/Ε ή input-output - I/O): χαρακτηριστικά. Βασικές συσκευές Ε/Ε. Μαγνητικοί δίσκοι, SSDs και προσπέλαση πληροφορίας. Διασύνδεση συσκευών Ε/Ε. Ελεγκτές και περιφερειακοί δίαυλοι Ε/Ε. Χώροι διευθύνσεων: αντιστοιχισμένη στη μνήμη και απομονωμένη Ε/Ε. Εξυπηρέτηση αιτήσεων Ε/Ε. Polling και διακοπές (interrupts). Μετακίνηση δεδομένων στη μνήμη και DMA.
Ενότητα 8η: Λειτουργικά Συστήματα - Διαχείριση επεξεργαστή, μνήμης και συσκευών Ε/Ε
Το Λειτουργικό Σύστημα ως μέρος του Υπολογιστή. Διαχείριση πόρων. Μονοπρογραμματισμός και πολυπρογραμματισμός. Τεχνικές διαχείρισης μνήμης: σελιδοποίηση και εικονική μνήμη. Προγράμματα, εργασίες και διεργασίες. Χρονοπρογραμματισμός. Συγχρονισμός διεργασιών. Διαχείριση συσκευών.
Ενότητα 9η: Λειτουργικά Συστήματα (II) - Διαχείριση αρχείων
Τι είναι ένα αρχείο; Δυαδικά αρχεία και αρχεία κειμένου. Αρχεία εκτελέσιμου κώδικα και κατασκευή τους. Συστήματα αρχείων. Διαμερίσεις δίσκων. Αποθήκευση αρχείων και δέσμευση μπλοκ: συνεχόμενα μπλοκ, διασυνδεδεμένες λίστες, έμμεση δεικτοδότηση. Ιεραρχική δομή καταλόγων και μονοπάτι αρχείου. Δικαιώματα χρήσης αρχείων.
Συμπληρωματικό υλικό- Παράδειγμα κώδικα C για εγγραφή σε δυαδικό αρχείο και αρχείο κειμένου.
Ενότητα 10η: Δίκτυα υπολογιστών και το Διαδίκτυο.
Δίκτυα και δικτυακά πρωτόκολλα. Επίπεδα δικτυακών πρωτοκόλλων. Το μοντέλο OSI. Διάσχιση πρωτοκόλλων κατά την αποστολή και λήψη δεδομένων. Τα επίπεδα πρωτοκόλλων στο Διαδίκτυο. Πρωτόκολλα TCP/IP. Διάσχιση επιπέδων στο Διαδίκτυο. Διαδικτυακές εφαρμογές: τα μοντέλα client-server και peer-to-peer. Ο παγκόσμιος ιστός και τα τμήματα που τον συγκροτούν: web server, web client, γλώσσα HTML, πρωτόκολλο HTTP. Εφαρμογή ηλεκτρονικού ταχυδρομείου (e-mail). Σχήματα παραδοσιακού e-mail και web mail. Η εφαρμογή DNS. Ιεραρχία DNS servers.
Ενότητα 11η: Αλγόριθμοι και Δομές Δεδομένων (Ι) - Εισαγωγικές έννοιες.
Αλγόριθμοι και βασικές αλγοριθμικές δομές. Αναδρομή. Πολυπλοκότητα ενός αλγορίθμου και ο ασυμπτωτικός συμβολισμός Ο(). Εγγραφές και πίνακες (arrays). Λειτουργίες σε πίνακες. Αναζήτηση σε πίνακα, δυαδική αναζήτηση. Ταξινόμηση. Οι αλγόριθμοι insertion sort και quicksort. Διασυνδεδεμένες λίστες.