Μπορούμε να μάθουμε προγραμματισμό παίζοντας; | Christos Malliarakis | TEDxUniversityofMacedonia
Μετάφραση: Nikoleta Dimitriou Επιμέλεια: Chryssa Takahashi
«Τα όρια της γλώσσας μου είναι τα όρια του κόσμου μου». Πόσες φορές το έχουμε σκεφτεί αυτό;
Ότι η γλώσσα μας οριοθετεί
τον κόσμο στον οποίο μπορούμε να κινηθούμε. Συνήθως, όταν ακούμε αυτή τη φράση,
ο νους μας βέβαια πάει στην εκμάθηση ξένων γλωσσών,
Αγγλικών, Γαλλικών, Γερμανικών.
Υπάρχουν όμως και άλλου είδους γλώσσες,
Γλώσσες που οδηγούν στη διεύρυνση των ορίων του κόσμου μας
με έναν τρόπο λίγο διαφορετικό,
όπως είναι για παράδειγμα οι γλώσσες προγραμματισμού. Θα μπορούσα να σας πω πολλά
για να σας πείσω γιατί πρέπει να μάθετε να προγραμματίζετε, γιατί είναι σημαντικός ο προγραμματισμός,
και γιατί το να μάθετε να προγραμματίζετε
θα σας βοηθήσει να οδηγηθείτε στη δική σας Ιθάκη, στον δικό σας προορισμό,
να υλοποιήσετε δηλαδή,
τα δικά σας όνειρα σε μια απόλυτα ψηφιοποιημένη εποχή
- όποια και αν είναι αυτά.
Για να σας πείσω, λοιπόν,
δεν θα σας πω ότι μόλις το 2 τοις εκατό των φοιτητών μαθαίνουν προγραμματισμό,
ενώ υπολογίζεται πως τα επόμενα πέντε χρόνια, το 60 τοις εκατό όλων των δουλειών παγκοσμίως θα σχετίζεται με τον προγραμματισμό και την πληροφορική. Δεν θα σας πω, επίσης, ότι οι δουλειές αυτές υπολογίζεται να είναι 75% καλύτερα αμοιβόμενες από το μέσο εθνικό εισόδημα - 75%, σκεφτείτε το, σχεδόν διπλάσιο.
Δεν θα σας πω, επίσης, ότι στην Αμερική
υπολογίζεται ότι το 2020 θα υπάρχουν 400.000 φοιτητές που θα γνωρίζουν προγραμματισμό
ενώ θα απαιτούνται 1.400.000 εργαζόμενοι που θα γνωρίζουν προγραμματισμό, ένα κενό ή μάλλον μια ευκαιρία, όπως την παρουσιάζουν, 500 δις δολαρίων. Θα μπορούσα επίσης να αναφερθώ, αλλά ούτε κι αυτό έχω σκοπό να σας το πω, σε γίγαντες της πληροφορικής που άλλαξαν τη ροή της on-line ιστορίας.
όπως, για παράδειγμα, ο Στιβ Τζομπς, που έχει δηλώσει πως όλοι πρέπει να μαθαίνουν προγραμματισμό
γιατί το να μαθαίνεις προγραμματισμό σου μαθαίνει να σκέφτεσαι. Ο Μαρκ Ζούκεμπεργκ από την άλλη, δημιουργός του Facebook,
πιστεύει πως σε λίγα χρόνια μια γλώσσα προγραμματισμού θα διδάσκεται
όπως ακριβώς και οποιαδήποτε άλλη γλώσσα στον κόσμο.
Αντίθετα, λοιπόν, για να σας πείσω,
θα σας ζητήσω να αναζητήσετε, στιγμιαία,
τις πιο ευτυχισμένες στιγμές της ζωής σας.
Κατευθείαν, μπαμ!
Σκεφτείτε ποιες ήταν.
Αυτές οι στιγμές που θα σκεφτείτε,
θα καταλήξετε στο συμπέρασμα ότι σίγουρα
είχαν να κάνουν είτε με κάτι που πετύχατε
και νιώσατε πολύ περήφανοι για αυτό
- και μπράβο σας -
είτε στιγμές που δημιουργήσατε κάτι σπουδαίο. Δημιουργία - ταυτόσημη έννοια με την ευτυχία. Δημιουργήσαμε και νιώσαμε ευτυχισμένοι.
Δημιουργία οικογένειας, παιδιών, πλούτου
- ό,τι είναι για τον καθέναν ο πλούτος.
Όταν ήμουν φοιτητής, λοιπόν,
στην εφαρμοσμένη πληροφορική στο Πανεπιστήμιο Μακεδονίας,
και μας έβαζαν κάποιο πολύ δύσκολο πρόγραμμα
να υλοποιήσουμε οι καθηγητές μας,
συνήθως βασιζόταν σε ακόμη δυσκολότερο αλγόριθμο,
καθόμουν ώρες, μέρες να το λύσω, το συζητούσα με φίλους μου,
και όταν τελικά, αν κατάφερνα να το λύσω,
ένιωθα μια πολύ σπουδαία, έτσι, πολύ ευχάριστη αίσθηση, μια αίσθηση ευφορίας,
ότι δημιούργησα κάτι σπουδαίο.
Ένιωσα σαν να είχα δημιουργήσει κάτι σημαντικό
και στην πράξη μπορεί να ήταν μια μπαρούφα για κάποιον που γνωρίζει προγραμματισμό.
Παρόλα αυτά εγώ ένιωθα σπουδαία
και αυτό το συναίσθημα,
μετά από συζητήσεις που είχα με φίλους μου
τουλάχιστον αυτούς που προσπαθούσαν να το λύσουν, δεν ήταν ένα συναίσθημα που το ένιωθα μόνο εγώ,
το ένιωθαν και όλοι γύρω μου.
Δημιουργία λοιπόν.
Ο προγραμματισμός άρα, εκτός απ' το ότι σε βάζει
στη λογική του να μαθαίνεις να σκέφτεσαι, όπως έχει πει ο Στιβ Τζομπς,
εκτός δηλαδή του ότι σε βάζει σε μια λογική του τι θέλω να πετύχω και πώς θα το πετύχω
κάνοντας μικρά διακριτά βήματα κάθε φορά,
για να φτάσω στον τελικό στόχο μου, στην Ιθάκη μου,
αλγοριθμοποιώντας δηλαδή τη σκέψη μου
- γιατί αυτό είναι ο προγραμματισμός -
σου δίνει τη δυνατότητα να δημιουργήσεις.
Δεν είναι τυχαίο
πως το 90% των σύγχρονων start-ups
ασχολούνται με την πληροφορική και τον προγραμματισμό και το διαδίκτυο. Δεν είναι τυχαίο πως τα τελευταία χρόνια
έχει γίνει μια τεράστια έκρηξη στις πωλήσεις υπολογιστών,
λάπτοπ, smart συσκευών,
που όλοι έχουμε αρκετές, τουλάχιστον μία.
Όλοι σας, λοιπόν, χρησιμοποιείτε προγράμματα.
Για να κάνετε τη δουλειά σας, να επικοινωνήσετε, να διασκεδάσετε.
Xρησιμοποιείτε προγράμματα, μ' έναν όμως πολύ σημαντικό περιορισμό.
Τον περιορισμό που το ίδιο το πρόγραμμα σας βάζει. Κάνετε όσα σας έχει επιτρέψει ο προγραμματιστής να κάνετε Αν δεν υπάρχει πρόγραμμα για αυτό που θέλετε να κάνετε,
δεν μπορείτε να το κάνετε.
Μαθαίνοντας, λοιπόν, εσείς οι ίδιοι να προγραμματίζετε,
μπορείτε να πραγματοποιήσετε ψηφιακά
οτιδήποτε μπορείτε να σκεφτείτε,
οτιδήποτε θέλετε, οτιδήποτε επιθυμείτε.
Κι αυτό το κάτι δε σημαίνει απαραίτητα κάτι σε business, οικονομικά, μαθηματικά,
αλλά μπορείτε να δημιουργήσετε τέχνη, μουσική, βίντεο, τα πάντα. Ό,τι σκεφτείτε.
Γιατί στην τελική όλα αυτά που θα σκεφτείτε, και όλα αυτά που μπορείτε, δυνητικά, να δημιουργήσετε έχουν να κάνουν με τον βασικό ορισμό της επιστήμης της πληροφορικής. Μια επιστήμη που προκύπτει απ' τον συνδυασμό δύο πολύ βασικών λέξεων.
Ποιες είναι αυτές οι λέξεις;
Αφ' ενός η πληροφορία, -προφανές- και η αυτοματική.
Είναι μια αυτοματοποιημένη διαδικασία δηλαδή. Kαι όλα τα προγράμματα,
είτε αυτά που χρησιμοποιείτε,
είτε αυτά που μπορείτε εσείς οι ίδιοι να φτιάξετε κάνουν την ίδια ακριβώς λειτουργία:
λαμβάνουν δεδομένα,
τα επεξεργάζονται με έναν προκαθορισμένο τρόπο που εμείς οι ίδιοι έχουμε ορίσει,
και τα μετατρέπουν σε πληροφορίες.
Όλα τα προγράμματα βασίζονται σε αυτόν τον θεμελιώδη κύκλο της πληροφορίας.
Στον θεμελιώδη κύκλο της πληροφορικής.
Σκεφτείτε, λοιπόν, τον προγραμματισμό σαν έναν λευκό καμβά
πάνω στον οποίο θα μπορείτε να ζωγραφίσετε ό,τι θέλετε.
Θα είστε σε θέση να κατασκευάσετε ό,τι προγράμματα θέλετε
χωρίς κανείς να μπορεί να περιορίσει τη δημιουργικότητά σας.
Και, εντάξει, το επόμενο ερώτημα
που φυσικά όλοι μπορεί να σκέφτεστε
είναι «Καλά μας τα λες,
αλλά εγώ σπουδάζω μαθηματικά, φυσική, ιατρική, οικονομικά, κάτι τελείως άσχετο.
Δεν σπούδασα προγραμματισμό,
και δεν είναι εύκολο να μάθω».
Η αλήθεια είναι αυτή.
Η διδασκαλία και η εκμάθηση του προγραμματισμού δεν είναι εύκολη. Τουλάχιστον, αυτό δείχνουν σχετικές έρευνες. Εγώ έχω αντίθετη άποψη, αλλά οι έρευνες με διαψεύδουν.
Ακόμη και οι φοιτητές της πληροφορικής
αποτυγχάνουν κυρίως σε μαθήματα που έχουν να κάνουν με τον προγραμματισμό. Και ακριβώς επειδή από τη μία
υπάρχουν όλες οι απαιτήσεις από το οικονομικό περιβάλλον για την εκμάθηση του προγραμματισμού,
από την άλλη φυσικά υπάρχει η θέληση
του να ξεκινήσετε να μαθαίνετε προγραμματισμό
για όλους αυτούς τους λόγους,
να δημιουργήσετε και να φτιάξετε σπουδαία πράματα, ξεπερνώντας τα όποια εμπόδια,
σκεφτήκαμε και δημιουργήσαμε το CMX,
ένα εκπαιδευτικό παιχνίδι, ένα εκπαιδευτικό MMORPG
για τη διδασκαλία και την εκμάθηση του προγραμματισμού.
Μπορεί να αναρωτιέστε «Γιατί παιχνίδι;»
Γιατί να φτιάξουμε ένα παιχνίδι;
Γιατί όχι;
Τι συναισθήματα μας προκαλεί ένα παιχνίδι;
Τι συναισθήματα νιώθουμε παίζοντας ένα παιχνίδι;
Είναι διασκεδαστικό,
μας δίνει κίνητρο να ασχοληθούμε, επιβράβευση, πρόκληση,
αλλά κυρίως σκεφτείτε την ιδέα ενός serious game, ενός τέτοιου δηλαδή, εκπαιδευτικού παιχνιδιού,
που συνδυάζεται με τη μάθηση.
Ο καλύτερος παίκτης του παιχνιδιού είναι και ο καλύτερος προγραμματιστής.
Άρα, όσο περισσότερο προσπαθώ να διακριθώ μέσα στο παιχνίδι, τόσο τελικά μου βγαίνει σε καλό, σε εμένα τον ίδιο.
Οι μαμάδες, λοιπόν, τι να πουν σε ένα τέτοιο παιδί που παίζει ένα τέτοιο παιχνίδι που συνδυάζεται με τη γνώση; «Γιωργάκη, μην παίζεις άλλο»;
Φανταστείτε λοιπόν τις μαμάδες, να λένε «Έπαιξες σήμερα; Έλα γρήγορα να παίξεις!»
Αυτό και αν είναι επανάσταση στη μάθηση.
Μπαίνω εγώ λοιπόν στην τάξη, στο αμφιθέατρο,
και δε λέω «Θα μάθουμε προγραμματισμό
και θα ασχοληθούμε με αυτές τις δυσνόητες έννοιες», αλλά λέω «Σήμερα εδώ, θα παίξουμε ένα παιχνίδι
και σύμφωνα με το σενάριο του παιχνιδιού,
για να σας εξηγήσω λίγο για αυτό το παιχνίδι, υπάρχουν δύο ομάδες, είναι οι χάκερς και οι κράκερς.
Δεν ξέρω αν τις έχετε ξανακούσει αυτές τις έννοιες. Οι χάκερς στο παιχνίδι μας είναι κακοί,
οι παραδοσιακοί κακοί που έχει το κάθε παιχνίδι.
Είναι πληρωμένοι υπάλληλοι σε ένα τεράστιο εργοστάσιο που παράγει, μεταξύ των άλλων,
τεράστια απόβλητα και μολύνει το περιβάλλον, το τελευταίο υγιές οικοσύστημα
μέσα στο εικονικό περιβάλλον, στο σενάριό μας, στον κόσμο. Οι κράκερς από την άλλη, είναι οι καλοί.
Ακτιβιστές, δηλαδή, που προσπαθούν να εισβάλλουν στο εργοστάσιο,
να εισβάλλουν, για την ακρίβεια, στον κεντρικό σέρβερ του εργοστασίου
και, σπάζοντας τους κωδικούς, να τον θέσουν εκτός λειτουργίας.
Βέβαια, για να καταφέρει η μία ομάδα ή η άλλη να κερδίσει το παιχνίδι,
θα πρέπει να έρθει σε επαφή με τους σενσέις.
Οι σενσέις είναι μέντορες, οι οποίοι
-με αυτή εκεί τη μορφή που βλέπετε πάνω αριστερά-
θα σας διδάξουν τη θεωρία του προγραμματισμού,
και στη συνέχεια, θα σας αξιολογήσουν,
προκειμένου να προχωρήσετε παρακάτω στο επόμενο επίπεδο,
είτε με ερωτήσεις πολλαπλής επιλογής,
είτε βάζοντάς σας στη διαδικασία
να φτιάξετε μερικά μικρά προγραμματάκια με drag and drop εντολές,
είτε ακόμα να προγραμματίσετε τα δικά σας προγράμματα
γι' αυτό στο παιχνίδι έχουν ενσωματωθεί compilers, μεταγλωττιστές δηλαδή,
που θα σας πουν εάν κάνατε κάποιο λάθος,
τι λάθος κάνατε,και ποιο είναι αυτό
και πόσο σημαντικό είναι αυτό το λάθος.
Σε όλη αυτή τη διαδικασία, εκπαιδευτικοί, καθηγητές πληροφορικής
ή κάποιος που θέλει να παράγει τη δική του έκδοση παιχνιδιού,
βασιζόμενος σε αυτήν την πλατφόρμα,
μπορεί να έχει ενεργό ρόλο.
Μπορεί, δηλαδή, ν' αλλάξει όλα τα στοιχεία του παιχνιδιού, άρα μιλάμε για μια μεγαλύτερη λίγο πλατφόρμα, μπορεί ο καθένας να μπει μέσα και να αλλάξει οτιδήποτε έχει να κάνει με τα γραφικά, με τη μουσική, χαρακτήρες, ήρωες,
όλα αυτά που καθορίζουν την εξέλιξη του παιχνιδιού
και την εκμάθηση του προγραμματισμού.
Όπως τη θεωρία, τα προβλήματα που θα τεθούν
και θα πρέπει να αξιολογήσουν στη συνέχεια οι σενσέις. Στο τέλος του παιχνιδιού, φυσικά, υπάρχουν κάποια κλασικά analytics,
ποιος κέρδισε, πόσο κοντά έφτασε στη νίκη, πόντους και τα λοιπά.
Θα ήθελα να σας αφήσω με μια προτροπή:
Να ξεκινήσετε άμεσα να μαθαίνετε να προγραμματίζετε. Άμεσα, τώρα.
Είτε με το συμβατικό τρόπο, είτε πιο ευχάριστα, παίζοντας ένα παιχνίδι.
Το συναίσθημα που θα νιώσετε
όταν το πρόγραμμα που έχετε δημιουργήσει
λειτουργεί και παράγει τα σωστά αποτελέσματα είναι κάτι που πραγματικά σας εγγυώμαι, δε συγκρίνεται.
Είναι το συναίσθημα του δημιουργού.
Είναι το συναίσθημα του ορειβάτη που μόλις κατέκτησε την κορυφή,
είναι το συναίσθημα του Οδυσσέα που πραγματοποιεί το όνειρό του
και βρίσκει την Ιθάκη του.
Σας ευχαριστώ πάρα πολύ.
(Χειροκρότημα)