Μάθημα 1: Εισαγωγή στην Επιστήμη των Υπολογιστών
1.1 Η Ονομασία και η Ταυτότητα της Επιστήμης των Υπολογιστών
Η επιστήμη που σήμερα αναφερόμαστε ως Επιστήμη των Υπολογιστών ή Πληροφορική έχει γνωρίσει διαφορετικές ονομασίες ανά χώρα, ακαδημαϊκή παράδοση και ιστορική περίοδο. Στην αγγλική γλώσσα κυριαρχεί ο όρος Computer Science, ο οποίος εστιάζει στην επιστημονική μελέτη του υπολογισμού, των αλγορίθμων και της πληροφορίας. Στην ελληνική βιβλιογραφία χρησιμοποιείται ο όρος Πληροφορική, που περιλαμβάνει τόσο τις θεωρητικές αρχές όσο και τις πρακτικές εφαρμογές των υπολογιστικών συστημάτων.
Αξίζει να σημειωθεί ότι σε ορισμένα πανεπιστήμια του εξωτερικού προτιμάται ο όρος Informatics, ο οποίος δίνει έμφαση στη διαχείριση και επεξεργασία της πληροφορίας, ενώ σε άλλα καθιερώθηκε η φράση Information Technology (IT), που αναφέρεται περισσότερο στις εφαρμογές και τις τεχνολογικές υλοποιήσεις. Η διαφοροποίηση αυτή δεν είναι τυχαία, καθώς υποδηλώνει διαφορετικές προσεγγίσεις: η Επιστήμη των Υπολογιστών ως ακαδημαϊκή ερευνητική κατεύθυνση και η Τεχνολογία Πληροφορίας ως εφαρμοσμένο πεδίο επαγγελματικής πράξης.
Η επιστημονική κοινότητα στην Ελλάδα έχει συζητήσει εκτενώς τη χρήση των όρων. Ορισμένοι θεωρούν ότι η λέξη «Πληροφορική» είναι πιο περιεκτική και συμβατή με τη διεθνή «Informatics», ενώ άλλοι υποστηρίζουν ότι ο όρος «Επιστήμη Υπολογιστών» αποδίδει καλύτερα τη φύση της επιστήμης, η οποία δεν περιορίζεται μόνο στη διαχείριση της πληροφορίας αλλά περιλαμβάνει και τη μελέτη της ίδιας της διαδικασίας του υπολογισμού.
1.2 Αντικείμενο και Ερευνητικά Πεδία
Η Επιστήμη των Υπολογιστών είναι ένας πολυδιάστατος κλάδος που συνδυάζει θεωρία, μεθοδολογία και πρακτική εφαρμογή. Το αντικείμενό της δεν περιορίζεται στη χρήση των υπολογιστών αλλά εστιάζει στη συστηματική μελέτη των υπολογιστικών διαδικασιών. Στο πεδίο αυτό περιλαμβάνονται:
Αλγόριθμοι και Πολυπλοκότητα: η μελέτη του τρόπου με τον οποίο σχεδιάζονται και αξιολογούνται οι αλγόριθμοι, καθώς και τα όρια του τι μπορεί να υπολογιστεί.
Δομές Δεδομένων: η οργάνωση και αποθήκευση δεδομένων με αποδοτικό τρόπο.
Τεχνητή Νοημοσύνη και Μηχανική Μάθηση: η ανάπτυξη συστημάτων που «μαθαίνουν» και λαμβάνουν αποφάσεις.
Δίκτυα Υπολογιστών και Επικοινωνίες: μελέτη των τρόπων με τους οποίους οι υπολογιστές συνδέονται και ανταλλάσσουν πληροφορίες.
Ασφάλεια και Κρυπτογραφία: προστασία δεδομένων και επικοινωνιών από κακόβουλες ενέργειες.
Ανθρώπου–Υπολογιστή Αλληλεπίδραση (HCI): σχεδίαση εργαλείων και διεπαφών φιλικών προς τον χρήστη.
Λογισμικό και Μηχανική Λογισμικού: μεθοδολογίες για την ανάπτυξη, συντήρηση και αξιολόγηση πολύπλοκων προγραμμάτων.
Υπολογιστικά Συστήματα και Αρχιτεκτονική: μελέτη της δομής, της απόδοσης και του σχεδιασμού των υπολογιστικών μηχανών.
Τα ερευνητικά αυτά πεδία δείχνουν ότι η Επιστήμη των Υπολογιστών είναι ταυτόχρονα θεωρητική επιστήμη και μηχανική τέχνη. Από τη μία, στηρίζεται σε μαθηματικά μοντέλα, τυπικές γλώσσες και λογική· από την άλλη, μεταφράζει αυτή τη θεωρητική γνώση σε συστήματα που επηρεάζουν άμεσα την κοινωνία.
1.3 Γιατί να Μελετήσουμε την Επιστήμη των Υπολογιστών;
Η ανάγκη για μελέτη της Επιστήμης των Υπολογιστών προκύπτει από το γεγονός ότι η πληροφορική έχει καταστεί βασικός μοχλός προόδου σε όλους τους τομείς της ανθρώπινης δραστηριότητας. Οι λόγοι είναι πολλαπλοί:
Επιστημονικός και ερευνητικός λόγος:
Η επιστήμη αυτή θέτει τα θεωρητικά θεμέλια για την κατανόηση της έννοιας του υπολογισμού. Χωρίς τη συμβολή της, δεν θα ήταν δυνατόν να μελετήσουμε την έννοια της πολυπλοκότητας, να αξιολογήσουμε αν ένα πρόβλημα είναι επιλύσιμο ή να κατανοήσουμε τα όρια των μηχανών.
Κοινωνικός και οικονομικός λόγος:
Οι υπολογιστές χρησιμοποιούνται σε όλους τους κλάδους της οικονομίας, από τις τράπεζες και τις επιχειρήσεις μέχρι την υγεία και τις μεταφορές. Η κατανόηση του τρόπου με τον οποίο λειτουργούν βοηθάει στην ορθολογική λήψη αποφάσεων και στη βελτίωση της παραγωγικότητας.
Εκπαιδευτικός λόγος:
Η Πληροφορική έχει πλέον ενταχθεί ως βασικό μάθημα σε όλα τα επίπεδα εκπαίδευσης. Η διδασκαλία της ενισχύει την αλγοριθμική σκέψη, την ικανότητα επίλυσης προβλημάτων και την ανάπτυξη δεξιοτήτων που είναι απαραίτητες στον 21ο αιώνα.
Πολιτιστικός και πολιτισμικός λόγος:
Οι υπολογιστές έχουν αλλάξει τον τρόπο με τον οποίο επικοινωνούμε, ψυχαγωγούμαστε και παράγουμε πολιτισμό. Από τον κινηματογράφο και τα βιντεοπαιχνίδια έως τη διαδικτυακή δημοσιογραφία, η Επιστήμη των Υπολογιστών επηρεάζει την καθημερινή ζωή σε βάθος
1.4 Ιστορική Αναδρομή
Η ιστορία της Επιστήμης των Υπολογιστών είναι άρρηκτα συνδεδεμένη με την ανθρώπινη προσπάθεια να επινοήσει τρόπους για την ταχύτερη και ακριβέστερη επεξεργασία της πληροφορίας. Από τα πρώτα εργαλεία υπολογισμού μέχρι τους σύγχρονους υπερυπολογιστές, η πορεία αυτή αποτυπώνει την εξέλιξη της τεχνολογίας αλλά και της ίδιας της επιστημονικής σκέψης.
Ο άβακας (2η χιλιετία π.Χ.): Αποτελεί το πρώτο γνωστό εργαλείο για την εκτέλεση αριθμητικών πράξεων, ιδιαίτερα στην Αίγυπτο, την Κίνα και τη Μεσοποταμία.
Ο Μηχανισμός των Αντικυθήρων (2ος αιώνας π.Χ.): Μια πρωτοποριακή συσκευή αστρονομικών υπολογισμών, που χρησιμοποιούσε οδοντωτούς τροχούς και θεωρείται ο πρώτος «αναλογικός υπολογιστής».
Pascal και Leibniz (17ος αιώνας): Ο Blaise Pascal κατασκευάζει τη «Pascaline», μια μηχανή που μπορούσε να εκτελεί προσθέσεις και αφαιρέσεις, ενώ ο Gottfried Leibniz βελτιώνει τη σχεδίαση εισάγοντας δυνατότητες πολλαπλασιασμού και διαίρεσης.
Charles Babbage (19ος αιώνας): Σχεδιάζει τη «Διαφορική Μηχανή» και την «Αναλυτική Μηχανή». Η τελευταία θεωρείται πρόδρομος του σύγχρονου προγραμματιζόμενου υπολογιστή.
Ada Lovelace: Συνεργάτιδα του Babbage, θεωρείται η πρώτη προγραμματίστρια, καθώς συνέγραψε οδηγίες εκτέλεσης για την Αναλυτική Μηχανή.
Alan Turing (20ός αιώνας): Διατυπώνει τη θεωρητική έννοια της «Μηχανής Turing», που θεμελιώνει τον υπολογισμό και αποδεικνύει τι μπορεί και τι δεν μπορεί να υπολογιστεί.
ENIAC (1946): Ο πρώτος γενικής χρήσης ηλεκτρονικός υπολογιστής, με περισσότερες από 18.000 λυχνίες κενού, ο οποίος μπορούσε να εκτελεί χιλιάδες πράξεις το δευτερόλεπτο.
Γενιές υπολογιστών: Από τις λυχνίες κενού (1η γενιά), στα τρανζίστορ (2η γενιά), στα ολοκληρωμένα κυκλώματα (3η γενιά), και τελικά στους μικροεπεξεργαστές (4η γενιά).
Σύγχρονη εποχή: Η διάδοση του προσωπικού υπολογιστή, η εμφάνιση του διαδικτύου, η κινητή τεχνολογία και το cloud computing έχουν μετασχηματίσει την καθημερινότητα.
1.5 Η Διεπιστημονικότητα της Πληροφορικής
Η Επιστήμη των Υπολογιστών συνδέεται με πολλά επιστημονικά πεδία:
Μαθηματικά: η θεωρία γραφημάτων, η λογική και η ανάλυση πολυπλοκότητας είναι θεμέλια για την πληροφορική.
Ηλεκτρολογία και Φυσική: οι αρχές της ηλεκτρονικής και της κβαντικής μηχανικής καθορίζουν την αρχιτεκτονική των υπολογιστών.
Γλωσσολογία: συμβάλλει στη δημιουργία γλωσσών προγραμματισμού και στην κατανόηση της επεξεργασίας φυσικής γλώσσας.
Ιατρική και Βιολογία: η υπολογιστική βιολογία και η βιοπληροφορική ανοίγουν νέους δρόμους στην έρευνα.
Κοινωνικές Επιστήμες: μελετούν την επίδραση της πληροφορικής στην κοινωνία και τον πολιτισμό.
1.6 Σύγχρονες Τάσεις και Τεχνολογίες
Η Επιστήμη των Υπολογιστών εξελίσσεται διαρκώς. Ορισμένες από τις πιο σημαντικές τάσεις σήμερα είναι:
Τεχνητή Νοημοσύνη και Μηχανική Μάθηση: χρησιμοποιούνται για αναγνώριση εικόνας, αυτόματη μετάφραση, αυτόνομα οχήματα.
Big Data και Cloud Computing: τεράστιες ποσότητες δεδομένων επεξεργάζονται σε υπολογιστικά νέφη, προσφέροντας νέες δυνατότητες ανάλυσης.
Κυβερνοασφάλεια: η προστασία των δεδομένων και των συστημάτων αποτελεί πλέον κρίσιμο πεδίο, με αυξανόμενες απειλές.
Internet of Things (IoT): «έξυπνες» συσκευές που επικοινωνούν μεταξύ τους και με τον άνθρωπο.
Κβαντικοί Υπολογιστές: μια αναδυόμενη τεχνολογία που υπόσχεται να αλλάξει ριζικά τον τρόπο επίλυσης σύνθετων προβλημάτων.
1.7 Κοινωνικές και Ηθικές Διαστάσεις
Η διάδοση των υπολογιστών εγείρει σημαντικά κοινωνικά και ηθικά ζητήματα:
Ιδιωτικότητα: η συλλογή και επεξεργασία προσωπικών δεδομένων δημιουργεί κινδύνους παραβίασης της ιδιωτικής ζωής.
Ασφάλεια: οι κυβερνοεπιθέσεις απειλούν κρίσιμες υποδομές.
Fake News και παραπληροφόρηση: τα κοινωνικά δίκτυα μπορούν να διαδώσουν ψευδείς πληροφορίες με τεράστιες συνέπειες.
Ψηφιακό χάσμα: η άνιση πρόσβαση στις τεχνολογίες δημιουργεί κοινωνικές ανισότητες.
Εργασιακές αλλαγές: η αυτοματοποίηση οδηγεί σε μετασχηματισμό της αγοράς εργασίας, καταργώντας παραδοσιακές θέσεις και δημιουργώντας νέες.
1.8 Αλγόριθμοι και Θεμέλια Υπολογισμού
Η έννοια του αλγορίθμου βρίσκεται στον πυρήνα της Επιστήμης των Υπολογιστών. Ένας αλγόριθμος είναι ένα πεπερασμένο σύνολο βημάτων που ορίζει τον τρόπο με τον οποίο θα πραγματοποιηθεί μία διεργασία. Ένας αλγόριθμος πρέπει να έχει τα παρακάτω χαρακτηριστικά:
Είσοδος(Input): Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δε δίνονται τιμές δεδομένων εμφανίζεται όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών.
Έξοδος(Output): Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή (δεδομένων) ως αποτέλεσμα προς το χρήστη ή προς ένα άλλο αλγόριθμο.
Καθοριστικότητα (definiteness): Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της. Π.χ. Σε μία διαίρεση να λαμβάνεται υπόψη και η περίπτωση όπου ο διαιρετέος λαμβάνει μηδενική τιμή. Τυπικές περιπτώσεις η διαίρεση με το μηδέν, υπόριζος ποσότητα αρνητική, κλπ. Προβλήματα καθοριστικότητας αντιμετωπίζονται συχνά με τη λογική της επιλογής, δηλ. Αν α>0 τότε ….. αλλιώς ……
Περατότητα (Finiteness): Ο αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Μία διαδικασία που δεν τελειώνει μετά από συγκεκριμένο/πεπερασμένο αριθμό βημάτων λέγεται απλά υπολογιστική διαδικασία.
Αποτελεσματικότητα (effectiveness): Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή (και όχι σύνθετη). Δηλαδή μία εντολή δεν αρκεί να έχει ορισθεί αλλά πρέπει να είναι και εκτελέσιμη.
Παράδειγμα Αλγορίθμου: Αναζήτηση αριθμού σε τηλεφωνικό κατάλογο.
(έστω υπάρχει μόνο ένας “Παπαδόπουλος” στον κατάλογο)
Ξεφύλλισε όλο τον τηλεφωνικό κατάλογο. Όταν βρεις το όνομα “Παπαδόπουλος” κατέγραψε το τηλέφωνο.
Ξεφύλλισε όλο τον τηλεφωνικό κατάλογο ανά δύο σελίδες. Όταν βρεις το όνομα “Παπαδόπουλος” κατέγραψε το τηλέφωνο.
Άνοιξε τον τηλεφωνικό κατάλογο στην μέση. Ανάλογα με το γράμμα στο οποίο βρίσκεσαι ξεφύλλισε το ένα μέρος του καταλόγου ή το άλλο. Όταν βρεις το όνομα “Παπαδόπουλος” κατέγραψε το τηλέφωνο.
Παράδειγμα Αλγορίθμου: Αλγόριθμος του Ευκλείδη
Εύρεση του ΜΚΔ δύο θετικών ακεραίων
Περιγραφή: Ο αλγόριθμος θεωρεί ότι η είσοδός του αποτελείται από δύο θετικούς ακέραιους και υπολογίζει το μέγιστο κοινό διαιρέτη των δύο αυτών τιμών.
Διαδικασία:
Βήμα 1. Θέσε Μ και Ν τη μεγαλύτερη και μικρότερη τιμή των δύο τιμών εισόδου, αντίστοιχα.
Βήμα 2. Διαίρεσε το Μ με το Ν και ονόμασε το υπόλοιπο της διαίρεσης R.
Βήμα 3. Αν το R δεν είναι 0, τότε θέσε στο Μ την τιμή του Ν, θέσε στο Ν την τιμή του R, και επίστρεψε στο βήμα 2. Διαφορετικά, ο μέγιστος κοινός διαιρέτης είναι η τρέχουσα τιμή που έχει το Ν.

1.9 Πρόγραμμα
Για να μπορέσει μια μηχανή όπως ένας υπολογιστής να εκτελέσει μια εργασία πρέπει να επινοηθεί ο κατάλληλος αλγόριθμος και να αναπαρασταθεί σε μια μορφή η οποία είναι συμβατή με την μηχανή. Η αναπαράσταση ενός αλγόριθμου ονομάζεται πρόγραμμα (program).
Πρόγραμμα: Ακολουθία εντολών τις οποίες πρέπει να εκτελέσει ένας υπολογιστής για να παραγάγει το επιθυμητό για το χρήστη αποτέλεσμα
Η διαδικασία της ανάπτυξης ενός προγράμματος μέσω της κωδικοποίησης του σε μία μορφή συμβατή με την μηχανή, και της εισαγωγής του στην μηχανή, ονομάζεται προγραμματισμός (programming).
1.10 Υλικό & Λογισμικό
Οι υπολογιστές μας βοηθούν στη επίλυση προβλημάτων και στην εκτέλεση διάφορων εργασιών, δέχονται δεδομένα και προχωρούν στην επεξεργασία και αποθήκευση τους. Στην συνέχεια μας παρουσιάζουνται τα αποτελέσματα της επεξεργασίας με μορφές κατανοητές και χρήσιμες. Ένα σύστημα υπολογιστή αποτελείται από διάφορα μέρη, δηλαδή τις μονάδες του υπολογιστή που είναι επιφορτισμένες με μία ή περισσότερες λειτουργίες.
Τα προγράμματα αναφέρονται γενικά ως λογισμικό (software), σε αντιδιαστολή με τον ίδιο τον υλικό εξοπλισμό ο οποίος είναι γνωστός ως υλικό (hardware). Κάθε υπολογιστής αποτελείται από δυο μέρη που συνεργάζονται μεταξύ τους: το Υλικό και το Λογισμικό.
Υλικό Μέρος (Hardware) του υπολογιστή είναι τα μηχανικά και τα ηλεκτρονικά του μέρη, ό,τι δηλαδή μπορούμε να δούμε και να αγγίξουμε.
Το Υλικό αποτελείται από ένα σύνολο κατηγοριοποιημένων συσκευών.
Συσκευές Εισόδου: Μονάδες με τις οποίες εισάγουμε στον υπολογιστή δεδομένα που προέρχονται από το εξωτερικό του περιβάλλον.
Συσκευές Εξόδου: Μονάδες με τις οποίες παρουσιάζονται τα της επεξεργααποτελέσματα σίας και χρησιμοποιούνται απο το εξωτερικό περιβάλλον.
Συσκευών Εισόδου / Εξόδου: Oταν μία συσκευή μπορεί να στέλνει και να δέχεται δεδομένα από τον υπολογιστή, τότε χαρακτηρίζεται συσκευή εισόδου-εξόδου
Κεντρική Μονάδα: Μητρική κάρτα, Κ.Μ.Ε. (Κεντρική Μονάδα Επεξεργασίας) – ή πιο απλά Επεξεργαστής, Μνήμη RAM, ROM (όπου είναι αποθηκευμένο το BIOS), Σκληρός Δίσκος, Κάρτες επέκτασης (Κάρτα γραφικών, Κάρτα ήχου, Κάρτα Δικτύου) κ.ά.

Για να μπορεί το Υλικό Μέρος του υπολογιστή να εκτελεί και την πιο απλή επεξεργασία δεδομένων, χρειάζεται ένα σύνολο οδηγιών. Οι οδηγίες καθοδηγούν βήμα προς βήμα τον υπολογιστή και συντονίζουν τα διάφορα εξαρτήματα του, ώστε να πραγματοποιηθεί η εργασία που θέλουμε. Το σύνολο αυτών των εντολών που κατευθύνουν με κάθε λεπτομέρεια τον υπολογιστή, για να εκτελεί μία συγκεκριμένη εργασία, ονομάζεται πρόγραμμα. Το σύνολο των προγραμμάτων που χρησιμοποιούνται από τους υπολογιστές ονομάζεται Λογισμικό (Software).
Το λογισμικό(software) είναι το σύνολο εντολών που τίθενται στην διάθεση του χρήστη προκειμένου να υποδείξει στον Η/Υ το είδος των πράξεων που θα πρέπει να εκτελέσει. Το λογισμικό που βρίσκουμε σε έναν υπολογιστή μπορούμε να το χωρίσουμε σε δυο μεγάλες κατηγορίες: Στο Λογισμικό Εφαρμογών και στο Λογισμικό Συστήματος.
Στην κατηγορία του Λογισμικού Εφαρμογών περιλαμβάνεται μια μεγάλη ποικιλία διαφορετικών προγραμμάτων, κατασκευασμένων με τέτοιο τρόπο, ώστε να εκτελούν συγκεκριμένες εργασίες σύμφωνα με τις απαιτήσεις και τις ανάγκες μας. Ανάλογα με τη δραστηριότητα που αναπτύσσουμε επιλέγουμε και το αντίστοιχο πρόγραμμα. Μερικά παραδείγματα Λογισμικού Εφαρμογών είναι:Τα προγράμματα παρουσίασης, τα προγράμματα διαχείρισης προσωπικών πληροφοριών (π.χ ημερολόγιο, τηλεφωνικοί κατάλογοι, λίστα υπενθύμισης εργασιών) και τα παιχνίδια.
Στην κατηγορία του Λογισμικού Συστήματος περιλαμβάνονται όλα τα προγράμματα που χρησιμοποιούνται για τον έλεγχο της λειτουργίας του υπολογιστή και τη δημιουργία και εκτέλεση των προγραμμάτων εφαρμογών. Παρέχει τις αναγκαίες υπηρεσίες του υλικού στο λογισμικό εφαρμογών. Το βασικότερο Λογισμικό της κατηγορίας αυτής είναι το Λειτουργικό Σύστημα (Operating System).
Σε αντίθεση με το υλικό του υπολογιστή, τα προγράμματα δεν μπορούμε να τα αγγίξουμε, είναι άυλα, όπως δεν μπορούμε να αγγίξουμε και τις νότες ενός τραγουδιού.
Προσωπικός Υπολογιστής (Personal Computer)
Ο προσωπικός υπολογιστής ή PC (αγγλικά: personal computer) είναι ένας ηλεκτρονικός υπολογιστής με αυτόνομη μονάδα επεξεργασίας, οθόνη και πληκτρολόγιο που χρησιμοποιείται συνήθως από έναν χρήστη, και κυρίως για εφαρμογές όπως η επεξεργασία κειμένου, ο προγραμματισμός, τα παιχνίδια και η σύνδεση στο Διαδίκτυο. Η σημαντική αλλαγή που επέφερε η χρήση του Η/Υ στην οργάνωση της καθημερινής μας ζωής είναι ότι όλες οι εργασίες και δραστηριότητές μας εκτελούνται με μεγάλη ταχύτητα και ακρίβεια.
Οι προσωπικοί υπολογιστές μπορούν να κατηγοριοποιηθούν με κριτήριο το μέγεθος τους και την “φορητότητα”:
- Ο επιτραπέζιος υπολογιστής
- Ο φορητός υπολογιστής
- Ο υπολογιστής χειρός ή αλλιώς Προσωπικός Ψηφιακός Βοηθός – PDA
Οι υπολογιστές της πρώτης γενιάς των προσωπικών υπολογιστών είχαν αποκληθεί μικροϋπολογιστές (όπως ο Altair 8800) και πωλούνταν σε μικρές ποσότητες σε αυτούς που είχαν τις γνώσεις (ερασιτέχνες, μηχανικούς) να τους συναρμολογούν με έτοιμα σετ εξαρτημάτων, και να τους προγραμματίζουν, αφού ο προγραμματισμός ήταν αρκετά πολύπλοκος. Η δεύτερη γενιά, που έγινε γνωστή και σαν οικιακός υπολογιστής (home computer), είναι κυρίως αυτό που ονομάζουμε σήμερα “προσωπικός υπολογιστής”. Για πρώτη φορά ο όρος χρησιμοποιήθηκε στο περιοδικό New Scientist το 1964, σε μια σειρά άρθρων με τίτλο : “Ο κόσμος το 1984”.
Οι πρώτοι υπολογιστές που μπορούν να ονομαστούν “προσωπικοί” ήταν οι πρώτοι μη-κεντρικοί υπολογιστές LINC και PDP-8. Με τα σημερινά δεδομένα ήταν πολύ μεγάλοι (στο μέγεθος ψυγείου), ακριβοί (περίπου 50.000 δολάρια), και είχαν μικρές μαγνητικές μνήμες (περίπου 4096 λέξεις των 12 bit για τον LINC). Η ανάπτυξη του μικροεπεξεργαστή άλλαξε τα πάντα, αφού έριξε αρκετά χαμηλά (μια τάξη μεγέθους) το κόστος αγοράς ενός υπολογιστή.
1.11 Bit & Byte
Bit: ηλεκτρονικό κύκλωμα στο εσωτερικό του Η/Υ μπορεί να βρίσκεται σε μία από δύο καταστάσεις: κλειστό ή ανοιχτό
Τύποι Δεδομένων: Τα δεδομένα σήμερα συναντώνται σε διάφορες μορφές όπως αριθμοί, κείμενο, εικόνες, ήχος και βίντεο. Όλοι οι τύποι δεδομένων του πραγματικού κόσμου μετατρέπονται σε μία ενιαία αναπαράσταση όταν αποθηκεύονται στον υπολογιστή και ξαναπαίρνουν την αρχική τους μορφή όταν βγαίνουν από τον υπολογιστή. Αυτή η καθολική μορφή ονομάζεται σχήμα μπιτ (bit pattern).
Σχήματα Μπιτ: Για την αναπαράσταση των διαφόρων τύπων δεδομένων χρησιμοποιούμε σχήματα μπιτ (bit patterns), δηλαδή ακολουθίες ή όπως μερικές φορές λέγονται συμβολοσειρές bit (π.χ 10001010). Τα δεδομένα κωδικοποιούνται όταν εισέρχονται όταν υπολογιστή και αποκωδικοποιούνται όταν παρουσιάζονται στο χρήστη.
Byte (Μπάιτ): Ένα σχήμα μπιτ με μήκος 8 μπιτ ονομάζεται μπάιτ. Ο όρος αυτός χρησιμοποιείται επίσης για τη μέτρηση του μεγέθους της μνήμης ή άλλων συσκευών αποθήκευσης.
1.12 Συνοψίζοντας την Εισαγωγή
Η Επιστήμη των Υπολογιστών είναι ένας κλάδος με ισχυρά θεωρητικά θεμέλια αλλά και τεράστια πρακτική σημασία. Από την ιστορική πορεία των υπολογιστικών μηχανών μέχρι τις σύγχρονες εφαρμογές της Τεχνητής Νοημοσύνης, η εξέλιξή της δείχνει ότι πρόκειται για επιστήμη που διαμορφώνει το παρόν και το μέλλον της κοινωνίας.
Το μάθημα αυτό έθεσε τις βάσεις για την κατανόηση των βασικών εννοιών: την ονομασία και την ταυτότητα του κλάδου, τα κύρια ερευνητικά πεδία, τους λόγους για τους οποίους μελετάται, τα ιστορικά στάδια ανάπτυξης, τον ρόλο των αλγορίθμων, τις διεπιστημονικές διασυνδέσεις, τις σύγχρονες τάσεις και τις κοινωνικές διαστάσεις. Οι ενότητες που ακολουθούν στο μάθημα θα εμβαθύνουν σε εξειδικευμένα θέματα, αξιοποιώντας θεωρία και πρακτική εφαρμογή.