Σύντομη ιστορία των υπολογιστών
Η επίλυση υπολογιστικών προβλημάτων πρακτικής σημασίας ήταν μεγάλο μέρος των πρώιμων μαθηματικών. Ανάγκες όπως η καταγραφή εμπορικών συναλλαγών, ο υπολογισμός του εμβαδού ενός χωραφιού, το μέτρημα των ζώων ενός κοπαδιού, οδήγησαν τους ανθρώπους στην ανάπτυξη υπολογιστικών μεθόδων και αργότερα στην εφεύρεση υπολογιστικών μηχανών. Η πρώτη συσκευή μέτρησης, ο άβακας χρησιμοποιόταν στην Ασία χιλιάδες χρόνια πρίν, πιθανώς, από το 2000 π.Χ. Χρειάστηκε να περάσουν σχεδόν 3500 χρόνια προτού επινοηθεί ένας πραγματικός μηχανικός υπολογιστής. Το 1640 ο γάλλος φιλόσοφος Blaise Pascal κατασκεύασε μια μηχανική συσκευή πρόσθεσης (σκίτσο δεξιά). Αργότερα, το 1673 ο Γερμανός μαθηματικός Gottfried Leibniz κατασκεύασε μια συσκευή η οποία μπορούσε εκτός από πρόσθεση και αφαίρεση να εκτελεί πολλαπλασιαμό και διαίρεση. Περαιτέρω πρόοδος στις υπολογιστικές μηχανές επιτεύχθει 200 χρόνια αργότερα. Ο Βρετανός μαθηματικός Charles Babbage σχεδίασε δύο υπολογιστικές μηχανές, τις οποίες ονόμασε Διαφορική Μηχανή και Αναλυτική Μηχανή. Αν και δεν πρόλαβε να τις υλοποιήσει, τα σχέδια των δύο αυτών υπολογιστικών μηχανών περιελάμβαναν πολλά από τα βασικά χαρακτηριστικά των σύγχρονων μηχανών. Το σημαντικότερο ίσων όλων ήταν το γεγονός ότι η υπολογιστική μηχανή του Babbage μπορούσε να προγραμματιστεί έτσι ώστε να εκτελεί διάφορες λειτουργίες. Η Augusta Ada Byron, κόρη του λόρδου Byron, σχεδίασε προγράμματα για την υπολογιστική μηχανή του Babbage ως εκ τούτου έμεινε στην ιστορία ως η πρώτη προγραμματίστρια.
Το όνειρο του Babbage για ένα πραγματικά προγραμματιζόμενο υπολογιστή πραγματοποιήθηκε τελικά στη δεκαετία του 1940 όταν σχεδιάστηκε και κατασκευάστηκε ο πρώτος ηλεκτρονικός υπολογιστής (ENIAC) από τους J. Presper Eckert και John Mauchly του Πανεπιστημίου της Πενσυλβάνιας. Ο ENIAC είχε 18 000 λυχνίες κενού και καταλάμβανε μια αίθουσα διάστασης 9 x 15 μέτρα! Το 1946 ο μαθηματικός John von Neumann του Ινστιτούτου Προηγμένων Μελετών του Πανεπιστημίου Princeton είχε την ιδέα να αποθηκεύονται τα προγράμματα και τα δεδομένα στην ίδια εσωτερική μνήμη. Αυτή η ιδέα, όσο προφανής και αν φαίνεται σήμερα, απλοποίησε σε μεγάλο βαθμό τον προγραμματισμό των ηλεκτρονικών υπολογιστών και αποτελεί ακόμα και τώρα τη βασική αρχή λειτουργίας τους. Με τον όρο προγραμματισμό εννοούμε την τροφοδοσία ενός υπολογιστή με ένα σύνολο εντολών - ένα πρόγραμμα - το οποίο προσδιορίζει τα βήματα που απαιτούνται για την επίλυση ενός προβλήματος.
Η εφεύρεση της κρυσταλλοδιόδου (transistor) το 1947 και του ολοκληρωμένου κυκλώματος (integrated circuit, chip) το 1959 οδήγησαν την ραγδαία ανάπτυξη των ηλεκτρονικών υπολογιστών. Οι σημερινοί υπολογιστές είναι ταχύτατοι, αξιόπιστοι, καταναλώνουν ελάχιστη ενέργεια και έχουν τεράστια μνήμη. Σαν μέτρο σύγκρισης, σκεφτείται ότι ο μικροεπεξεργαστής ενός κινητού τηλεφώνου είναι τουλάχιστον 1000 φορές πιό γρήγορος από τον ENIAC, έχει εκατομμύρια φορές περισσότερη μνήμη και καταναλώνει λιγότερο από το 1/100 000 της ενέργειας.
Τα περισσότερα υπολογιστικά συστήματα σήμερα αποτελούνται από τα ακόλουθα συστατικά: την κεντρική μονάδα επεξεργασίας (central processing unit, cpu), την εσωτερική μνήμη ή πρωτεύουσα αποθήκευση, τη δευτερεύουσα αποθήκευση και συσκευές εισόδου/εξόδου. Η cpu εκτελεί τους υπολογισμούς και ελέγχει τη λειτουργία ολόκληρου του υπολογιστή ακολουθόντας εντολές αποθηκευμένες στην μνήμη του υπολογιστή. Η μνήμη περιέχει πέρα από το πρόγραμμα, δεδομένα που απαιτούνται στη διάρκεια των υπολογισμών. Παραδείγματα συσκευών δευτερεύουσας αποθήκευσης αποτελούν οι σκληροί δίσκοι (hard disks), οι δισκέτες και τα CD/DVD, καθώς και τα φορητά μέσα αποθήκευσης (USB sticks, κ.λ.π.). Η διαφορά της πρωτεύουσας μνήμης από τη δευτερεύουσα είναι ότι η πρώτη μπορεί να διατηρεί τις πληροφορίες μόνο όταν τροφοδοτείται με ρεύμα και, συνήθως, το μέγεθός της είναι πολύ μικρότερο από αυτό της δευτερεύουσας. Στις συσκευές εισόδου/εξόδου συμπεριλαμβάνονται το πληκτρολόγιο, η οθόνη του υπολογιστή και το ποντίκι.