Scratch Διδακτική του Προγραμματισμού Παλαιγεωργίου Γιώργος Μάρτιος 2009
MIT Scratch Το Scratch είναι ένα πλούσιο σε οπτικοαουστικά μέσα προγραμματιστικό περιβάλλον στο οποίο οι αρχάριοι προγραμματιστές μπορούν να εκφράσουν την δημιουργικότητά τους ενώ μαθαίνουν να σκέφτονται υπολογιστικά. Πήρε το όνομά του από την τεχνική των DJs (scratching) Αναπτύχθηκε από το Lifelong Kindergarten group στο MIT Media Lab και διατίθεται δωρεάν μέσω της ιστοσελίδας του.
MIT Scratch Χρησιμοποιείται ευρέως για τη διδασκαλία του προγραμματισμού από παιδιά δημοτικού ως και σε αρχάριους ενήλικες, ενώ η διάδοση της χρήσης του έχει χαρακτηριστικά επιδημίας! Περισσότεροι από 3 εκατομμύρια χρήστες έχουν επισκεφθεί την ιστοσελίδα του και 350.000 έχουν κατεβάσει το λογισμικό. Στην ιστοσελίδα έχουν ανέβει πάνω από 175,000 project (ένα νέο project ανεβαίνει κάθε 2 λεπτά), ενώ το 15% αυτών είναι μίξεις άλλων.
MIT Scratch Ο προγραμματισμός με το Scratch δεν είναι μια βαρετή και επίπονη διαδικασία αλλά αντίθετα προκαλεί το ενδιαφέρον και ψυχαγωγεί τους χρήστες του. Όλες οι απαραίτητες προγραμματιστικές δομές αναπαρίστανται στο αριστερό μέρος της οθόνης ως τούβλα, τα οποία τοποθετούμενα σε στοίβες δημιουργούν προγράμματα.
MIT Scratch Τα τούβλα αυτά είναι σχεδιασμένα έτσι ώστε να ταιριάζουν μεταξύ τους μόνο όταν ο συνδυασμός τους έχει κάποιο συντακτικό νόημα. Κάθε τύπος δεδομένων έχει διαφορετικό σχήμα, ελαχιστοποιώντας έτσι την πιθανότητα λάθος επιλογής. Το πρόγραμμα παραμένει ζωντανό καθ όλη τη διάρκεια της εκτέλεσης, έτσι ο χρήστης μπορεί να επιφέρει αλλαγές σε αυτό και να βλέπει άμεσα τα αποτελέσματα.
MIT Scratch Οι εφαρμογές στο scratch οικοδομούνται από αντικείμενα που λέγονται sprites. Τα sprites έχουν εμφάνιση-κουστούμι η οποία τοποθετείται στην «σκηνήstage» της εφαρμογής. Η εμφάνιση ενός sprite, αλλάζει αν ορίσουμε διαφορετικό κουστούμι. Το sprite μπορείς να να μοιάζει με άνθρωπο, τραίνο, πεταλούδα ή οτιδήποτε άλλο. Μπορείς να χρησιμοποιήσεις οποιαδήποτε ψηφιογραφική εικόνα σαν κουστούμι: μπορείς να δημιουργήσεις μια εικόνα από τη ζωγραφική, να εισάγεις μια εικόνα από το σκληρό σου δίσκο ή από το διαδίκτυο.
MIT Scratch Μπορείς να δώσεις οδηγίες σε ένα αντικείμενα ώστε να κινηθεί, να παίξει μουσική ή να αλληλεπιδράσει με άλλα sprite. Για να πεις στο αντικείμενο τι να κάνει, στοιβάζεις τουβλάκια μεταξύ τους, για να σχηματίσεις σενάρια ενεργειών Τα σενάρια καθορίζουν την συμπεριφορά των αντικειμένων. Όταν κάνεις διπλό κλικ στις ενέργειες, το scratch εκτελεί τις ενέργειες από την αρχή μέχρι το τέλος των ενεργειών. Αυτό επιτρέπει την άμεση δοκιμή των προγραμμάτων χωρίς την παρεμβολή σταδίων μετάφρασης πηγαίου κώδικα, σύνδεσης κλπ.
Η σκηνή
Δημιουργία αντικειμένων Κάθε καινούργιο σχέδιο εργασίας με το scratch διαθέτει ως προκαθορισμένο αντικείμενο μια γάτα. Για τη δημιουργία νέων αντικείμενων, κάνε κλικ στα παρακάτω κουμπιά: Ζωγράφισε το δικό σου κουστούμι για ένα νέο αντικείμενο χρησιμοποιώντας τη ζωγραφική Εισήγαγε ένα αντικείμενο αποθηκεμένο σε αρχείο Πάρε ένα αντικείμενο «έκπληξη» (τυχαία επιλογή)
Η λίστα αντικειμένων Η λίστα των αντικείμενων παρουσιάζει μικρογραφίες όλων των αντικείμενων μιας εφαρμογής. Για κάθε αντικείμενο δείχνει το όνομα του, πόσες σενάρια έχουν οριστεί και πόσα κουστούμια έχει.
Ακολουθιακή δομή
Επανάληψη
Έλεγχος
Μεταβλητές
Πίνακες
Γεγονότα
Νήματα
Συνεργασία και συγχρονισμός
Τυχαίοι αριθμοί
Λογικές εκφράσεις
Διεπιφάνεια
Έναρξη προγράμματος Η πράσινη σημαία αποτελεί το γεγονός εκκίνησης ενός ή περισσοτέρων σεναρίων την ίδια στιγμή.
Οφέλη από την αξιοποίηση του Scratch Δεξιότητες διαχείρισης πληροφοριών και πολυμέσων Δουλεύοντας με το Scratch, οι αρχάριοι μαθαίνουν να επιλέγουν, να δημιουργούν και να διαχειρίζονται πολλαπλές μορφές δεδομένων, συμπεριλαμβανομένων κειμένων, εικόνων, animations και ηχητικών ηχογραφήσεων. Καθώς οι μαθητές αποκτούν εμπειρία δημιουργώντας, γίνονται διορατικοί και αποκτούν κριτική σκέψη.
Οφέλη από την αξιοποίηση του Scratch Κριτική σκέψη Καθώς μαθαίνουν να προγραμματίζουν με το Scratch, οι αρχάριοι έρχονται σε επαφή με την κριτική σκέψη και τα ευφυή συστήματα. Για να δημιουργηθούν ολοκληρωμένες εργασίες, οι μαθητές χρειάζεται να συσχετίσουν το χρόνο με τις ενέργειες μεταξύ πολλαπλών sprites. Έτσι εξοικειώνονται με την αίσθηση του περιβάλλοντος, την ανάδραση και άλλες βασικές έννοιες.
Οφέλη από την αξιοποίηση του Scratch Αναγνώριση, διαμόρφωση και επίλυση προβλημάτων Το Scratch υποστηρίζει διερεύνηση και επίλυση προβλημάτων. Η δημιουργία μιας εργασίας απαιτεί o τη σύλληψη μιας ιδέας, o το διαχωρισμό του προβλήματος σε βήματα και o την υλοποίηση τους χρησιμοποιώντας τα προγραμματιστικά εργαλεία του Scratch. To Scratch έχει σχεδιαστεί ώστε να παραμένει διαρκώς ενεργό: οι μαθητές μπορούν να αλλάξουν δυναμικά κομμάτια του κώδικα και να δουν άμεσα αποτελέσματα.
Οφέλη από την αξιοποίηση του Scratch Δημιουργικότητα Το Scratch ενθαρρύνει την κριτική σκέψη, μια εξαιρετικά σημαντική δεξιότητα στο σημερινό διαρκώς μεταβαλλόμενο κόσμο, ενώ οδηγεί τους χρήστες του στην αναζήτηση καινοτόμων λύσεων σε απρόβλεπτα προβλήματα. Οι αρχάριοι μαθαίνουν όχι μόνο να λύνουν ένα πλήρως καθορισμένο πρόβλημα αλλά και να αντιμετωπίζουν και όποιο άλλο ασθενώς δομημένο ανακύψει.
Οφέλη από την αξιοποίηση του Scratch Διαπροσωπικές και συνεργατικές δεξιότητες Επειδή τα προγράμματα του Scratch αποτελούνται από γραφικά «τουβλάκια», ο κώδικάς του είναι πιο αναγνώσιμος και διαμοιράσιμος σε σχέση με άλλες γλώσσες. Τα οπτικά αντικείμενα και ο πρότυπος κώδικας υποστηρίζουν συνεργασία, επιτρέποντας στους μαθητές να δουλεύουν μαζί σε εργασίες και να ανταλλάσουν κομμάτια του κώδικα.
Οφέλη από την αξιοποίηση του Scratch Υπευθυνότητα Όταν οι μαθητές δημιουργούν εργασίες στο Scratch, έχουν στο μυαλό τους το κοινό στο οποίο θα απευθυνθούν και πρέπει να σκεφτούν πως θα αντιδράσει σε αυτές. Είναι εύκολο να δημιουργείς εφαρμογές χρήσιμες και ευχάριστες
Αναλυτική αναφορά δυνατοτήτων
Κίνηση Move Turn Point in direction / towards Go to X Y / towards Change X/Y by Set X to X/Y position If on edge bounce Direction
Κίνηση
Εμφάνιση Switch to costume Next costume Costume # Background # Switch to background Next background Say _ for _ seconds Think _ for _ seconds Say / Think
Εμφάνιση Change _ effect by _ Set _ effect to _ Clear graphic effects Change size by Set size to _% Size Show-hide Go to front Go back _ layers
Ήχος Play Sound Play sound _ until done Stop all sounds Play drum _ for _ beats Rest for _ beats Play note _ for _ beats Set instrument to _ Change volume by _ Set volume to _% Volume
Ήχος Change tempo by Set tempo to _ Bpm Tempo
Πέννα Clear Pen down Pen up Set pen color to _ Change pen color by_ Set pen shade to Change pen size by Set pen size to stamp
Έλεγχος When _ clicked When _ key pressed When _sprite clicked Wait _ sec Forever Repeat _ Broadcast _ Broadcast _ and wait When I Receive _
Έλεγχος Forever if If If else Wait until Repeat until Stop script Stop all
Αισθητήρες Mouse x/y Mouse down? Key_pressed Touching _? Touching color _? Color _ is over _ Distance to _ Reset timer Timer X position/ direction / costume volume of _
Αισθητήρες Loudness Loud? _ sensor value Sensor
Αριθμοί +-/* Pick random _ to < = and or _ not mod _ Round _ Abs, sqrt, sin, cos of _
Μεταβλητές Make a variable Delete a variable Variable Set _ to _ Change _ by _ Show _ Hide _
Μεταβλητές Make a list List Add _ to _ Delete _ of _ Insert _ at _ of _ Replace item _ of _ with _ Item _ of _ Length of _