Scratch - T.E.I. Kavaxis.teikav.edu.gr/.../scratch/Palaigeorgiou_L2.Scratch.pdf– Το Scratch...

Post on 27-Jan-2020

27 views 0 download

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 _