Scratch - T.E.I. Kavaxis.teikav.edu.gr/.../scratch/Palaigeorgiou_L2.Scratch.pdf– Το Scratch...
Transcript of Scratch - T.E.I. Kavaxis.teikav.edu.gr/.../scratch/Palaigeorgiou_L2.Scratch.pdf– Το Scratch...
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,
έχουν στο μυαλό τους το κοινό στο οποίο θα απευθυνθούν και πρέπει να σκεφτούν πως θα αντιδράσει σε αυτές.
– Είναι εύκολο να δημιουργείς εφαρμογές χρήσιμες και ευχάριστες
Αναλυτική αναφορά δυνατοτήτων
Κίνηση
MoveTurnPoint in direction / towardsGo to X Y / towardsChange X/Y bySet X to X/Y positionIf on edge bounceDirection
Κίνηση
Εμφάνιση
Switch to costumeNext costumeCostume #Background #Switch to backgroundNext backgroundSay _ for _ secondsThink _ for _ secondsSay / Think
Εμφάνιση
Change _ effect by _Set _ effect to _Clear graphic effectsChange size by Set size to _%SizeShow-hideGo to frontGo back _ layers
Ήχος
Play SoundPlay sound _ until doneStop all soundsPlay drum _ for _ beatsRest for _ beatsPlay note _ for _ beatsSet instrument to _Change volume by _Set volume to _%Volume
Ήχος
Change tempo bySet tempo to _ BpmTempo
Πέννα
ClearPen downPen upSet pen color to _Change pen color by_Set pen shade to Change pen size bySet pen size tostamp
Έλεγχος
When _ clickedWhen _ key pressedWhen _sprite clickedWait _ secForeverRepeat _Broadcast _Broadcast _ and waitWhen I Receive _
Έλεγχος
Forever ifIfIf elseWait untilRepeat untilStop scriptStop all
Αισθητήρες
Mouse x/yMouse down?Key_pressedTouching _?Touching color _?Color _ is over _Distance to _Reset timerTimerX position/ direction / costume volume of _
Αισθητήρες
LoudnessLoud?_ sensor valueSensor
Αριθμοί
+ - / *Pick random _ to __<__=__ and __ or _not __ mod _Round _Abs, sqrt, sin, cos…of _
Μεταβλητές
Make a variableDelete a variableVariableSet _ to _Change _ by _Show _Hide _
Μεταβλητές
Make a list– List– Add _ to _– Delete _ of _– Insert _ at _ of _– Replace item _ of _ with _– Item _ of _– Length of _