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

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

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

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

Τι σημαίνει προγραμματισμός;

Ο προγραμματισμός υπάρχει γύρω και έχει ένα ευρύ φάσμα εφαρμογών. Τα προγράμματα  διαχειρίζονται τους προσωπικούς μας υπολογιστές, τις τραπεζικές συναλλαγές , τους ιστοτόπους, τα  tablet, τα smartphones, πολλές φορές ακόμη και τα πλυντήρια ή και τους ανελκυστήρες. Ο προγραμματισμός πολύ απλά είναι οι οδηγίες που ακολουθούν οι υπολογιστές. Τα πρώτα προγράμματα γράφτηκαν σε γλώσσα  μηχανής: μια ακολουθία αριθμών σε δυαδική μορφή (κατασκευασμένη από ψηφία 0 και 1), αναγνώσιμη από επεξεργαστές. 

Για να καταστεί ο προγραμματισμός  αποτελεσματικός, ήταν απαραίτητο να δημιουργηθούν γλώσσες προγραμματισμού: σύνολα εντολών που βασίζονται σε λέξεις, όχι σε αριθμούς, με συγκεκριμένη σύνταξη οι οποίες θα μεταφράζονται σαφώς σε κώδικα μηχανής. Από τότε που εμφανίστηκαν οι πρώτοι υπολογιστές, δημιουργήθηκαν πολυάριθμες (πάνω από 1000) γλώσσες και κάθε χρόνο γίνονται όλο και περισσότερες. Δεν υπάρχει "τέλεια" ή καθολική γλώσσα, η οποία θα μπορούσε να εφαρμοστεί παντού, αντίθετα, η συνεχώς αναπτυσσόμενη τεχνολογία μας αναγκάζει να διερευνήσουμε νέες, πιο αποτελεσματικές μεθόδους προγραμματισμού. Παρά το πλήθος τους, αυτές οι διάφορες γλώσσες έχουν πολλά κοινά στοιχεία - μπορείτε να τα δείτε στην ιστοσελίδα   99 bottles of beer , όπου το ίδιο πρόγραμμα είναι γραμμένο σε διάφορες γλώσσες προγραμματισμού.

Ο προγραμματισμός υπολογιστών είναι μια ικανότητα που πιστεύουμε πως χρησιμοποιείται μόνο από λίγους και ειδικευμένους σε πεδία STEM (Science, Technology, Engineering, and Math), οι οποίοι έχουν τη γνώση και τη δύναμη να δημιουργήσουν κάτι από το μηδέν χρησιμοποιώντας ένα πληκτρολόγιο και έναν μεταγλωττιστή. Είναι οι δημιουργοί της τεχνολογίας. Για όλους εμάς τους υπόλοιπους ο προγραμματισμός ανήκει στη σφαίρα της φαντασίας. Κατά ειρωνικό τρόπο όμως, τον χρησιμοποιούμε καθημερινά με τη μορφή προγραμμάτων, ιστοσελίδων ή εφαρμογών. Αυτό όμως πρέπει να αλλάξει. Η σημερινή πραγματικότητα απαιτεί από τις νέες γενιές να συμμετέχουν και να δημιουργούν νέες τεχνολογίες, όχι μόνο να είναι παθητικοί χρήστες. Ευτυχώς, πολλά χρόνια ερευνών έχουν συνεισφέρει στη δημιουργία διαφόρων εργαλείων που μπορούν να εισάγουν τα παιδιά στον προγραμματισμό από πολύ μικρή ηλικία.

Εκπαιδευτικές γλώσσες προγραμματισμού


2-a7SgC.png

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

Οφέλη της διδασκαλίας του προγραμματισμού σε παιδιά

Προετοιμασία για την αγορά εργασίας

Η πολιτική μας στο Facebook είναι να προσλαμβάνουμε κυριολεκτικά όσους περισσότερους ταλαντούχους μηχανικούς μπορούμε να βρούμε. Δεν υπάρχουν αρκετά άτομα με αυτές τις δεξιότητες σήμερα.
Mark Zuckerberg, Ιδρυτής του Facebook

Ας ξεκινήσουμε με εύκολα μετρήσιμα επιχειρήματα. Σύμφωνα με διάφορες εκτιμήσεις, η αγορά εργασίας θα έχει ανάγκη από όλο και περισσότερους ειδικευμένους ειδικούς σε θέματα ΤΠΕ (Τεχνολογίες πληροφοριών και επικοινωνίας). Η ψηφιακή οικονομία αναπτύσσεται με ταχύτερο ρυθμό από ότι η παγκόσμια οικονομία  (επτά φορές πιο γρήγορα, για να είμαστε ακριβείς). Είναι προς το συμφέρον μας να βοηθήσουμε τα παιδιά και τους έφηβους που ενδιαφέρονται για τον προγραμματισμό να γίνουν επαγγελματίες σε αυτόν τον τομέα. Σύμφωνα με την Ψηφιακή Ατζέντα της Ευρώπης που δημοσιεύθηκε από την Ευρωπαϊκή Επιτροπή το 2014, έως το 2020, η ευρωπαϊκή αγορά θα χρειάζεται 900 000 ειδικούς στις ΤΠΕ. [1]

Οι γνώσεις προγραμματισμού δεν περιορίζονται μόνο στον τομέα των ΤΠΕ. Όλο και περισσότερες θέσεις εργασίας απαιτούν γνώσεις προγραμματισμού για εργασίες που σχετίζονται με τη δημιουργία και την τροποποίηση απλών ιστοσελίδων, εφαρμογών, blog, διαχείριση διαδικτυακών καταστημάτων κλπ.

Η τεχνολογία και οι υπολογιστές βρίσκονται στο επίκεντρο της οικονομίας μας. Προκειμένου να προετοιμαστούμε για τις απαιτήσεις του 21ου αιώνα - και να επωφεληθούμε από τις ευκαιρίες - είναι σημαντικό όλο και περισσότεροι μαθητές να αρχίσουν να μαθαίνουν βασικές δεξιότητες προγραμματισμού, ανεξάρτητα από τον τομέα εργασίας που σκοπεύουν να ακολουθήσουν.
Park Todd, Γενικός Διευθυντής Τεχνολογίας των ΗΠΑ

Αυτό αφορά, επίσης, και εντελώς μη τεχνικά επαγγέλματα. Η Ευρωπαϊκή Επιτροπή εκτιμά ότι επί του παρόντος το 90% όλων των θέσεων εργασίας απαιτεί τουλάχιστον βασικές γνώσεις πληροφορικής. Συμπωματικά, παρά την αυξανόμενη πρόσβαση στην τεχνολογία, το 50% των εργαζομένων δεν διαθέτει επαρκείς ικανότητες στον τομέα αυτό.

Ως εκ τούτου, έχουμε να κάνουμε με ένα σημαντικό χάσμα στην εξειδίκευση. Η κάλυψη αυτού του χάσματος θα είναι μία από τις πιο σημαντικές υποχρεώσεις που θα πρέπει να καλύψει η σημερινή εκπαίδευση. Παρατηρήσεις δείχνουν ότι στην πλειοψηφία των εθνικών εκπαιδευτικών συστημάτων, αυτό το χάσμα σχηματίζεται κατά τα πρώτα 12 χρόνια της εκπαίδευσης. Οι ικανότητες που αναπτύσσονται κατά τη διάρκεια αυτής της περιόδου δεν συμπίπτουν με εκείνες που απαιτούνται στα πανεπιστήμια ή στην αγορά εργασίας. [1][2]

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

Η υπολογιστική σκέψη προωθεί επίσης δεξιότητες που δεν αποκτούνται συχνά στην τάξη. Ο προγραμματισμός διδάσκει την επίλυση προβλημάτων, την αποσύνθεση (σπάσιμο μεγάλων εργασιών σε μικρότερες επιμέρους εργασίες), τη συλλογιστική και τη διόρθωση σφαλμάτων. Αυτές οι δεξιότητες είναι χρήσιμες στα παραδοσιακά πεδία STEM, στις επιστήμες και την τεχνολογία. Παρ’ όλα αυτά ισχύουν και σε διάφορους άλλους τομείς, συμπεριλαμβανομένων των κοινωνικών επιστημών ή της τέχνης. [7]

Εξέλιξη της λογικής σκέψης

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

Εκπαίδευση της δημιουργικότητας

Η γνώση των βασικών δεξιοτήτων προγραμματισμού δημιουργεί ένα νέο δημιουργικό τρόπο για να εκφραστείτε. Εάν εφαρμοστεί κατάλληλα, ο προγραμματισμός δίνει απτά αποτελέσματα στην ανάπτυξη της δημιουργικότητας των παιδιών. Όπως ένα πινέλο και ένας καμβάς επιτρέπουν να εκφράζονται οι σκέψεις και τα συναισθήματά με τη ζωγραφική, ο προγραμματισμός δίνει την ευκαιρία να αποδείξει κανείς τη δημιουργικότητά του συνθέτοντας διάφορα κομμάτια: κινούμενα σχέδια, παιχνίδια, διαδραστικές εικόνες ή παρουσιάσεις.[8] Όσο πιο απλή και με πολλές δυνατότητες είναι η γλώσσα προγραμματισμού, τόσο πιο πιθανή είναι και η αύξηση της δημιουργικότητας. Ένα καλό παράδειγμα είναι η Scratch, η δομή της οποίας βασίστηκε στα τουβλάκια LEGO (οι δημιουργοί της Scratch είχαν συνεργαστεί νωρίτερα με τη LEGO, για να σχεδιάσουν το πακέτο LEGO Mindstorms). Με τα τουβλάκια, τα παιδιά βασίζονται στη διαίσθηση για να συνδέσουν τα διαθέσιμα κομμάτια ενός πακέτου. Χτίζουν και δημιουργούν μοντέλα που τους εμπνέουν να συνεχίσουν τη δουλειά τους. Στο πλαίσιο αυτό, η δημιουργικότητα αναπτύσσεται σχεδόν με οργανικό τρόπο. Κάτι παρόμοιο συμβαίνει και στη Scratch, όπου τα παιδιά διαισθητικά συνδέουν τις εντολές για να δημιουργήσουν απλά προγράμματα τα οποία τους εμπνέουν να κατασκευάσουν ακόμα περισσότερα και πιο σύνθετα. Η αλληλεπίδραση του προγραμματισμού με άλλα ενδιαφέροντα, όπως η μουσική, οι ταινίες ή τα κινούμενα σχέδια, βοηθά στην ενίσχυση της δημιουργικότητάς τους. Αυτή η μέθοδος ενθαρρύνει ένα πολύ μεγαλύτερο σύνολο μαθητών να αρχίσουν να ενδιαφέρονται για τον προγραμματισμό και τους εξοπλίζει με πρόσθετα εργαλεία για να μπορέσουν να εκφραστούν. [9]

Μάθηση μέσα από τα λάθη 

Στον προγραμματισμό, είναι αδύνατο να αποφύγετε εντελώς τα λάθη. Μερικά μπορεί να σας εκνευρίσουν, άλλωστε κάθε προγραμματιστής έχει ζήσει την εμπειρία να περνά αρκετές ώρες αναζητώντας αν λείπει απλά ένα “κόμμα". Αλλά η αποσφαλμάτωση αποτελεί μέρος της δημιουργικής διαδικασίας και είναι επίσης σημαντική. Τα προγράμματα δημιουργούνται μέσω δοκιμών και διορθώσεων (trial and error) και γι’ αυτό και απαιτούνται επαναλαμβανόμενες δοκιμές σε κάθε στάδιο. Χάρη σε αυτή τη μέθοδο, το λάθος στον προγραμματισμό αποκτά μια εκπαιδευτική αξία: σε αντίθεση με άλλες μεθόδους, το λάθος είναι μια πρόκληση, όχι μια αποτυχία. Δώστε προσοχή στα λόγια του Seymour Papert, ο οποίος έγραψε κάποτε πώς ορισμένα παιδιά μπορεί να μείνουν πίσω καθώς στιγματίζονται από τα λάθη που έχουν κάνει:

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

Ανάπτυξη γνωστικών ικανοτήτων

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

Επισκόπηση

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

Ενημερωθείτε για τα τμήματα εκμάθησης προγραμματισμού και ρομποτικής για παιδιά που λειτουργούν στην Υδρόγειο από το 2009 εδώ: