Εισαγωγή στον προγραμματισμό για μικρά παιδιά
Γιατί να μάθω να προγραμματίζω;
Δραστηριότητα:
- Μπορείς να προγραμματίσεις το angry bird να φτάσει στο γουρουνάκι αποφεύγοντας όλα τα εμπόδια; Κάνε κλικ εδώ.
- Εσύ μπορείς να εντοπίσεις τα σφάλματα των προγραμμάτων και να τα διορθώσεις; Κάνε κλικ εδώ.
Τι είναι ο προγραμματισμός – τι είναι το πρόγραμμα – τι είναι κώδικας
Το πρόγραμμα είναι μια σειρά από εντολές, τοποθετημένες με τέτοιο τρόπο ώστε να οδηγούν σε ένα επιθυμητό αποτέλεσμα. Για παράδειγμα, πρόγραμμα ή αλλιώς ακολουθία εντολών, είναι οι οδηγίες που έχουμε, τα βήματα, για να φτιάξουμε ένα κέικ.
- Ρίξε 330 γραμμάρια ζάχαρη
- Ρίξε 250 γραμμάρια βούτυρο στο μπολ
- Χτύπησε τα στο μίξερ για 5 λεπτά, στη γρήγορη ταχύτητα
- Ρίξε 4 αυγά στο μπολ (χωρίς τα τσόφλια!)
- Χτύπησέ τα στο μίξερ για 3 λεπτά στη μεσαία ταχύτητα
- Ρίξε 330 γραμμάρια γάλα στο μπολ
- Χτύπησέ τα στο μίξερ για 3 λεπτά στη μικρή ταχύτητα
- Ρίξε 500 γραμμάρια αλεύρι κόκκινο στο μπολ
- Χτύπησέ τα στο μίξερ για 5 λεπτά στη μικρή ταχύτητα
Αν παραλείψουμε ένα βήμα σίγουρα το αποτέλεσμα θα είναι λάθος και αν αλλάξουμε κάτι σε ένα βήμα, πχ αν βάλουμε 100 γραμμάρια ζάχαρη αντί για 330, τότε το αποτέλεσμα θα είναι διαφορετικό!
Ο κώδικας είναι η γλώσσα που χρησιμοποιείται για την εκπαίδευση υπολογιστών. Το Facebook, οι εφαρμογές για κινητά και το πρόγραμμα περιήγησής σας είναι όλα κατασκευασμένα με κώδικα – είναι απλώς προγραμματισμός υπολογιστών για εσάς και εμένα! Και υπάρχει μια σειρά από διαφορετικές γλώσσες προγραμματισμού που μπορείτε να χρησιμοποιήσετε – HTML, για παράδειγμα, είναι ο κώδικας υπολογιστή που χρησιμοποιείται για τη δημιουργία ιστοσελίδων.
Προγραμματίζω ή αλλιώς δημιουργώ έναν κώδικα, σημαίνει να πείτε στον υπολογιστή τι να κάνει δίνοντάς του εντολές στις οποίες ανταποκρίνεται.
Υπάρχουν πολλές γλώσσες προγραμματισμού για κάθε ηλικία και επίπεδο γνώσεων και εμείς θα ξεκινήσουμε από προγραμματισμό με πλακίδια. Το κάθε πλακίδιο (σαν τα τουβλάκια) έχει πάνω του γράμματα που είναι η κάθε εντολή, πχ “προχώρα ένα βήμα μπροστά” ή απλά “–>” να έχει πάνω του ένα βέλος που να δείχνει την κίνηση.
Προγραμματισμός
Πολλές φορές στην καθημερινή μας ζωή χρειαζόμαστε οδηγίες για να λύσουμε ένα πρόβλημα ή να πετύχουμε ένα σκοπό: σκεφτείτε για παράδειγμα τα βήματα που πρέπει να ακολουθήσουμε σε μια συνταγή μαγειρικής. Κάτι τέτοιο χρειάζονται και οι ηλεκτρονικοί υπολογιστές. Οι ηλεκτρονικοί υπολογιστές, για κάθε τι που κάνουν, χρειάζονται ακριβείς και σαφείς οδηγίες, από εμάς, τους ανθρώπους.
Προγραμματισμός είναι η διαδικασία σύνταξης οδηγιών για την επίλυση ενός προβλήματος με τέτοιο τρόπο που να τις καταλαβαίνει ο υπολογιστής και να μπορεί να τις εκτελεί. Οι οδηγίες αυτές ονομάζονται εντολές και στο σύνολό τους καθορίζουν το πρόγραμμα ηλεκτρονικού υπολογιστή (κώδικας). Οι εντολές πρέπει να είναι σαφείς και να εκτελούνται με μια συγκεκριμένη σειρά ώστε το πρόγραμμα να οδηγείται στο επιθυμητό αποτέλεσμα.
Ο Υπολογιστής δεν κατανοεί τις ανθρώπινες γλώσσες: τα ελληνικά, τα αγγλικά… αλλά και οι περισσότεροι από εμάς δεν κατανοούμε την δική του γλώσσα, μια συνεχή σειρά από δυαδικά ψηφία: 10010111010110101… Επομένως, για να επικοινωνήσουμε με τον υπολογιστή χρειαζόμαστε έναν κοινό κώδικα επικοινωνίας· αυτό τον σκοπό επιτελούν οι Γλώσσες Προγραμματισμού και τα Προγραμματιστικά Περιβάλλοντα. Υπάρχουν πολλές Γλώσσες Προγραμματισμού με διαφορετικές δυνατότητες και για διαφορετικές χρήσεις. Ιδιαίτερα για την Πρωτοβάθμια Εκπαίδευση, τα περιβάλλοντα οπτικού προγραμματισμού που προτείνονται είναι τα εξής: EasyLogo, Scratch, ΒΥΟΒ, Kodu, MicroWorldsPro, GameMaker, K-Turtle, TurtleArt, openStarlogo και Εκπαιδευτική Ρομποτική.
Ρομποτική είναι η επιστήμη και η τεχνολογία των ρομπότ, που περιλαμβάνει τον σχεδιασμό, την κατασκευή και τον προγραμματισμό τους. Έχει καταστεί αναπόσπαστο στοιχείο της κοινωνίας μας και έχει πλέον εισχωρήσει και στην εκπαίδευση καθώς μας βοηθάει να κατανοήσουμε πληρέστερα μια περιοχή μάθησης.
Εκπαιδευτική Ρομποτική
Εκπαιδευτική Ρομποτική ονομάζεται το υπολογιστικό περιβάλλον που αποτελείται από ένα ή περισσότερα ρομπότ (είτε αυτόνομα είτε συνοδευόμενα από υπολογιστή), το οποίο ενθαρρύνει τους μαθητές να σκεφτούν καλύτερα ένα πρόβλημα, να συνεργαστούν, βοηθά τους εκπαιδευόμενους να αποκτήσουν γνώσεις, κριτική σκέψη, εξοικείωση με τους υπολογιστές αλλά και με άλλες επιστήμες ή/και με τις τέχνες.
Η εκπαιδευτική ρομποτική είναι ένας ραγδαία αναπτυσσόμενος κλάδος σε όλες τις βαθμίδες της εκπαίδευσης παγκοσμίως. Τα εκπαιδευτικά ρομπότ έχουν τα ίδια χαρακτηριστικά με τα βιομηχανικά ρομπότ, είναι χαμηλότερου κόστους και είναι ασφαλέστερο να χρησιμοποιηθούν από μαθητές, φοιτητές, χομπίστες… και παντός είδους χρήστες!!
Επιπλέον τα ρομπότ βγάζουν τον μαθητή από τα στενά όρια της οθόνης του υπολογιστή στον πραγματικό κόσμο.
Η ενασχόληση με την εκπαιδευτική ρομποτική ενέχει δύο ειδών δραστηριότητες, κατασκευαστικές και προγραμματιστικές. Ανάλογα με το κιτ ρομποτικής μπορεί να δίνονται δυνατότητες για περισσότερες κατασκευαστικές δραστηριότητες (π.χ. Lego, Gigo…) ή ελάχιστες έως καθόλου (π.χ. Edison, Thymio, διάφορα έτοιμα αυτοκινητάκια…). Ο προγραμματισμός σε κάθε περίπτωση είναι απαραίτητος.
Ο προγραμματισμός ρομποτικών κατασκευών έχει μια ιδιαιτερότητα σε σχέση με τον προγραμματισμό σε άλλες συνθήκες ή καταστάσεις γιατί ταυτίζεται με την απόδοση συμπεριφοράς σε μια τεχνητή κατασκευή. Η τεχνητή κατασκευή δημιουργείται από τους μαθητές αξιοποιώντας ένα σύνολο δομικών υλικών.
- Μπορεί να διαθέτει αισθητήρες για να συλλαμβάνει συμβάντα ή καταστάσεις του περιβάλλοντος (θερμοκρασία, απόσταση από εμπόδιο, ένταση φωτός, επαφή με άλλα αντικείμενα, κ.τ.λ.).
- Μπορεί επίσης να διαθέτει μηχανισμό κίνησης (μοτέρ) που θέτει σε κίνηση ολόκληρη την κατασκευή ή ένα τμήμα της ή απλά να ενεργοποιεί ένα φως ή/και πολλά άλλα.
Μια τυπική συμπεριφορά της ρομποτικής κατασκευής είναι η αντίδραση σε ένα πιθανό ερέθισμα. Πρόκειται για ένα χαρακτηριστικό ξεκάθαρα ανθρωπομορφικό, γι’ αυτό και το ενδιαφέρον έχει στραφεί στη μελέτη συμπεριφορών ζώντων οργανισμών ή βιολογικών συστημάτων με τη βοήθεια των ρομποτικών κατασκευών.
Εντοπισμός σφαλμάτων στον προγραμματισμό
Ο προγραμματισμός είναι μια πολύπλοκη διαδικασία. Επειδή είναι ανθρώπινη δουλειά, συχνά εμφανίζονται σφάλματα. Τα σφάλματα προγραμματισμού είναι συνηθισμένο φαινόμενο και η διαδικασία εύρεσης και διόρθωσής τους ονομάζεται εντοπισμός σφαλμάτων ή αλλιώς αποσφαλμάτωση.
Το πρώτο βήμα για την αποσφαλμάτωση είναι συνήθως η επανάληψη του προβλήματος για να καταγραφούν τα λάθη. Μετά τη φάση της επανάληψης του προβλήματος, συνήθως γίνεται διαίρεση του κώδικα σε επιμέρους τμήματα, όσο το δυνατόν μικρότερα, και ο έλεγχος αν κάποιο από αυτά προκαλεί το πρόβλημα. Αν ο έλεγχος αυτός “αποδώσει”, αν δηλαδή βρεθεί ποιο τμήμα προκαλεί το πρόβλημα, τότε το έργο της αποσφαλμάτωσης μειώνεται σημαντικά. Στο σημείο αυτό χρησιμοποιούνται διάφορες τεχνικές για την αναγνώριση της αιτίας. Το σφάλμα μπορεί να προέρχεται από λάθη στην πληκτρολόγηση του κώδικα ή από λογικά σφάλματα που είναι και τα πλέον δύσκολα να βρεθούν.