Scratch είναι μια διερμηνευόμενη δυναμική οπτική γλώσσα προγραμματισμού βασισμένη και υλοποιημένη σε Squeak. Όντας δυναμική, επιτρέπει σε αλλαγές του κώδικα ακόμη και κατά τη διάρκεια της εκτέλεσης των προγραμμάτων. Έχει ως στόχο τη διδασκαλία εννοιών προγραμματισμού σε παιδιά και εφήβους και να τους επιτρέψει να δημιουργήσουν παιχνίδια με βίντεο και μουσική.
Το όνομα Scratch παραπέμπει στην τεχνική του scratching στα παλαιά πικάπ, και αναφέρεται τόσο στη γλώσσα όσο και στην υλοποίηση της. Η ομοιότητα προς το scratching στη μουσική είναι η εύκολη επαναχρησιμοποίηση κομματιών: στο Scratch όλα τα αλληλεπιδραστικά αντικείμενα, γραφικά και ήχοι μπορούν εύκολα να εισαχθούν σε ένα νέο πρόγραμμα και να συνδυαστούν με νέους τρόπους. Έτσι οι αρχάριοι μπορούν να λάβουν γρήγορα αποτελέσματα και αποκτούν κίνητρο να προσπαθήσουν περαιτέρω.
Ο ιστότοπος δείχνει ταχεία ανάπτυξη της κοινότητας του Scratch.
Η δημοτικότητα του Scratch στην εκπαίδευση οφείλεται στην ευκολία με την οποία μπορούν να δημιουργηθούν προγράμματα: οι εντολές και οι δομές δεδομένων είναι απλές και είναι τουλάχιστον μερικά γραμμένες στην καθομιλουμένη, και η δομή του προγράμματος μπορεί να σχεδιαστεί όπως ένα παζλ, με αποσπώμενα κομμάτια κώδικα που μπορούν να μετακινηθούν και προσαρμοστούν μαζί.
Το Scratch έχει αναπτυχθεί από μια μικρή ομάδα ερευνητών στο Lifelong Kindergarten Group στο MIT Media Lab.
Το Scratch έχει αναπτυχθεί από μια μικρή ομάδα ερευνητών στο Lifelong Kindergarten Group στο MIT Media Lab.
Είναι ειδικά σχεδιασμένο για άτομα από 8 έως 16 χρονών, αλλά χρησιμοποιείται επίσης και από άτομα όλων των ηλικιών. Εκατομμύρια χρήστες δημιουργούν έργα στο Scratch σε διάφορες τοποθεσίες, όπως σπίτια, σχολεία, μουσεία, βιβλιοθήκες και πολιτιστικά κέντρα.
Η ικανότητα να προγραμματίζετε είναι ένα σημαντικό κομμάτι της ικανότητας ανάγνωσης και γραφής στη σημερινή κοινωνία. Η εκμάθηση προγραμματισμού στο Scratch μαθαίνει στους χρήστες σημαντικές στρατηγικές για να λύνουν προβλήματα, να σχεδιάζουν έργα και να επικοινωνούν.
Οι μαθητές μαθαίνουν με το Scratch σε όλα τα σχολικά επίπεδα (από το δημοτικό έως και το πανεπιστήμιο) και σε διαφόρους κλάδους (όπως μαθηματικά, επιστήμες υπολογιστών, γλωσσικές επιστήμες και κοινωνικές μελέτες). Εκπαιδευτικοί ανταλλάσσουν πηγές, θέτουν ερωτήματα και επικοινωνούν με άλλους συναδέλφους στην ιστοσελίδα του ScratchEd.
Το περιβάλλον Προγραμματισμού
Εντολές κίνησης
Κινεί τη μορφή μπροστά ή πίσω.
_____
Περιστρέφει τη μορφή δεξιόστροφα.
_____
Περιστρέφει τη μορφή αριστερόστροφα.
_____
Προσανατολίζει τη μορφή προς ορισμένη κατεύθυνση. (0=πάνω, 90=δεξιά, 180=κάτω, –90=αριστερά).
______
Προσανατολίζει τη μορφή προς τη θέση του ποντικιού ή προς τη θέση άλλης μορφής.
______
Μεταφέρει τη μορφή σε ορισμένο x y σημείο στη Σκηνή.
______
Μεταφέρει τη μορφή στη θέση του ποντικιού ή στη θέση άλλης μορφής.
_____
Μετακινεί ομαλά τη μορφή προς ορισμένο σημείο για ορισμένο χρονικό διάστημα (σε δευτερόλεπτα).
_____
Στρέφει τη μορφή προς την αντίθετη κατεύθυνση, εάν αγγίξει το άκρο της Σκηνής.
Εντολές κινητήρων
Οι εντολές κινητήρων εμφανίζονται μόνο αν έχετε επιλέξει [Εμφάνιση εντολών κινητήρων] στο μενού Διόρθωσε ή αν έχετε συνδέσει ένα LEGO WeDo. Λειτουργούν με έναν κινητήρα LEGO WeDo. (Πληροφορίες:http://www.legoeducation.com)
Ενεργοποιεί τον κινητήρα για ορισμένα δευτερόλεπτα.
_____
Ενεργοποιεί / Απενεργοποιεί τον κινητήρα.
_____
Θέτει την ισχύ του κινητήρα και τον ενεργοποιεί. (Τιμές: από 0 έως 100)
_____
Θέτει ή αλλάζει την κατεύθυνση στροφής του κινητήρα, αλλά δεν τον ενεργοποιεί. (προς τα εδώ = δεξιόστροφα, προς τα εκεί = αριστερόστροφα ή αντιστροφή)
Εντολές εμφάνισης
Αλλάζει την εμφάνιση της μορφής αλλάζοντάς της ενδυμασία.
_____
Αλλάζει την ενδυμασία της μορφής στην επόμενη τής λίστας ενδυμασιών. (Αν η λίστα φτάσει στο τέλος, ξεκινά από την αρχή)
_____
Αλλάζει την εμφάνιση της Σκηνής αλλάζοντάς της υπόβαθρο.
_____
Εμφανίζει ένα πλαίσιο διαλόγου («μπαλονάκι ομιλίας»), για ορισμένο χρονικό διάστημα (σε δευτερόλεπτα).
_____
Εμφανίζει πλαίσιο διαλόγου («μπαλονάκι ομιλίας»). Το μπαλονάκι εξαφανίζεται, αν τρέξετε την εντολή χωρίς κείμενο.
_____
Αλλάζει το μέγεθος της μορφής κατά ορισμένη ποσότητα.
_____
Θέτει το μέγεθος της μορφής σε ορισμένο ποσοστό % του πραγματικού μεγέθους της.
_____
Κάνει τη μορφή να εμφανίζεται στη Σκηνή.
_____
Κάνει τη μορφή να εξαφανίζεται από τη Σκηνή. (Η κρυμμένη μορφή δεν γίνεται αντιληπτή από άλλες μορφές).
_____
Μετακινεί τη μορφή κατά ορισμένα επίπεδα πίσω, ώστε να μπορεί να κρυφτεί πίσω από άλλες πιο μπροστινές.
Εντολές ήχου
Παίζει έναν ήχο, επιλεγμένον από το αναδιπλούμενο μενού, και αμέσως συνεχίζει με την εκτέλεση της επόμενης εντολής, χωρίς να περιμένει την ολοκλήρωση του ήχου.
_____
Παίζει ένα κρουστό, επιλεγμένο από το αναδιπλούμενο μενού, για ορισμένο αριθμό μουσικών χρόνων (beat).
_____
Αλλάζει την ένταση ήχου της μορφής κατά ορισμένη ποσότητα. (Η ένταση παίρνει τιμές από 0 έως 100).
Εντολές διαχείρισης πένας
Καθαρίζει όλα τα ίχνη της πένας και τις σφραγίδες από τη Σκηνή.
_____
Κατεβάζει την πένα της μορφής, ώστε να ιχνογραφεί καθώς κινείται η μορφή.
_____
Σηκώνει την πένα της μορφής, ώστε να μην ιχνογραφεί καθώς κινείται.
_____
Θέτει το χρώμα της πένας, μετά από επιλογή. Ταυτόχρονα μεταβάλλεται και η σκιά της πένας.
_____
Θέτει το χρώμα της πένας σε ορισμένη τιμή. Τιμές: 0 έως 200. (Κάλυψη όλου του κύκλου των χρωμάτων: 0=κόκκινο, 50=πράσινο, 100=γαλάζιο, 150=μοβ, 200=κόκκινο)
_____
Θέτει το πάχος της πένας σε ορισμένη τιμή.
_____
Αφήνει σφραγίδα με την εικόνα της μορφής στη Σκηνή.
Δομές ελέγχου
Τρέχει το σενάριο που βρίσκεται από κάτω, όταν πατηθεί η πράσινη σημαία.
_____
Τρέχει το σενάριο που βρίσκεται από κάτω, όταν πατηθεί ένα ορισμένο πλήκτρο στο πληκτρολόγιο.
_____
Τρέχει το σενάριο που βρίσκεται από κάτω, όταν γίνει κλικ πάνω σε μια μορφή.
_____
Περιμένει για ορισμένο αριθμό δευτερολέπτων και μετά συνεχίζει με την επόμενη εντολή.
_____
Τρέχει τις εντολές που βρίσκονται μέσα, ξανά και ξανά (ατέρμων βρόχος).
_____
Τρέχει τις εντολές που βρίσκονται μέσα για ορισμένες φορές (όσες λέει ο αριθμός).
_____
Αν η συνθήκη είναι αληθής, τότε τρέχει τις εντολές που βρίσκονται μέσα.
_____
Αν η συνθήκη είναι αληθής, τότε τρέχει τις εντολές που βρίσκονται μέσα στην πρώτη εσοχή. Αν η συνθήκη δεν είναι αληθής, τότε τρέχει τις εντολές που βρίσκονται στη δεύτερη εσοχή.
_____
Ελέγχει αν η συνθήκη είναι ψευδής. Αν είναι ψευδής, εκτελεί τις εντολές που βρίσκονται μέσα. Μετά ελέγχει πάλι τη συνθήκη. Αν είναι ξανά ψευδής, τρέχει τις ίδιες εντολές. Αν είναι αληθής, τρέχει τις επόμενες εντολές.
Αισθητήρες
Αναφέρει αληθές, αν η μορφή αγγίξει μια άλλη ορισμένη μορφή ή τα όρια της Σκηνής ή τον δείκτη του ποντικιού (επιλέγετε από το αναδιπλούμενο μενού).
_____
Αναφέρει αληθές, αν η μορφή αγγίξει ορισμένο χρώμα. (Κλικ στο κουτάκι για επιλογή χρώματος μέσω του σταγονόμετρου)
_____
Αναφέρει τη θέση x του δείκτη του ποντικιού.
_____
Αναφέρει αληθές, αν πατηθεί πλήκτρο του ποντικιού.
_____
Αναφέρει αληθές, αν πατηθεί ορισμένο πλήκτρο του πληκτρολογίου.
Τελεστές
Προσθέτει τους δύο αριθμούς.
_____
Διαλέγει έναν τυχαίο ακέραιο μέσα σε ορισμένο εύρος.
_____
Αναφέρει αληθές, αν η πρώτη τιμή είναι μικρότερη από τη δεύτερη.
_____
Ενώνει δύο αλφαριθμητικά.
_____
Αναφέρει το υπόλοιπο της διαίρεσης του πρώτου αριθμού με τον δεύτερο.
_____
Αναφέρει τον αριθμό στρογγυλεμένο στον πλησιέστερο ακέραιο.
Μεταβλητές
Θέτει την τιμή ορισμένης μεταβλητής.
_____
Προσθέτει ένα ορισμένο στοιχείο στο τέλος της λίστας. Το περιεχόμενο μπορεί να είναι αριθμός ή αλφαριθμητικό.
_____
Σβήνει ένα στοιχείο από τη λίστα. Εισάγετε τον αύξοντα αριθμό του στοιχείου που θα σβηστεί ή επιλέξτε από το αναδιπλούμενο μενού (το τελευταίο ή όλα).
_____
Εισάγει ένα νέο στοιχείο σε ορισμένη θέση μέσα στη λίστα. Εισάγετε τον αύξοντα αριθμό στον οποίο θα εισαχθεί το στοιχείο ή επιλέξτε τη θέση από το αναδιπλούμενο μενού (τελευταία ή οποιαδήποτε). Φυσικά, τα προϋπάρχοντα στοιχεία της λίστας, από αυτή τη θέση και πέρα, μετατοπίζονται κατά μία θέση.
Πως «εκτελείται» – ένα σενάριο
Φροντίζουμε πάντα στην αρχή του σεναρίου μας να χρησιμοποιήσουμε την εντολή: «όταν στο πράσινο σημαιάκι γίνει κλικ»
Έτσι κάθε φορά που πατάμε το πράσινο σημαιάκι αρχίζουν να «εκτελούνται» όλες οι εντολές που βρίσκονται κάτω από αυτό.
Στο παράδειγμα ο ήρωας θα κινηθεί 100 βήματα και θα στρίψει 180 μοίρες γύρω από τον εαυτό του. Θα αλλάξει δηλαδή κατεύθυνση. Η αλλαγή της κατεύθυνσης και όχι το «αναποδογύρισμα» του ήρωα οφείλεται στην επιλογή κατάλληλου στυλ στροφής από το μενού πάνω από το σημείο συγγραφής του σεναρίου.
Πατώντας το πράσινο σημαιάκι πάνω δεξιά, ή με διπλό κλικ πάνω στην εντολή «όταν στο σημαιάκι γίνει κλικ», το σενάριο που μόλις δημιουργήσαμε αρχίζει να εξελίσσεται…
Η ικανότητα να προγραμματίζετε είναι ένα σημαντικό κομμάτι της ικανότητας ανάγνωσης και γραφής στη σημερινή κοινωνία. Η εκμάθηση προγραμματισμού στο Scratch μαθαίνει στους χρήστες σημαντικές στρατηγικές για να λύνουν προβλήματα, να σχεδιάζουν έργα και να επικοινωνούν.
Οι μαθητές μαθαίνουν με το Scratch σε όλα τα σχολικά επίπεδα (από το δημοτικό έως και το πανεπιστήμιο) και σε διαφόρους κλάδους (όπως μαθηματικά, επιστήμες υπολογιστών, γλωσσικές επιστήμες και κοινωνικές μελέτες). Εκπαιδευτικοί ανταλλάσσουν πηγές, θέτουν ερωτήματα και επικοινωνούν με άλλους συναδέλφους στην ιστοσελίδα του ScratchEd.
Το περιβάλλον Προγραμματισμού
Εντολές κίνησης
Κινεί τη μορφή μπροστά ή πίσω.
_____
Περιστρέφει τη μορφή δεξιόστροφα.
_____
Περιστρέφει τη μορφή αριστερόστροφα.
_____
Προσανατολίζει τη μορφή προς ορισμένη κατεύθυνση. (0=πάνω, 90=δεξιά, 180=κάτω, –90=αριστερά).
______
Προσανατολίζει τη μορφή προς τη θέση του ποντικιού ή προς τη θέση άλλης μορφής.
______
Μεταφέρει τη μορφή σε ορισμένο x y σημείο στη Σκηνή.
______
Μεταφέρει τη μορφή στη θέση του ποντικιού ή στη θέση άλλης μορφής.
_____
Μετακινεί ομαλά τη μορφή προς ορισμένο σημείο για ορισμένο χρονικό διάστημα (σε δευτερόλεπτα).
_____
Στρέφει τη μορφή προς την αντίθετη κατεύθυνση, εάν αγγίξει το άκρο της Σκηνής.
Εντολές κινητήρων
Οι εντολές κινητήρων εμφανίζονται μόνο αν έχετε επιλέξει [Εμφάνιση εντολών κινητήρων] στο μενού Διόρθωσε ή αν έχετε συνδέσει ένα LEGO WeDo. Λειτουργούν με έναν κινητήρα LEGO WeDo. (Πληροφορίες:http://www.legoeducation.com)
Ενεργοποιεί τον κινητήρα για ορισμένα δευτερόλεπτα.
_____
Ενεργοποιεί / Απενεργοποιεί τον κινητήρα.
_____
Θέτει την ισχύ του κινητήρα και τον ενεργοποιεί. (Τιμές: από 0 έως 100)
_____
Θέτει ή αλλάζει την κατεύθυνση στροφής του κινητήρα, αλλά δεν τον ενεργοποιεί. (προς τα εδώ = δεξιόστροφα, προς τα εκεί = αριστερόστροφα ή αντιστροφή)
Εντολές εμφάνισης
Αλλάζει την εμφάνιση της μορφής αλλάζοντάς της ενδυμασία.
_____
Αλλάζει την ενδυμασία της μορφής στην επόμενη τής λίστας ενδυμασιών. (Αν η λίστα φτάσει στο τέλος, ξεκινά από την αρχή)
_____
Αλλάζει την εμφάνιση της Σκηνής αλλάζοντάς της υπόβαθρο.
_____
Εμφανίζει ένα πλαίσιο διαλόγου («μπαλονάκι ομιλίας»), για ορισμένο χρονικό διάστημα (σε δευτερόλεπτα).
_____
Εμφανίζει πλαίσιο διαλόγου («μπαλονάκι ομιλίας»). Το μπαλονάκι εξαφανίζεται, αν τρέξετε την εντολή χωρίς κείμενο.
_____
Αλλάζει το μέγεθος της μορφής κατά ορισμένη ποσότητα.
_____
Θέτει το μέγεθος της μορφής σε ορισμένο ποσοστό % του πραγματικού μεγέθους της.
_____
Κάνει τη μορφή να εμφανίζεται στη Σκηνή.
_____
Κάνει τη μορφή να εξαφανίζεται από τη Σκηνή. (Η κρυμμένη μορφή δεν γίνεται αντιληπτή από άλλες μορφές).
_____
Μετακινεί τη μορφή κατά ορισμένα επίπεδα πίσω, ώστε να μπορεί να κρυφτεί πίσω από άλλες πιο μπροστινές.
Εντολές ήχου
Παίζει έναν ήχο, επιλεγμένον από το αναδιπλούμενο μενού, και αμέσως συνεχίζει με την εκτέλεση της επόμενης εντολής, χωρίς να περιμένει την ολοκλήρωση του ήχου.
_____
Παίζει ένα κρουστό, επιλεγμένο από το αναδιπλούμενο μενού, για ορισμένο αριθμό μουσικών χρόνων (beat).
_____
Αλλάζει την ένταση ήχου της μορφής κατά ορισμένη ποσότητα. (Η ένταση παίρνει τιμές από 0 έως 100).
Εντολές διαχείρισης πένας
Καθαρίζει όλα τα ίχνη της πένας και τις σφραγίδες από τη Σκηνή.
_____
Κατεβάζει την πένα της μορφής, ώστε να ιχνογραφεί καθώς κινείται η μορφή.
_____
Σηκώνει την πένα της μορφής, ώστε να μην ιχνογραφεί καθώς κινείται.
_____
Θέτει το χρώμα της πένας, μετά από επιλογή. Ταυτόχρονα μεταβάλλεται και η σκιά της πένας.
_____
Θέτει το χρώμα της πένας σε ορισμένη τιμή. Τιμές: 0 έως 200. (Κάλυψη όλου του κύκλου των χρωμάτων: 0=κόκκινο, 50=πράσινο, 100=γαλάζιο, 150=μοβ, 200=κόκκινο)
_____
Θέτει το πάχος της πένας σε ορισμένη τιμή.
_____
Αφήνει σφραγίδα με την εικόνα της μορφής στη Σκηνή.
Δομές ελέγχου
Τρέχει το σενάριο που βρίσκεται από κάτω, όταν πατηθεί η πράσινη σημαία.
_____
Τρέχει το σενάριο που βρίσκεται από κάτω, όταν πατηθεί ένα ορισμένο πλήκτρο στο πληκτρολόγιο.
_____
Τρέχει το σενάριο που βρίσκεται από κάτω, όταν γίνει κλικ πάνω σε μια μορφή.
_____
Περιμένει για ορισμένο αριθμό δευτερολέπτων και μετά συνεχίζει με την επόμενη εντολή.
_____
Τρέχει τις εντολές που βρίσκονται μέσα, ξανά και ξανά (ατέρμων βρόχος).
_____
Τρέχει τις εντολές που βρίσκονται μέσα για ορισμένες φορές (όσες λέει ο αριθμός).
_____
Αν η συνθήκη είναι αληθής, τότε τρέχει τις εντολές που βρίσκονται μέσα.
_____
Αν η συνθήκη είναι αληθής, τότε τρέχει τις εντολές που βρίσκονται μέσα στην πρώτη εσοχή. Αν η συνθήκη δεν είναι αληθής, τότε τρέχει τις εντολές που βρίσκονται στη δεύτερη εσοχή.
_____
Ελέγχει αν η συνθήκη είναι ψευδής. Αν είναι ψευδής, εκτελεί τις εντολές που βρίσκονται μέσα. Μετά ελέγχει πάλι τη συνθήκη. Αν είναι ξανά ψευδής, τρέχει τις ίδιες εντολές. Αν είναι αληθής, τρέχει τις επόμενες εντολές.
Αισθητήρες
Αναφέρει αληθές, αν η μορφή αγγίξει μια άλλη ορισμένη μορφή ή τα όρια της Σκηνής ή τον δείκτη του ποντικιού (επιλέγετε από το αναδιπλούμενο μενού).
_____
Αναφέρει αληθές, αν η μορφή αγγίξει ορισμένο χρώμα. (Κλικ στο κουτάκι για επιλογή χρώματος μέσω του σταγονόμετρου)
_____
Αναφέρει τη θέση x του δείκτη του ποντικιού.
_____
Αναφέρει αληθές, αν πατηθεί πλήκτρο του ποντικιού.
_____
Αναφέρει αληθές, αν πατηθεί ορισμένο πλήκτρο του πληκτρολογίου.
Τελεστές
Προσθέτει τους δύο αριθμούς.
_____
Διαλέγει έναν τυχαίο ακέραιο μέσα σε ορισμένο εύρος.
_____
Αναφέρει αληθές, αν η πρώτη τιμή είναι μικρότερη από τη δεύτερη.
_____
Ενώνει δύο αλφαριθμητικά.
_____
Αναφέρει το υπόλοιπο της διαίρεσης του πρώτου αριθμού με τον δεύτερο.
_____
Αναφέρει τον αριθμό στρογγυλεμένο στον πλησιέστερο ακέραιο.
Μεταβλητές
Θέτει την τιμή ορισμένης μεταβλητής.
_____
Προσθέτει ένα ορισμένο στοιχείο στο τέλος της λίστας. Το περιεχόμενο μπορεί να είναι αριθμός ή αλφαριθμητικό.
_____
Σβήνει ένα στοιχείο από τη λίστα. Εισάγετε τον αύξοντα αριθμό του στοιχείου που θα σβηστεί ή επιλέξτε από το αναδιπλούμενο μενού (το τελευταίο ή όλα).
_____
Εισάγει ένα νέο στοιχείο σε ορισμένη θέση μέσα στη λίστα. Εισάγετε τον αύξοντα αριθμό στον οποίο θα εισαχθεί το στοιχείο ή επιλέξτε τη θέση από το αναδιπλούμενο μενού (τελευταία ή οποιαδήποτε). Φυσικά, τα προϋπάρχοντα στοιχεία της λίστας, από αυτή τη θέση και πέρα, μετατοπίζονται κατά μία θέση.
Πως «εκτελείται» – ένα σενάριο
Φροντίζουμε πάντα στην αρχή του σεναρίου μας να χρησιμοποιήσουμε την εντολή: «όταν στο πράσινο σημαιάκι γίνει κλικ»
Έτσι κάθε φορά που πατάμε το πράσινο σημαιάκι αρχίζουν να «εκτελούνται» όλες οι εντολές που βρίσκονται κάτω από αυτό.
Στο παράδειγμα ο ήρωας θα κινηθεί 100 βήματα και θα στρίψει 180 μοίρες γύρω από τον εαυτό του. Θα αλλάξει δηλαδή κατεύθυνση. Η αλλαγή της κατεύθυνσης και όχι το «αναποδογύρισμα» του ήρωα οφείλεται στην επιλογή κατάλληλου στυλ στροφής από το μενού πάνω από το σημείο συγγραφής του σεναρίου.
Πατώντας το πράσινο σημαιάκι πάνω δεξιά, ή με διπλό κλικ πάνω στην εντολή «όταν στο σημαιάκι γίνει κλικ», το σενάριο που μόλις δημιουργήσαμε αρχίζει να εξελίσσεται…