Υπολογιστική σκέψη (computational thinking)

Μετάφραση ενός άρθρου Μη έγκυρη διεύθυνση URL για PDF της Jeanette Wing καθηγήτριας στο τμήμα Επιστήμης Υπολογιστών του Carnegie Melon.

Υπολογιστική σκέψη (computational thinking)

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

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

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

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

Στην προσπάθεια να λύσουμε ένα συγκεκριμένο πρόβλημα , μπορεί να αναρωτηθούμε: Πόσο δύσκολο είναι στην επίλυσή του; και ποιος είναι ο καλύτερος τρόπος να το λύσουμε; Η επιστήμη των υπολογιστών στηρίζεται σε στέρεα θεωρητικά θεμέλια ώστε να απαντά με ακρίβεια σε τέτοιες ερωτήσεις. Η δυσκολία του προβλήματος καθορίζει τη δύναμη της μηχανής – της υπολογιστικής μηχανής που θα υπολογίσει τη λύση. Θα πρέπει να λάβουμε υπόψη μας το σύνολο εντολών της μηχανής, τους περιορισμούς πόρων και το λειτουργικό της περιβάλλον.

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

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

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

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

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

Σκεφτείτε αυτά τα καθημερινά παραδείγματα: Όταν η κόρη σας πάει στο σχολείο το πρωί, βάζει στη σάκα της τα πράγματα που θα χρειαστεί μέσα στη μέρα αυτό λέγεται προσκόμιση επιπλέον πληροφοριών και αποθήκευση στην κρυφή μνήμη. Όταν ο γιος σας χάνει τα γάντια του ζητάτε να θυμηθεί τα βήματα του, αυτό λέγεται οπισθοδρόμηση. Πότε σταματάς να νοικιάζεις εξοπλισμό του σκι και αγοράζεις δικό σου, αυτό λέγεται online αλγόριθμος. Σε ποια ουρά κάθεσαι στο σουπερμάρκετ; αυτό λέγεται μοντελοποίηση απόδοσης σε συστήματα με πολλούς εξυπηρετητές. Γιατί το τηλέφωνό σου δουλεύει ακόμη και όταν κόβεται το ρεύμα; αυτό λέγεται αποφυγή αποτυχίας και πλεονασμός στο σχεδιασμό. Πως ο Εντελώς Αυτόματος Έλεγχος Turing που Ξεχωρίζει Ανθρώπους από Υπολογιστές (Completely Automated Public Turing Test to Tell Computers and Humans Apart – CAPTCHA ), αναγνωρίζει τους ανθρώπους; αυτό λέγεται εκμετάλλευση της δυσκολίας επίλυσης δύσκολων προβλημάτων τεχνητής νοημοσύνης για να ξεγελάσει τους υπολογιστικούς πράκτορες.

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

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

Το πρόσφατο ενδιαφέρον των επιστημόνων της πληροφορικής για τη βιολογία προκύπτει από την πεποίθησή τους ότι οι βιολόγοι μπορούν να ωφεληθούν από την υπολογιστική σκέψη. Η προσφορά της επιστήμης των υπολογιστών στη βιολογία ξεπερνά την ικανότητα αναζήτησης μέσα σε αχανή δεδομένα ψάχνοντας για μοτίβα. Την ελπίδα ότι οι δομές δεδομένων και οι αλγόριθμοι – οι υπολογιστικές μας αφαιρέσεις και μέθοδοι – μπορούν να αναπαραστήσουν τη δομή των πρωτεϊνών με τρόπο που θα φωτίσει τη λειτουργία τους. Η υπολογιστική βιολογία αλλάζει τον τρόπο με τον οποίο οι βιολόγοι σκέφτονται. Παρόμοια, η υπολογιστική θεωρία παιγνίων αλλάζει τον τρόπο με τον οποίο σκέφτονται οι οικονομολόγοι, οι νανοϋπολογιστές τον τρόπο με τον οποίο σκέφτονται οι χημικοί, και οι κβαντικοί υπολογιστές τον τρόπο με τον οποίο σκέφτονται οι φυσικοί.

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

Τι είναι και τι δεν είναι

Η επιστήμη των υπολογιστών είναι η μελέτη του υπολογισμού – τι μπορεί να υπολογιστεί και πώς να το υπολογίσουμε. Η υπολογιστική σκέψη έχει τα ακόλουθα χαρακτηριστικά:

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

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

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

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

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

Από όλους, παντού. Η υπολογιστική σκέψη θα είναι μια πραγματικότητα τόσο εσωτερική στις ανθρώπινες προσπάθειες όσο μια φιλοσοφία.

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

Να εντοπίσουμε νέα προκλητικά επιστημονικά προβλήματα που απομένουν να κατανοηθούν και να επιλυθούν. Το πεδίο των προβλημάτων και των λύσεων περιορίζεται μόνο από τη δική μας περιέργεια και δημιουργικότητα και

Κάποιος μπορεί να πάρει πτυχίο στην επιστήμη των υπολογιστών και να κάνει τα πάντα. Κάποιος μπορεί να πάρει πτυχίο Αγγλικής Φιλολογίας ή μαθηματικών και να ακολουθήσει πλήθος διαφορετικών επαγγελματικών προοπτικών. Ομοίως κάποιος μπορεί να πάρει πτυχίο Επιστήμης Υπολογιστών και να κάνει καριέρα στη φαρμακευτική, στη νομική, στις επιχειρήσεις, στην πολιτική, σε κάθε είδους επιστήμη ή μηχανική ακόμη και στις τέχνες.

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

Αφήστε μια απάντηση