Γλώσσα προγραμματισμού Scratch

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μετάβαση σε: πλοήγηση, αναζήτηση
Scratch
Το λογότυπο του Scratch
Δημιουργός Lifelong Kindergarten Group, MIT Media Lab
Τελευταία έκδοση 2.0 (online)
Τύπος Εκπαιδευτικό λογισμικό
Κατηγορία Κονστρουκτιβισμός
Διαθέσιμο σε Πολυγλωσσικό
Ανάπτυξη Ενεργή
Άδεια χρήσης GPL v2
Ιστοσελίδα Scratch.mit.edu

Το Scratch είναι μια διερμηνευόμενη δυναμική οπτική γλώσσα προγραμματισμού βασισμένη και υλοποιημένη σε Squeak. Όντας δυναμική, επιτρέπει σε αλλαγές του κώδικα ακόμη και κατά τη διάρκεια της εκτέλεσης των προγραμμάτων. Έχει ως στόχο τη διδασκαλία εννοιών προγραμματισμού σε παιδιά και εφήβους και να τους επιτρέψει να δημιουργήσουν παιχνίδια, βίντεο και μουσική. Μπορεί να μεταφορτωθεί δωρεάν και χρησιμοποιείται σε μια ευρεία ποικιλία δράσεων εντός και εκτός του σχολείου ανά τον κόσμο.

Το όνομα Scratch παραπέμπει στην τεχνική του scratching στα παλαιά πικάπ, και αναφέρεται τόσο στη γλώσσα όσο και στην υλοποίηση της. Η ομοιότητα προς το scratching στη μουσική είναι η εύκολη επαναχρησιμοποίηση κομματιών: στο Scratch όλα τα αλληλεπιδραστικά αντικείμενα, γραφικά και ήχοι μπορούν εύκολα να εισαχθούν σε ένα νέο πρόγραμμα και να συνδυαστούν με νέους τρόπους. Έτσι οι αρχάριοι μπορούν να λάβουν γρήγορα αποτελέσματα και αποκτούν κίνητρο να προσπαθήσουν περαιτέρω.

Ο ιστότοπος δείχνει ταχεία ανάπτυξη της κοινότητας του Scratch: από το Μάρτιο 2007 ως τον Ιούνιο 2008, άνω των 119,000 λογαριασμών έχουν καταχωρηθεί, με άνω των 148,000 έργων να έχουν φορτωθεί. Η ταχέως αυξανόμενη διεθνής κοινότητα έχει μεταφράσει το Scratch σε διάφορες γλώσσες, με περισσότερες υπό εξέλιξη.

Η δημοτικότητα του Scratch στην εκπαίδευση οφείλεται στην ευκολία με την οποία μπορούν να δημιουργηθούν προγράμματα: οι εντολές και οι δομές δεδομένων είναι απλές και είναι τουλάχιστον μερικά γραμμένες στην καθομιλουμένη, και η δομή του προγράμματος μπορεί να σχεδιαστεί όπως ένα παζλ, με αποσπώμενα κομμάτια κώδικα που μπορούν να μετακινηθούν και προσαρμοστούν μαζί.

Το Scratch έχει αναπτυχθεί από μια μικρή ομάδα ερευνητών στο Lifelong Kindergarten Group [1] στο MIT Media Lab.[2]

Η δικτυακή κοινότητα του Scratch έλαβε μια τιμητική μνεία στην κατηγορία Digital Communities στο Prix Ars Electronica 2008 [3].

Χρήση ως διδασκόμενη γλώσσα[Επεξεργασία | επεξεργασία κώδικα]

Το Scratch χρησιμοποιείται παγκοσμίως σε διάφορα σχολεία και εκπαιδευτικούς οργανισμούς. Ο δικτυακός τόπος του Scratch έχει αναπτύξει μια κοινότητα από αρχόμενους προγραμματιστές, μαθητές, δασκάλους και ερασιτέχνες, που αλληλοπαρακινούνται να αναπτύξουν την δημιουργικότητα τους και τις προγραμματιστικές δεξιότητες τους. Ένα από τα φόρα στον ιστότοπο του Scratch είναι αφιερωμένο σε συζητήσεις μεταξύ εκπαιδευτικών.

Το σλόγκαν του Scratch είναι "Φαντάσου · Φτιάξε · Μοιράσου". Η έμφαση στο μοίρασμα είναι σημαντικό μέρος της παιδαγωγικής για το Scratch: τα προγράμματα δεν θεωρούνται μαύρα κουτιά, αλλά αντικείμενα που μπορούν να αναμιχθούν για τη δημιουργία νέων έργων. Ο μόνος τρόπος να γίνει ένα πρόγραμμα διαθέσιμο για χρήση είναι να δοθεί ο πηγαίος κώδικας του.

Περιβάλλον ανάπτυξης, ιστότοπος και Scratch Player[Επεξεργασία | επεξεργασία κώδικα]

Το περιβάλλον ανάπτυξης του Scratch μπορεί να μεταφορτωθεί δωρεάν και να εγκατασταθεί σε οποιοδήποτε υπολογιστή με Windows ή Mac OS X. Διάφορες εκδόσεις του Linux μπορούν να τρέξουν το Scratch, συγκεκριμένα για τα Suse Linux (openSUSE 11 και άνω) και Ubuntu, οι εγκαταστάτες (RPM για το Suse και DEB για Ubuntu) είναι διαθέσιμοι από τα επίσημα κοινοτικά καταθετήρια αυτών των εκδόσεων Linux. Ένας πειραματικός εγκαταστάτης για το Ubuntu είναι διαθέσιμος από το MIT. Το περιβάλλον ανάπτυξης του Scratch έχει υλοποιηθεί στη Squeak, ένα περιβάλλον ανάπτυξης για Smalltalk, που παρέχει ομοιόμορφη συμπεριφορά ανεξαρτήτως πλατφόρμας.

Τα προγράμματα Scratch μπορούν να φορτωθούν αυτόματα από το περιβάλλον ανάπτυξης σε προσωπικές σελίδες στον ιστότοπο του Scratch, όπου άλλα μέλη της κοινότητας του Scratch μπορούν να τα μεταφορτώσουν (συμπεριλαμβανομένου του πλήρους πηγαίου κώδικα) για μάθηση ή ανάμιξη σε νέα έργα. Ο ιστότοπος, που είναι υλοποιημένος πάνω στην πλατφόρμα ScratchR, παρέχει επίσης δυνατότητα στα μέλη της κοινότητας να σχολιάσουν έργα, πέραν της παροχής γενικών χώρων συζητήσεων και χώρων επίδειξης έργων. Προγράμματα που έχουν αναπτυχθεί σε Scratch μπορούν να εκτελούνται είτε στο περιβάλλον ανάπτυξης ή μέσω μιας μικροεφαρμογής Java γνωστής ως Scratch Player. Ο Scratch Player επιτρέπει σε προγράμματα Scratch να εκτελεστούν από σχεδόν οποιαδήποτε εφαρμογή εμφάνισης ιστοσελίδων.

Αρχές εύρους και χρήσης της γλώσσας[Επεξεργασία | επεξεργασία κώδικα]

Κατά το σχεδιασμό της γλώσσας, η κύρια προτεραιότητα ήταν να γίνει η γλώσσα και το περιβάλλον αυτονόητο και να γίνεται εύκολη εκμάθηση τους από παιδιά που δεν είχαν προηγούμενη προγραμματιστική εμπειρία. Υπάρχει μια ισχυρή αντίθεση μεταξύ των ισχυρών πολυμεσικών λειτουργιών και του πολυνηματικού προγραμματιστικού στυλ και του σχετικά περιορισμένου εύρους της γλώσσας προγραμματισμού.

Εμπειρικές μελέτες έχουν γίνει για διάφορες λειτουργίες — αυτές που παρεμπόδιζαν την φυσική εκμάθηση απορρίφθηκαν, ενώ αυτές που ενθάρρυναν τους αρχάριους και έκαναν εύκολη τη διερεύνηση και την εκμάθηση, διατηρήθηκαν. Ορισμένα από τα αποτελέσματα προκαλούν έκπληξη, κάνοντας το Scratch αρκετά διαφορετικό από άλλες διδασκόμενες γλώσσες (όπως η BASIC, η Logo, ή η Alice).

Για παράδειγμα, ο πολυνηματικός κώδικας μέσω περάσματος μηνυμάτων είναι θεμελιώδης για το Scratch, αλλά δεν έχει διαδικασίες ή Είσοδο/Έξοδο αρχείων (I/O) και υποστηρίζει μόνο μονοδιάστατους πίνακες, γνωστούς ως Λίστες. Οι αριθμοί κινητής υποδιαστολής και τα αλφαριθμητικά υποστηρίζονται από την έκδοση 1.3, αλλά με περιορισμένη ικανότητα διαχείρισης αλφαριθμητικών.

Ο κώδικας ομαδοποιείται σε διαφορετικές φιγούρες, καθεμία από τις οποίες μπορεί να κινηθεί ανεξάρτητα και να έχει πολλαπλές ενδυμασίες για δημιουργία κινούμενης εικόνας. Η γλώσσα μοιάζει περισσότερο με γλώσσες κινούμενης εικόνας όπως η ActionScript παρά με τις παραδοσιακές γλώσσες προγραμματισμού.

Η εστίαση ήταν πάντα στην παιγνιώδη μάθηση, ώστε τα παιδιά του δημοτικού σχολείου να μπορούν να κάνουν απλά έργα και οι έφηβοι να μπορούν γρήγορα να έχουν εκπληκτικά αποτελέσματα. Υπάρχει επίσης ένας αριθμός έμπειρων ενήλικων προγραμματιστών στην κοινότητα του Scratch, που γενικά αναζητούν τρόπους να διδάξουν προγραμματισμό στα παιδιά τους. Οι ενήλικες γενικά αντιδρούν ευνοϊκά στο γρήγορο και εύκολο προγραμματιστικό περιβάλλον, παρά τους σχετικά ισχυρούς περιορισμούς της γλώσσας.

Το περιβάλλον χρήστη του περιβάλλοντος ανάπτυξης του Scratch χωρίζει την οθόνη σε πολλαπλές περιοχές: στα αριστερά είναι η παλέτα με τα τμήματα κώδικα, στο κέντρο είναι οι πληροφορίες για την τρέχουσα φιγούρα και η περιοχή των σεναρίων (κώδικα), και στα δεξιά είναι η σκηνή και η λίστα με τις φιγούρες. Η παλέτα των τμημάτων κώδικα έχει τμήματα κώδικα (καλούνται "blocks") που μπορούν να συρθούν πάνω στην περιοχή των σεναρίων για τη δημιουργία προγραμμάτων. Για να διατηρηθεί η παλέτα σε όχι πολύ μεγάλο μέγεθος, οργανώνεται σε 8 ομάδες τμημάτων κώδικα: κίνηση, όψεις, ήχος, πένα, έλεγχος, αισθητήρες, αριθμοί, και μεταβλητές.

Σημειώσεις[Επεξεργασία | επεξεργασία κώδικα]

Εξωτερικοί σύνδεσμοι[Επεξεργασία | επεξεργασία κώδικα]

Πηγές εκμάθησης

Άρθρα για το Scratch στα νέα

Ακαδημαϊκά έργα για το Scratch ή αναφερόμενα σε αυτό