Μετάβαση στο περιεχόμενο

Η επιστήμη των υπολογιστών

Τι μελετά, και πώς φτάσαμε από τον Turing ως σήμερα.

35 λεπτά

Θα μάθεις να

  1. Να περιγράφεις τι μελετά η επιστήμη των υπολογιστών και γιατί δεν ταυτίζεται με τον προγραμματισμό.
  2. Να ελέγχεις αν μια διαδικασία είναι αλγόριθμος με τα πέντε κριτήρια.
  3. Να κατατάσσεις ένα ερώτημα στον κλάδο της πληροφορικής που το μελετά.
  4. Να τοποθετείς στον χρόνο τους σταθμούς από τον Turing ως τον Παγκόσμιο Ιστό.

Τι μελετά

Η επιστήμη των υπολογιστών (computer science) μελετά τον υπολογισμό: τι μπορεί να υπολογιστεί, με πόσο κόστος, πώς αναπαρίσταται η πληροφορία και πώς χτίζονται τα συστήματα που κάνουν τη δουλειά στην πράξη.

Ο υπολογιστής είναι το εργαλείο της, όχι το αντικείμενό της. Μια φράση που αποδίδεται συχνά στον Edsger Dijkstra το λέει έτσι: η πληροφορική δεν αφορά τους υπολογιστές περισσότερο απ' όσο η αστρονομία αφορά τα τηλεσκόπια.

Ο αλγόριθμος

Η λέξη προέρχεται από το όνομα του Πέρση μαθηματικού al-Khwarizmi (9ος αιώνας), του οποίου τα βιβλία έμαθαν στην Ευρώπη το δεκαδικό σύστημα αρίθμησης.

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

ΚριτήριοΤι απαιτεί
Είσοδος (input)μηδέν ή περισσότερα δεδομένα δίνονται από έξω
Έξοδος (output)παράγεται τουλάχιστον ένα αποτέλεσμα
Καθοριστικότητα (definiteness)κάθε εντολή ορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της
Περατότητα (finiteness)ο αλγόριθμος τελειώνει μετά από πεπερασμένο πλήθος βημάτων
Αποτελεσματικότητα (effectiveness)κάθε εντολή είναι απλή και εκτελέσιμη στην πράξη

Οι κλάδοι

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

ΚλάδοςΤο ερώτημα που θέτειΣε αυτό το μάθημα
Θεωρία υπολογισμούΤι μπορεί να υπολογιστεί και με πόσο κόστος;υπολογισιμότητα, πολυπλοκότητα
Αλγόριθμοι και δομές δεδομένωνΠοιος είναι ο καλύτερος τρόπος να λυθεί ένα πρόβλημα;πολυπλοκότητα, αναδρομή
Αρχιτεκτονική υπολογιστώνΠώς είναι φτιαγμένη η μηχανή που εκτελεί τις εντολές;αρχιτεκτονική, αναπαράσταση
Λειτουργικά συστήματαΠώς μοιράζονται πολλά προγράμματα μία μηχανή;λειτουργικά
Δίκτυα υπολογιστώνΠώς μιλούν δύο υπολογιστές που δεν γνωρίζονται;δίκτυα σε επίπεδα
Γλώσσες προγραμματισμούΠώς περιγράφουμε έναν αλγόριθμο σε μηχανή;γλώσσες και υποδείγματα
Βάσεις δεδομένωνΠώς οργανώνονται και ανακτώνται μεγάλοι όγκοι δεδομένων;βάσεις δεδομένων
Τεχνητή νοημοσύνηΜπορεί μια μηχανή να μαθαίνει από παραδείγματα;—
Ασφάλεια και κρυπτογραφίαΠώς προστατεύεται η πληροφορία από όποιον δεν πρέπει να τη δει;—

Δεδομένα και πληροφορία

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

  • Δεδομένα (data) είναι ακατέργαστα στοιχεία: οι βαθμοί όλων των μαθητών ενός σχολείου, οι θερμοκρασίες κάθε ώρας ενός μήνα.
  • Πληροφορία (information) είναι ό,τι προκύπτει όταν τα δεδομένα επεξεργαστούν ώστε να απαντούν σε ένα ερώτημα: «ο μέσος όρος του τμήματος ανέβηκε», «ο Ιούλιος ήταν ο θερμότερος των τελευταίων δέκα ετών».

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

Από τον Turing ως σήμερα

ΧρονιάΣταθμός
περ. 825Ο al-Khwarizmi γράφει για τον υπολογισμό με το δεκαδικό σύστημα
1843Η Ada Lovelace δημοσιεύει σημειώσεις για την Αναλυτική Μηχανή του Charles Babbage, με ένα πρόγραμμα για τους αριθμούς Bernoulli
1854Ο George Boole δημοσιεύει την άλγεβρα της λογικής, που θα γίνει η γλώσσα των κυκλωμάτων
1936Ο Alan Turing ορίζει με ακρίβεια τι είναι «υπολογισμός», με τη μηχανή που φέρει το όνομά του
1945Ο John von Neumann περιγράφει τον υπολογιστή με αποθηκευμένο πρόγραμμα
1946Παρουσιάζεται δημόσια ο ENIAC, ένας από τους πρώτους ηλεκτρονικούς υπολογιστές γενικής χρήσης
1947Εφεύρεση του τρανζίστορ
1958Πρώτο ολοκληρωμένο κύκλωμα
1969Το ARPANET, πρόγονος του Διαδικτύου, συνδέει τους πρώτους κόμβους
1971Ο πρώτος εμπορικός μικροεπεξεργαστής χωράει ολόκληρη την κεντρική μονάδα σε ένα τσιπ
1989–1991Ο Tim Berners-Lee προτείνει και υλοποιεί στο CERN τον Παγκόσμιο Ιστό

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

Υπολογιστική σκέψη

Ο τρόπος που ένας επιστήμονας της πληροφορικής πλησιάζει ένα πρόβλημα λέγεται υπολογιστική σκέψη (computational thinking). Έχει τέσσερα συστατικά:

  1. Αποσύνθεση: σπάσε το πρόβλημα σε μικρότερα, που λύνονται ένα-ένα.
  2. Αναγνώριση προτύπων: βρες τι μοιάζει με κάτι που έχεις ήδη λύσει.
  3. Αφαίρεση (abstraction): κράτα μόνο όσα χρειάζονται για τη λύση και αγνόησε τα υπόλοιπα.
  4. Αλγοριθμικός σχεδιασμός: γράψε τη λύση ως βήματα που μπορεί να εκτελέσει κάποιος άλλος, άνθρωπος ή μηχανή.

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

Λυμένα παραδείγματα

Παράδειγμα 1

Είναι αλγόριθμος η διαδικασία: «Ξεκίνα με x = 1. Όσο το x είναι θετικό, αύξησε το x κατά 1. Στο τέλος τύπωσε το x»;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 2

Μια συνταγή λέει: «Βάλε 500 g αλεύρι, αλάτι όσο θέλεις και ψήσε μέχρι να γίνει». Ποιο κριτήριο παραβιάζει;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 3

Σε ποιον κλάδο ανήκει το ερώτημα «γιατί η σελίδα φορτώνει αργά όταν πολλοί χρήστες μπαίνουν ταυτόχρονα;»

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 4

Ο αλγόριθμος του Ευκλείδη λέει: «Όσο ο b δεν είναι 0, αντικατάστησε το ζεύγος (a, b) με το (b, υπόλοιπο της διαίρεσης a με b). Στο τέλος τύπωσε το a». Εκτέλεσέ τον για a=48a = 48, b=18b = 18 και έλεγξε την περατότητα.

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Ασκήσεις

Πρώτα ερωτήσεις με επιλογές: διαλέγεις, πατάς «Έλεγξε» και μαθαίνεις αμέσως αν το βρήκες και γιατί. Στο τέλος, λίγες ασκήσεις χωρίς επιλογές — εκεί κρύβεται μόνο η απάντηση.

Πολλαπλή επιλογήΆσκηση 1 από 14
Ποιο είναι το κεντρικό αντικείμενο μελέτης της επιστήμης των υπολογιστών;

Τα κατάφερες;

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

Λύσε τις ασκήσεις πιο πάνω και θα δεις εδώ πού στέκεσαι.