Your SlideShare is downloading. ×
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Εξελληνισμός και Διδακτική Αξιοποίηση Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Scratch

7,838

Published on

Συμβολή στον Εξελληνισμό και τη Διδακτική Αξιοποίηση του Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος (Χρυσάνθη Τζιωρτζιώτη, Εκπαιδευτικός ΠΕ-04) …

Συμβολή στον Εξελληνισμό και τη Διδακτική Αξιοποίηση του Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος (Χρυσάνθη Τζιωρτζιώτη, Εκπαιδευτικός ΠΕ-04)

Published in: Education, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,838
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
57
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Συμβολή στον Εξελληνισμό και τη Διδακτική Αξιοποίηση του Εκπαιδευτικού Προγραμματιστικού Περιβάλλοντος Χρυσάνθη Τζιωρτζιώτη Εκπαιδευτικός ΠΕ-04
  • 2. ΠΕΡΙΕΧΟΜΕΝΑΕισαγωγή........................................................................................................................41.Θεωρητικό πλαίσιο......................................................................................................7 Η διαδικασία της δημιουργικής μάθησης ..................................................................7 Φαντασία................................................................................................................8 Δημιουργικότητα....................................................................................................9 Παιχνίδι................................................................................................................10 Διαμοίραση...........................................................................................................11 Αναστοχασμός......................................................................................................12 Φαντασία..............................................................................................................12 Η τεχνολογική ευχέρεια...........................................................................................132.Το εκπαιδευτικό περιβάλλον προγραμματισμού ......................................................16 Προγραμματιστικά περιβάλλοντα στα οποία στηρίχθηκε η ανάπτυξη του ............21 Ενίσχυση των δεξιοτήτων μάθησης του 21ου αιώνα με το .....................................233.Η συμβολή στην προσπάθεια εξελληνισμού του ....................................................26 Pootle........................................................................................................................27 ScratchR...................................................................................................................32 Αναλυτική περιγραφή της ελληνικής διεπαφής του – Οδηγός χρήσης.................34 1.Εισαγωγή...........................................................................................................34 2.Η επιφάνεια διεπαφής του χρήστη....................................................................35 3.Πλακίδια Scratch...............................................................................................444.Μαθαίνοντας το με απλά παραδείγματα εφαρμογής................................................57 Κίνηση και Ήχος......................................................................................................57 Επανέλαβε!...............................................................................................................60 Μίλα!........................................................................................................................61 Παίζοντας με το χρώμα!...........................................................................................62 Δημιούργησε τις δικές σου Φιγούρες!.....................................................................63 Παίξε τύμπανο!.........................................................................................................65 Άλλαξε κατεύθυνση!................................................................................................66 Ας Χορέψουμε!........................................................................................................68 Ας χορέψουμε μαζί!.................................................................................................70 Δημιούργησε εφέ!....................................................................................................72 Πήγαινε και λάμψε!..................................................................................................73 Αναπήδησε!..............................................................................................................74 Κρύψου!...................................................................................................................75 Εμφανίσου!...............................................................................................................75 Άλλαξε μουσικό όργανο!.........................................................................................76 Ώρα για παιχνίδι!......................................................................................................78 Παίξε Μουσική!.......................................................................................................79 Ζωγράφισε!...............................................................................................................80Αξιοποιώντας διδακτικά το .........................................................................................81 Το λουλούδι του Πτολεμαίου...................................................................................83 Η πεταλούδα του Πτολεμαίου..................................................................................84 Μια μέλισσα στον κήπο...........................................................................................85 Squiral......................................................................................................................86 Squiral_knitted_star..................................................................................................87 Squiral_spiral............................................................................................................88 Squiral_star...............................................................................................................89 Γάτες και Σκύλοι......................................................................................................90 Σελίδα 2 από 114
  • 3. 1η έκδοση.............................................................................................................90 2η έκδοση.............................................................................................................91 3η έκδοση.............................................................................................................92 Πιάνο........................................................................................................................93 Οικογενειακό παιχνίδι..............................................................................................94 Λαβύρινθος...............................................................................................................95 Μια παραλλαγή του WHEEMO...............................................................................96 Μια παραλλαγή του Move Monkey Dress Up.........................................................97Παράρτημα I...............................................................................................................100 Σελίδα 3 από 114
  • 4. ΕισαγωγήΟ προγραμματισμός Η/Υ θεωρείται γενικά μια σημαντική ικανότητα. Οπρογραμματισμός μπορεί να αξιοποιηθεί στην ανάπτυξη προηγμένωνδεξιοτήτων του 21ου αιώνα, όπως: επίλυση προβλημάτων, δημιουργικήσκέψη, λογικό συλλογισμό, συστηματικό πειραματισμό κ.α (Maloney et al,2004). Πιο πρόσφατα ο προγραμματισμός Η/Υ αναφέρεται και ωςεγγραματισμός για τη σύγχρονη κοινωνία, ο οποίος επιτρέπει στους πολίτεςνα είναι ενεργοί παραγωγοί διαδραστικού ψηφιακού περιεχομένου (Monroy-Hernandez, 2007; Peppler & Kafai, 2007).Παρά την σημασία του ο προγραμματισμός Η/Υ παρουσιάζει δυσκολίες στηνεκμάθηση του (Pea, 1986; Wiedenbeck, 2005). Πολλοί μαθητέςαντιμετωπίζουν δυσκολίες στην κατανόηση κεντρικών εννοιών και στησύνθεση προγραμμάτων με συγκεκριμένες προδιαγραφές. Για να αυξηθεί ησυμμετοχή και να αμβλυνθούν τα εμπόδια εκμάθησης του προγραμματισμούΗ/Υ έχουν προταθεί διάφορες προσεγγίσεις όπως: η ανάπτυξη εδικώνεκπαιδευτικών γλωσσών προγραμματισμού (Φεσάκης & Δημητρακοπούλου2006) που καθιστούν τον προγραμματισμό ελκυστικότερο, η έρευνα τηςΔιδακτικής του προγραμματισμού (Wiedenbeck, 2005) και η μελέτηπεριβαλλόντων άτυπης μάθησης του προγραμματισμού (Maloney et al,2008).Το Scratch (MIT Media Lab, 2008) είναι ένα εκπαιδευτικό περιβάλλονπρογραμματισμού που αναπτύχθηκε από το ομώνυμο έργο στο MIT MediaLab. Το Scratch διαθέτει γραφική γλώσσα προγραμματισμού με την οποίακαθιστά πιο προσιτό τον προγραμματισμό στα παιδιά (από 8 ετών και άνω),τους εφήβους και άλλους αρχάριους προγραμματιστές. Οι βασικές δομέςελέγχου (ακολουθία, επιλογή και επανάληψη) συντίθενται με το σύρσιμο καιτο στοίβαγμα γραφικών πλακιδίων που αντιστοιχούν σε εντολές.Ο προγραμματισμός με δομικά στοιχεία εξαλείφει τα συνήθη προβλήματα τωνσυντακτικών λαθών επειδή τα πλακίδια μπορούν να τοποθετηθούν μαζί μόνομε συντακτικά ορθό τρόπο. Επιπλέον των βασικών δομών ελέγχου, η γλώσσαπαρέχει πυροδότες γεγονότων (event trigger: when-clicked, when-key-pressed) για καθοδηγούμενο από τα γεγονότα προγραμματισμό και εκπομπή Σελίδα 4 από 114
  • 5. ανοικτής ακρόασης ονοματισμένων μηνυμάτων (named broadcasts) γιαπολυνηματικό προγραμματισμό. Με το Scratch οι αρχάριοι προγραμματιστέςεξοικειώνονται επίσης και με άλλες προγραμματιστικές έννοιες όπωςμεταβλητές, λίστες, πίνακες, δίτιμη λογική, σχεδιασμός διεπαφής χρήστη κ.α.Τα σενάρια που αναπτύσσει κανείς με το Scratch μπορούν να είναι πλούσιασε μέσα και να χρησιμοποιούν γραφικά, κινούμενες εικόνες (animation),μουσική και ήχους. Το Scratch δίνει τη δυνατότητα δημιουργίας ηλεκτρονικώνπαιχνιδιών, κινουμένων εικόνων (animation), αλληλεπιδραστικών ιστοριώνκ.α. Επίσης, επιτρέπει στον χρήστη να μοιραστεί τις δημιουργίες του στοδιαδίκτυο (http://scratch.mit.edu). Η κοινότητα του Scratch δίνει την ευκαιρίανα ανταλλάξει κανείς ιδέες και απόψεις με άλλους δημιουργούς και ναεμπλακεί ενεργά σε μια κοινότητα πρακτικής και μάθησης.Η παρούσα διπλωματική εργασία αποτελείται από πέντε κεφάλαια. Στοπρώτο κεφάλαιο αναλύεται το θεωρητικό πλαίσιο στο οποίο στηρίχθηκε οσχεδιασμός και η ανάπτυξη του προγραμματιστικού περιβάλλοντος Scratch.Η εκπαιδευτική προσέγγιση στην οποία βασίστηκε η ερευνητική ομάδα τουScratch είναι εμπνευσμένη από δύο σημαντικές θεωρίες της μάθησης: τονκονστρουκτιβισμό και τον κονστρουκτιονισμό. Η κονστρουκτιβιστική θεωρίατης μάθησης, η οποία ως γνωστόν αναπτύχθηκε από τον Ελβετό ψυχολόγοJean Piaget, θεωρεί τη μάθηση ως μια ενεργή διαδικασία στην οποία οιάνθρωποι συνεχώς οικοδομούν νέα γνώση από την εμπειρία τους. Σύμφωναμε τη θεωρία αυτή, οι άνθρωποι δεν παίρνουν ιδέες αλλά τις δημιουργούν. Οκονστρουκτιβισμός ευθύνεται για πολλές μεταρρυθμιστικές πρωτοβουλίες στοχώρο της εκπαίδευσης. Ως εξέλιξη της κονστρουκτιβιστικής θεωρίας τηςμάθησης μπορούμε να θεωρήσουμε την κονστρουκτιονιστική θεωρία. Ηπροσέγγιση αυτή που αναπτύχθηκε στο ΜΙΤ από τον καθηγητή SeymourPapert, είναι βασισμένη σε δύο τύπους οικοδόμησης της γνώσης: υποστηρίζειότι οι άνθρωποι οικοδομούν τη νέα γνώση πολύ καλά όταν εμπλέκονται οιίδιοι στην κατασκευή πραγμάτων που έχουν νόημα για εκείνους ή τους γύρωτους. Μπορεί να οικοδομούν πύργους στην άμμο, μηχανές LEGO, ήπρογράμματα για τους υπολογιστές. Αυτό που είναι σημαντικό είναι η ενεργήεμπλοκή τους στην κατασκευή κάποιου πράγματος που θα είναι ουσιώδες γιατους ίδιους ή για τους γύρω. Σελίδα 5 από 114
  • 6. Στο δεύτερο κεφάλαιο περιγράφεται το περιβάλλον της γλώσσαςπρογραμματισμού Scratch, τα βασικά χαρακτηριστικά του, ταπρογραμματιστικά περιβάλλοντα στα οποία στηρίχθηκε η ανάπτυξη του και ηυποστήριξη που παρέχει ο προγραμματισμός με το Scratch στην ανάπτυξητων δεξιοτήτων μάθησης του 21ου αιώνα.Το προγραμματιστικό περιβάλλον Scratch για την ενίσχυση της συνεργασίαςκαι της διαμοίρασης δημιουργικών εργασιών ανάμεσα στα μέλη της διεθνούςκοινότητας του, υποστηρίζει πολλές γλώσσες. Στο τρίτο κεφάλαιοπεριγράφεται η συμβολή στην προσπάθεια εξελληνισμού του Scratch ωςμέλος της διαδικτυακής κοινότητας.Το τέταρτο κεφάλαιο περιλαμβάνει δέκα επτά απλά παραδείγματα πουβοηθούν τον αρχάριο προγραμματιστή να δημιουργήσει τα πρώτα σενάριαστο Scratch.Στο πέμπτο κεφάλαιο παρουσιάζονται δώδεκα σενάρια που αναπτύχθηκανστο εκπαιδευτικό προγραμματιστικό περιβάλλον του Scratch, κάποια απόαυτά βασισμένα σε παλαιότερες εφαρμογές της Logo, τα οποία έχουναναρτηθεί στην ιστοσελίδα http://scratch.mit.edu/users/tziortzioti στο δικτυακότόπο του Scratch.Τέλος, στο Παράρτημα παρατίθενται μέρος των σχολίων που αντηλλάγησανμε την ομάδα σχεδιασμού και ανάπτυξης του MIT LLK και αφορούν στηνεπισήμανση σφαλμάτων και δυσλειτουργιών καθώς και σε προτάσειςβελτίωσης. Σελίδα 6 από 114
  • 7. 1. Θεωρητικό πλαίσιοΗ διαδικασία της δημιουργικής μάθησηςΣε μια κοινωνία που χαρακτηρίζεται από την αβεβαιότητα και τις γρήγορεςαλλαγές, η ικανότητα να σκέφτεται κανείς δημιουργικά αποτελεί το κλειδί γιατην προσωπική και επαγγελματική ικανοποίηση και επιτυχία. Για τα παιδιάτου σήμερα, είναι πολύ σημαντικό να μάθουν να λειτουργούν δημιουργικά -να προγραμματίζουν συστηματικά, να αναλύουν κριτικά, να δουλεύουνσυνεργατικά, να επικοινωνούν ξεκάθαρα, να σχεδιάζουν επαναλαμβανόμενα,να μαθαίνουν διαρκώς - και να βρίσκουν καινοτόμες λύσεις στις αναπάντεχεςκαταστάσεις που διαρκώς θα προκύπτουν στη ζωή τουςΗ διαδικασία της δημιουργικής μάθησης μπορούμε να θεωρήσουμε ότι είναιμια σπειροειδής διαδικασία, κατά την οποία τα παιδιά σκέφτονται το τι θέλουννα κάνουν, δημιουργούν μια εργασία βασισμένη στις ιδέες τους, παίζουν μετις δημιουργίες τους, μοιράζονται τις δημιουργίες τους με άλλους,αναστοχάζονται πάνω σ’ αυτές – πράγμα που τους οδηγεί να σκέφτονται νέεςιδέες για νέες εργασίες.Μέσα από αυτή τη διαδικασία, τα παιδιά αναπτύσσουν και αποσαφηνίζουν τιςικανότητές τους ως δημιουργικά σκεπτόμενα άτομα. Μαθαίνουν νααναπτύσσουν τις ιδέες τους, να τις δοκιμάζουν, να ελέγχουν τα όρια, ναπειραματίζονται με εναλλακτικές λύσεις, να λαμβάνουν ανατροφοδότηση απόάλλους – και, ίσως το πιο σημαντικό, να παράγουν νέες ιδέες βασισμένες στιςεμπειρίες τους. Στην πραγματικότητα, τα βήματα της διαδικασίας δεν είναιτόσο ευδιάκριτα ή σειριακά όπως προσδιορίστηκαν. Η φαντασία, ηδημιουργικότητα, το παιχνίδι, η διαμοίραση και ο αναστοχασμός είναιμπλεγμένα μεταξύ τους με διαφορετικούς τρόπους. Αλλά τα στοιχεία κλειδιάβρίσκονται πάντα εκεί, με τη μια μορφή ή την άλλη.Οι ψηφιακές τεχνολογίες, αν σχεδιαστούν και υποστηριχθούν κατάλληλα,μπορούν να παίξουν ένα μετασχηματιστικό ρόλο στην εκπαίδευση,υποστηρίζοντας τη δημιουργική διαδικασία μάθησης, έτσι ώστε τα παιδιά να Σελίδα 7 από 114
  • 8. μαθαίνουν και να αναπτύσσονται ως δημιουργικά σκεπτόμενα άτομα για νααντιμετωπίζουν τα προβλήματα της καθημερινότητάς τους. Φαντα σία Αναστοχα σμός Φαντα σία Δημιουργι κότητα Διαμοίρα ση Εκσφαλ μάτωση Σχήμα 1: Η διαδικασία της δημιουργικής μάθησης ΦαντασίαΑς αναλογιστούμε τα πιο δημοφιλή υλικά που χρησιμοποιούν τα παιδιά σταπαιχνίδια τους: ξύλινα τουβλάκια για να κατασκευάσουν, χρωματιστά μολύβιαγια να ζωγραφίσουν, κούκλες για τα παιχνίδια ρόλων, σχήματα για νασχεδιάσουν γεωμετρικά μοτίβα. Όλα αυτά τα υλικά είναι σχεδιασμένα ώστε ναενισχύεται η φαντασία τους. Τα υλικά δεν περιορίζουν ούτε καθορίζουν τιςιδέες των παιδιών. Παιδιά με διαφορετικά ενδιαφέροντα και διαφορετικούςτρόπους μάθησης μπορούν να χρησιμοποιήσουν τα ίδια υλικά, αλλά το κάθεένα με τον δικό του προσωπικό τρόπο.Κατά τον ίδιο τρόπο, οι διαρκώς εξελισσόμενες τεχνολογίες πρέπει ναπαρέχουν στους μαθητές διαφορετικούς τύπους εργαλείων, μέσων καιυλικών, προκειμένου να δουλέψουν πιο σύνθετα έργα και να μάθουν πιοσύνθετες έννοιες. Βασική αρχή είναι «πολλά διαφορετικά μονοπάτια, πολλοίδιαφορετικοί τρόποι» - που σημαίνει, να αναπτύσσονται τεχνολογίες πουμπορούν να χρησιμοποιηθούν σε διαφορετικά μονοπάτια, από παιδιά με Σελίδα 8 από 114
  • 9. διαφορετικά στυλ μάθησης. Πολύ συχνά, οι εκπαιδευτικές τεχνολογίες είναιυπερβολικά περιορισμένες, όπως σχεδιασμένο εκπαιδευτικό λογισμικό ειδικάγια τη διδασκαλία της Άλγεβρας, ή λογισμικό προσομοίωσης για τημοντελοποίηση της κίνησης των πλανητών στο ηλιακό σύστημα. Στόχος είναιη παροχή εργαλείων που μπορούν να χρησιμοποιηθούν με διαφορετικούςτρόπους, αφήνοντας χώρο στη φαντασία των παιδιών. Η πρόκληση στοσχεδιασμό τέτοιων εργαλείων είναι η ανάπτυξη από τη μια πλευρά ειδικώνχαρακτηριστικών γνωρισμάτων, ώστε τα παιδιά να μαθαίνουν γρήγορα ναχρησιμοποιούν τα εργαλεία αυτά και από την άλλη τόσο γενικώνχαρακτηριστικών, ώστε τα παιδιά να μπορούν διαρκώς να σκέφτονται νέουςτρόπους να τα χρησιμοποιούν. ΔημιουργικότηταΗ δημιουργικότητα βρίσκεται στη ρίζα της δημιουργικής σκέψης. Ανεπιθυμούμε τα παιδιά να αναπτυχθούν ως δημιουργικά σκεφτόμενα άτομα,οφείλουμε να τους παρέχουμε ευκαιρίες για δημιουργία.Ο Friedrich Froebel κατείχε αυτή την ιδέα όταν άνοιξε το πρώτο νηπιαγωγείοτο 1837. Ο Froebel γέμισε το νηπιαγωγείο του με αντικείμενα (όπωςτουβλάκια, χάντρες και σχήματα) που τα παιδιά μπορούσαν ναχρησιμοποιήσουν για να κατασκευάσουν, σχεδιάσουν και δημιουργήσουν. ΟFroebel είχε κατασκευάσει τέτοιου τύπου αντικείμενα, ώστε καθώς τα παιδιάπαίζανε και κατασκευάζανε με αυτά, να μαθαίνουν για σχέδια και μορφές πουσυναντάμε στη φύση.Ο Froebel, για την κατασκευή των αντικειμένων του, περιορίστηκε στα υλικάπου ήταν διαθέσιμα στην αρχή του 19ου αιώνα. Στην σύγχρονη όμως εποχή,με τα ηλεκτρονικά και ψηφιακά υλικά, μπορούμε να δημιουργήσουμε νέουςτύπους από κατασκευαστικά πακέτα, επεκτείνοντας την προσέγγιση τουFroebel για τα νηπιαγωγεία σε μεγαλύτερης ηλικίας μαθητές, που θαεργάζονται σε πιο σύνθετα σενάρια και θα μαθαίνουν πιο σύνθετες ιδέες. Σεαυτή την κατεύθυνση έχουν αναπτυχθεί εκπαιδευτικά λογισμικά όπως τοMindstorms Lego και το Cricket. Σελίδα 9 από 114
  • 10. Δυστυχώς, τέτοια εκπαιδευτικά πακέτα αποτελούν την εξαίρεση παρά τονκανόνα στα σημερινά καταστήματα παιχνιδιών. Τα περισσότερα ηλεκτρονικάπαιχνίδια δεν κατασκευάστηκαν με το πνεύμα του Froebel, καθώς δενπαρέχουν στα παιδιά ευκαιρίες για να σχεδιάσουν ή να δημιουργήσουν. Ταπερισσότερα ηλεκτρονικά παιχνίδια είναι προ-προγραμματισμένα από τηνεταιρεία παραγωγής. Τα παιδιά δεν μπορούν να σχεδιάσουν ή ναδημιουργήσουν με αυτά τα παιχνίδια, μπορούν μόνο να αλληλεπιδράσουνμαζί τους. Για παράδειγμα: πιάνοντας το χέρι της κούκλας αυτή χαμογελάει ήτραγουδώντας στην κούκλα αυτή αρχίζει να χορεύει. Σίγουρα οι σχεδιαστέςκαι οι κατασκευαστές των παιχνιδιών αυτών μαθαίνουν πολλά καθώςδημιουργούν τα παιχνίδια αυτά, αλλά είναι αμφίβολο το τι μαθαίνουν τα παιδιάαλληλεπιδρώντας μαζί τους. ΠαιχνίδιΟ Piaget υποστήριζε ότι «το παιχνίδι είναι η εργασία των παιδιών». Βεβαίωςοι περισσότεροι ενήλικες αναγνωρίζουν την σημασία του παιχνιδιού και τηςπαροχής ευκαιριών για παιχνίδι στα παιδιά. Αλλά καθώς τα παιδιάμεγαλώνουν, οι εκπαιδευτικοί και οι γονείς, συχνά μιλούν με απαξίωση για τοπαιχνίδι, θεωρώντας ότι το παιχνίδι είναι διαχωρισμένο ίσως ακόμη και σεαντίθεση με τη μάθηση.Το παιχνίδι και η μάθηση μπορούν και πρέπει να είναι στενά συνδεδεμένα. Τοκάθε ένα περιλαμβάνει μια διαδικασία πειραματισμού, εξερεύνησης, καιελέγχου των ορίων.Δυστυχώς, πολλές απόπειρες σύνδεσης του παιχνιδιού και της μάθησης δενκατάφεραν τα επιθυμητά αποτελέσματα. Και αυτό γιατί δημιουργοί προϊόντωναντιμετώπισαν την εκπαίδευση σαν «χάπι» που πρέπει να «χρυσωθεί» με τηδιασκέδαση. Η διασκέδαση παρέχεται σαν ανταμοιβή για την ταλαιπωρία πουθα υποστεί ο μαθητής κατά την εκπαίδευση. Ή διαφορετικά, ότι οι μαθητέςδιασκεδάζουν σε τέτοιο βαθμό χρησιμοποιώντας τα προϊόντα αυτά, που δεναντιλαμβάνονται ότι μαθαίνουν – σαν να είναι η εκπαίδευση η πιο δυσάρεστηεμπειρία. Σελίδα 10 από 114
  • 11. Επίσης, όταν σκεφτόμαστε τη διασκέδαση και την εκπαίδευση θεωρούμαι ότιπρόκειται για υπηρεσίες που κάποιος άλλος θα μας τις παρέχει. Τηδιασκέδαση μας την παρέχουν τα στούντιο, οι σκηνοθέτες και οι ηθοποιοί ενώτην εκπαίδευση την παρέχουν τα σχολεία και οι δάσκαλοι. Σε αυτή τηπροσέγγιση το άτομο είναι παθητικός δέκτης.Όμως, αν θέλουμε να βοηθήσουμε τα παιδιά να εξελιχθούν ως δημιουργικάσκεπτόμενα άτομα, είναι πιο αποτελεσματικό να εστιάσουμε στο παιχνίδι καιστη μάθηση (με πράγματα που τα ίδια κάνουν). ΔιαμοίρασηΕνώ η έννοια του μοιράσματος ήταν και είναι σημαντικό κομμάτι στον κόσμοτων παιδιών, η ικανότητα του να μοιράζεσαι και να συνεργάζεσαι ατονεί στασχολικά χρόνια. Αυτό αρχίζει να αλλάζει τελευταία, ως αποτέλεσμα μιαςσειράς ανεξάρτητων και συγκλινουσών τάσεων, που ζητούν από το σχολείονα δείξει μεγαλύτερη προσοχή στο μοίρασμα και τη συνεργασία:  Εταιρίες και πολιτικοί, επισημαίνουν ότι η ομαδική εργασία είναι πιο σημαντική στη σύγχρονη εποχή από ποτέ, και ενθαρρύνουν τα σχολεία να δώσουν μεγαλύτερη προσοχή στη συνεργασία ώστε να προετοιμάσουν τους μαθητές τους για τον εργασιακό τους βίο  Ερευνητές της εκπαίδευσης, βασιζόμενοι στην θεωρία του Vygotsky, εστιάζουν περισσότερο στην κοινωνική φύση της μάθησης  Η αύξηση του αριθμού των διαδραστικών τεχνολογιών και η εξάπλωση του διαδικτύου δίνει στους ανθρώπους τη δυνατότητα να δημιουργήσουν και να μοιραστούν ιδέες και μέσα, σε ιστολόγια και ηλεκτρονικές κοινότητες όπως το Flickr (για φωτογραφίες) και το YouTube (για βίντεο).Ακόμη και στη σημερινή «συμμετοχική κουλτούρα», λίγοι είναι εκείνοι πουδημιουργούν και μοιράζονται προγραμματιστικά μέσα (όπως διαδραστικούςχαρακτήρες και διαδραστικά παιχνίδια). Ένα πλήθος διαδικτυακών τόπωνόπως το Second Life κάνει εύκολο το να δημιουργήσει και να μοιράσεικάποιος χρήστης γραφικά αντικείμενα, όμως το να κάνει τα αντικείμενα αυτά Σελίδα 11 από 114
  • 12. δυναμικά και αλληλεπιδραστικά απαιτεί γνώσεις σε γλώσσαπρογραμματισμού που παρουσιάζει δυσκολίες στην εκμάθηση της.Η δυσκολία στη διαμοίραση προγραμματιστικών μέσων ήταν ένας από τουςπεριοριστικούς παράγοντες των προηγούμενων προσπαθειών τηςεξοικείωσης των παιδιών με τον προγραμματισμό. Σε μια κριτική για τη Logo,π.χ. ο Marvin Minsky επεσήμανε ότι η Logo έχει μια καταπληκτική γραμματικήαλλά δεν παρέχει αλφαβητισμό. Ενώ οι νέοι συγγραφείς εμπνέονταιδιαβάζοντας μεγάλα έργα της λογοτεχνίας, δεν υπάρχει αναλόγως μιαβιβλιοθήκη με μεγάλα έργα στην Logo που να εμπνέουν τους νέουςπρογραμματιστές. Επίσης, δεν παρέχεται η δυνατότητα στους νέουςπρογραμματιστές να μοιράζονται τα έργα τους με άλλους. ΑναστοχασμόςΟ αναστοχασμός, δηλαδή η δυνατότητα να μπορούν τα παιδιά να συζητούν,να προβληματίζονται και να λαμβάνουν ανατροφοδότηση για τα έργα τους,αποτελεί κρίσιμο κομμάτι της δημιουργικής διαδικασίας. Η προσοχή εστιάζεταιστον κριτικό αναστοχασμό της ιδέας που βρίσκεται πίσω από το σχέδιο, ήστις στρατηγικές βελτίωσης του σχεδιασμού ή στις συνδέσεις επιστημονικώνεννοιών και σχετιζόμενων φαινομένων του πραγματικού κόσμου που διέπουντο έργο. ΦαντασίαΗ επανάληψη βρίσκεται στην καρδιά της δημιουργικής διαδικασίας. Ησπειροειδής δημιουργική κίνηση: διαδικασία – παιχνίδι – διαμοίραση –αναστοχασμός, αναπόφευκτα οδηγεί σε νέες ιδέες – οδηγώντας πίσω στηνφαντασία και το ξεκίνημα ενός νέου κύκλου … Δεν περιμένουμε τα πράγματανα πάνε καλά με την πρώτη προσπάθεια. Διαρκώς κριτικάρουμε,προσαρμόζουμε, τροποποιούμε, αναθεωρούμε. Δεν έχει σημασία αν ταπαιδιά δημιουργούν μια κινούμενη ιστορία ή κατασκευάζουν ένα διαδραστικόχαρακτήρα. Σε κάθε περίπτωση το μήνυμα είναι το ίδιο: επαναλάβατε,επαναλάβατε και ξανά επαναλάβατε. Ο χρόνος φυσικά είναι σημαντικός στηδιαδικασία. Αν τα παιδιά διαθέσουν χρόνο μόνο για έναν σπειροειδή κύκλο,θα χάσουν το πιο σημαντικό τμήμα της δημιουργικής διαδικασίας. Σελίδα 12 από 114
  • 13. Η τεχνολογική ευχέρεια Η έκθεση του NRC ορίζει την «τεχνολογική ευχέρεια» ως την«ικανότητα να ανασχηματίζει κανείς τη γνώση, να εκφράζεται δημιουργικά καινα παράγει διαθέσιμη πληροφορία (όχι απλά να την επικοινωνεί)». Ητεχνολογική ευχέρεια, σύμφωνα με την αναφορά, «ξεπερνά τις παραδοσιακέςέννοιες του ψηφιακού εγγραμματισμού … απαιτεί μια βαθύτερη, πιοουσιαστική αντίληψη και γνώση των Νέων Τεχνολογιών για την επεξεργασίατης πληροφορίας και την επίλυση προβλημάτων, από ότι ο ψηφιακόςεγγραμματισμός, σύμφωνα με τον παραδοσιακό ορισμό». Σύμφωνα πάντα μετην έκθεση του NRC, οι ικανότητες που είναι συνδεδεμένες με τονπρογραμματισμό παίζουν «κεντρικό ρόλο» στην τεχνολογική ευχέρεια. Οαλγοριθμικός τρόπος σκέψης που είναι σύμφυτο στοιχείο τουπρογραμματισμού, είναι ουσιώδης στην κατανόηση του πως και γιατί ταπληροφοριακά συστήματα λειτουργούν με τον τρόπο που λειτουργούν. Τι σημαίνει λοιπόν να διαθέτει κάποιος τεχνολογική ευχέρεια; Ας τοσκεφτούμε αναλογικά με την εκμάθηση μιας ξένης γλώσσας. Φανταστείτεκάποιον που έμαθε μερικές φράσεις έτσι ώστε να διαβάζει το μενού σταεστιατόρια και να ζητά οδηγίες στο δρόμο. Θα θεωρούσατε ότι έχει άνεση στηχρήση της ξένης γλώσσας; Σίγουρα όχι. Αυτός ο τύπος γνώσης, των«φράσεων», είναι ισοδύναμος με τον τρόπο που οι περισσότεροιχρησιμοποιούμε τον υπολογιστή σήμερα. Είναι αυτή η γνώση χρήσιμη; Ναι.Αλλά δεν μπορούμε να τη θεωρήσουμε ως τεχνολογική ευχέρεια. Το ναέχουμε ευχέρεια στη χρήση μιας ξένης γλώσσας, σημαίνει να μπορούμε ναεκφράζουμε μια σύνθετη ιδέα ή να διηγούμαστε μια ιστορία, που σημαίνει ότιπρέπει να μπορούμε να «κάνουμε πράγματα» με τη ξένη γλώσσα. Ομοίως, τονα έχουμε τεχνολογική ευχέρεια σημαίνει όχι μόνο να γνωρίζουμε πως μαχρησιμοποιούμε τεχνολογικά εργαλεία, αλλά επίσης, να γνωρίζουμε πώς νακατασκευάζουμε πράγματα που έχουν νόημα με τα εργαλεία αυτά.Στον πίνακα που ακολουθεί αναλύονται έξι στοιχεία που προσδιορίζουν τηντεχνολογική ευχέρεια. Ικανότητα χρήσης του  Χρήση βασικών χαρακτηριστικών υπολογιστή γνωρισμάτων του υπολογιστικού συστήματος Σελίδα 13 από 114
  • 14.  Χρήση βασικών εφαρμογών (επεξεργαστής κειμένου, εργαλεία σχεδίασης, …)  Αναζήτηση/ εύρεση/ αξιολόγηση πληροφοριών στο διαδίκτυο Ικανότητα εκμάθησης  Εκμάθηση νέων χαρακτηριστικώννέων τρόπων χρήσης του γνωρισμάτων ενός προγράμματος όταν υπολογιστή χρειαστεί  Εκμάθηση νέων εργαλείων και προγραμμάτων  Αίσθηση άνεσης και σιγουριάς στην εκμάθηση νέων χαρακτηριστικών γνωρισμάτων/ προγραμμάτων  Χρήση πολλαπλών εργαλείων/ προγραμμάτων για μια εργασία  Προσαρμογή προγραμμάτων ώστε να ταιριάζουν με τις ανάγκες της εργασίας  Χρήση χαρακτηριστικών γνωρισμάτων ή προγραμμάτων με μη προφανή τρόπο (εναλλακτικό τρόπο) Ικανότητα δημιουργίας  Δημιουργία εικόνων, animations, πραγμάτων με τον τραγουδιών, βίντεο, ρομποτικών υπολογιστή κατασκευών  Αναθεώρηση των δημιουργιών  Εκσφαλμάτωση των δημιουργιών όταν κάτι πάει λάθος  Αντίληψη του τι μπορούμε να δημιουργήσουμε με ένα εργαλείο  Επαναληπτική τροποποίηση και επέκταση των δημιουργιών (και των ιδεών)  Προγραμματισμός για τη δημιουργία πιο εκφραστικών εργασιών  Δημιουργία αντικειμένων με περισσότερα χαρακτηριστικά γνωρίσματα και αλληλεπιδραστικά πλουσιότερα, με την πάροδο του χρόνου Ικανότητα δημιουργίας  Παραγωγή ιδεών για τις δημιουργίες μαςπραγμάτων βασισμένα σε  Δημιουργία μιας ολοκληρωμένης εργασίας δικές μας ιδέες από μια αρχική έμπνευση  Επιλογή κατάλληλων εργαλείων/ προγραμμάτων για την υλοποίηση ιδέας μας Σελίδα 14 από 114
  • 15.  Η όλο και αυξανόμενη ενσωμάτωση της δημιουργικής έκφρασης στις δημιουργίες μας Ικανότητα χρήσης της  Διαμοίραση ιδεών και σεναρίων με μέλη της τεχνολογίας για να κοινότητας συνεισφέρουμε στην  Συνεργασία για τη δημιουργία σεναρίων με κοινότητα που μας μέλη της κοινότητας περιβάλλει  Τροποποίηση και επέκταση εργασιών με μέλη της κοινότητας  Παροχή βοήθειας στα μέλη της κοινότητας προκειμένου να μάθουν νέα χαρακτηριστικά γνωρίσματα, προγράμματα  Δημιουργία πραγμάτων που έχουν νόημα στην κοινότητα που μας περιβάλλει Ικανότητα αντίληψης Μερικά παραδείγματα:εννοιών σχετιζόμενες με • Η αντίληψη της προοπτικής όταν τεχνολογικές δημιουργούμε εικόνες δραστηριότητες • Η αντίληψη της αίσθησης και της ανατροφοδότησης στα σενάρια ρομποτικής • Η αντίληψη των μαθηματικών εξισώσεων για τον συγχρονισμό αντικειμένων στα animations • Η αντίληψη εννοιών προγραμματισμού: μεταβλητές, συνθήκες  Χρήση αυτών των εννοιών σε άλλες περιπτώσεις και καταστάσεις  Χρήση μιας συστηματικής/ επιστημονικής προσέγγισης για το σχεδιασμό και την επίλυση προβλημάτων Σελίδα 15 από 114
  • 16. 2. Το εκπαιδευτικό περιβάλλον προγραμματισμούΜε βάση το συνοπτικό θεωρητικό – παιδαγωγικό πλαίσιο που παρουσιάστηκετο MIT Media Laboratory και το Πανεπιστήμιο UCLA σχεδίασαν και ανέπτυξανένα δικτυακό, εκπαιδευτικό περιβάλλον προγραμματισμού, πλούσιο σε μέσα,προκειμένου να ενισχύσει την τεχνολογική ευχέρεια σε παιδιά και εφήβους.Η προσπάθεια της ερευνητικής ομάδας στηρίχθηκε σε προηγούμενη εμπειρίαστην ανάπτυξη καινοτόμων προγραμματιστικών περιβαλλόντων για νέους(LEGO MindStorms) προκειμένου να αναπτύξουν ένα νέο προγραμματιστικόπεριβάλλον, το οποίο ονόμασαν Scratch. Όπως στο λογισμικό LEGOMindStorms, προστέθηκε η δυνατότητα προγραμματισμού σε δραστηριότητεςπου ενδιαφέρουν τη νεολαία έτσι και στο Scratch παρέχεται η δυνατότηταπρογραμματισμού σε δημοφιλείς δραστηριότητες της νεολαίας που είναιπλούσιες σε μέσα και βασισμένες στο διαδίκτυο. Επωφελούμενο από τιςαπεριόριστες δυνατότητες επεξεργασίας δεδομένων των σύγχρονωνυπολογιστών, το Scratch υποστηρίζει νέου τύπου παραδείγματα καιδραστηριότητες, εξασφαλίζοντας μεγαλύτερες πιθανότητες επιτυχίας, σεσχέση με άλλες πρωτοβουλίες, στο να εισαγάγει τις μικρότερες σχετικά ηλικίεςστις έννοιες του προγραμματισμού.Εξάλλου μια σειρά εκθέσεων (Being Fluent with Information Technology fromNational Research Council, 1999; Standards for Technological Literacy fromInternational Technology Education Association, 2000; Technically Speaking:Why All Americans Need to Know More About Technology from NationalAcademy of Engineering, 2002) έχουν επιστήσει την προσοχή σε ένααναδυόμενο, σημαντικό κοινωνικό πρόβλημα: ενώ οι Νέες Τεχνολογίεςεπεκτείνονται και παίζουν διαρκώς αυξανόμενο ρόλο σε όλες τις πτυχές τηςκοινωνίας, οι περισσότεροι άνθρωποι δεν είναι επαρκώς προετοιμασμένοι νααναγνωρίσουν, να συλλογιστούν και πολύ περισσότερο να προσεγγίσουν τιςπροκλήσεις που η τεχνολογία θέτει ή τα προβλήματα που μπορεί να επιλύσει(NAE, 2002).Για την αντιμετώπιση του ζητήματος αυτού, οι ερευνητές του MIT ανέπτυξαννέες πρωτοβουλίες για να βοηθήσουν τους νέους να αποκτήσουν τεχνολογική Σελίδα 16 από 114
  • 17. ευχέρεια. Η έκθεση του NRC ορίζει την «τεχνολογική ευχέρεια» ως την«ικανότητα να ανασχηματίζει κανείς τη γνώση, να εκφράζεται δημιουργικά καινα παράγει διαθέσιμη πληροφορία (όχι απλά να την επικοινωνεί)». Σύμφωναπάντα με την έκθεση του NRC, οι ικανότητες που είναι συνδεδεμένες με τονπρογραμματισμό παίζουν «κεντρικό ρόλο» στην τεχνολογική ευχέρεια.Επιπροσθέτως, η έκθεση υποστηρίζει ότι η συνεχής χρήση της αφαιρετικήςσκέψης που εφαρμόζεται στον προγραμματισμό μπορεί να έχει αξία στηναντιμετώπιση προβλημάτων πέρα από την στενή έννοια της επίλυσηςπροβλημάτων κατά την προγραμματιστική διαδικασία. Ουσιαστικά, οπρογραμματισμός γίνεται το εργαστήριο για συζήτηση και ανάπτυξηπολύτιμων ικανοτήτων, καθώς και της θεμελίωσης της μάθησης για άλλααντικείμενα. Πολύ νωρίτερα οι θέσεις αυτές για την ευρύτερη αξία τουπρογραμματισμού έχουν θεμελιωθεί επιστημονικά (Papert, 1980; Kay, 1991;diSessa, 2000).Πολλές προγενέστερες πρωτοβουλίες για την εκμάθηση τουπρογραμματισμού στις μικρότερες ηλικίες δεν είχαν τα αναμενόμενααποτελέσματα. Συχνά, ο προγραμματισμός διδάσκεται μέσω γλωσσώνπρογραμματισμού που είναι δύσκολες στη χρήση, με δραστηριότητες που δενσυνδέονται με τα ενδιαφέροντα των νέων, και σε πλαίσια όπου κανείς δεν έχειαρκετή εμπειρία ή τεχνογνωσία για να παρέχει υποστήριξη. Αυτό έχει ωςαποτέλεσμα πολλοί άνθρωποι να αντιμετωπίζουν τον προγραμματισμό ωςμια στενή, τεχνική δραστηριότητα, κατάλληλη μόνο για ένα μικρό τμήμα τουπληθυσμού.Η εξαιρετική αύξηση της ισχύος των υπολογιστών τις δύο τελευταίες δεκαετίεςέχει καταστήσει εφικτή την ανάπτυξη και αξιοποίηση μιας νέας γενιάςεργαλείων προγραμματισμού μέσω των οποίων μπορούν να ξεπεραστούναδυναμίες των μέχρι πρότινος προγραμματιστικών περιβαλλόντων και νακάνουν τον προγραμματισμό ευκολότερα προσβάσιμο.Έτσι οι ερευνητές του MIT Media Laboratory έχοντας τα παραπάνω κατά νου,σχεδίασαν τη γλώσσα προγραμματισμού Scratch αποδίδοντάς της τα εξήςβασικά χαρακτηριστικά: Σελίδα 17 από 114
  • 18. Προγραμματισμός με δομικά στοιχεία. Ο προγραμματισμός στο Scratchβασίζεται στη μεταφορά δομικών στοιχείων, με τα οποία οι μαθητέςδημιουργούν διαδικασίες με το σύρσιμο και το στοίβαγμα γραφικών πλακιδίωνπου αντιστοιχούν σε εντολές. Διαφορετικοί τύποι δεδομένων αντιστοιχούν σεπλακίδια διαφορετικού σχήματος, που μπορούν να τοποθετηθούν μαζί μόνομε συντακτικά ορθό τρόπο. Ο προγραμματισμός με δομικά στοιχεία εξαλείφειτα συνήθη προβλήματα των συντακτικών λαθών (που έχει αποδειχθεί μεγάλοεμπόδιο στην εκμάθηση γλωσσών προγραμματισμού), επιτρέποντας τηνεστίαση στην επίλυση του προβλήματος και όχι στο μηχανισμό τουπρογραμματισμού. Το κάθε αντικείμενο στο Scratch έχει μια βιβλιοθήκη απόγραφικά πλακίδια (με βάση την τάξη του αντικειμένου). Οι μαθητές σύρουν καιτοποθετούν πλακίδια από τη βιβλιοθήκη ώστε να δημιουργήσουν στήλες(διαδικασίες) που υπαγορεύουν τη συμπεριφορά του αντικειμένου. Με τηδυνατότητα της πολυεπεξεργασίας, διαφορετικές στήλες πλακιδίωνεκτελούνται αυτόματα και παράλληλα.Προγραμματιστικός χειρισμός πλούσιων μέσων. Τα πιο δημοφιλήπρογράμματα στους νέους περιλαμβάνουν χειρισμό εικόνων, βίντεο, καιμουσική, με τη χρήση προγραμμάτων όπως το PhotoShop, το Premiere, καιτο Acid Pro. Εν αντιθέσει, οι πρώτες ενέργειες εκμάθησης προγραμματισμούμε τον παραδοσιακό τρόπο, περιλαμβάνουν τη χρήση αριθμών και απλώνγραφικών. Το Scratch παρέχοντας προγραμματιστικό έλεγχο σε πλούσιαμέσα, δίνει τη δυνατότητα για δραστηριότητες που συνδέονται στενά με ταενδιαφέροντα των μαθητών. Για παράδειγμα, το Scratch περιλαμβάνει φίλτραεικόνας παρόμοια με αυτά του PhotoShop, επιπλέον όμως παρέχειπρογραμματιστικό έλεγχο πάνω σε αυτά τα φίλτρα. Έτσι, οι μαθητές μπορούννα δημιουργήσουν βίντεο στα οποία οι παράμετροι των φίλτρων ποικίλουνκαι, καθώς εξελίσσεται η διαδικασία, είναι σε θέση να αποκτήσουν βαθύτερηαντίληψη σχετικά με τη χρήση των φίλτρων και τις μαθηματικές συναρτήσεις.Διαμοίραση ευρείας κλίμακας. Το Scratch είναι έτσι σχεδιασμένο ώστε ναυποστηρίζει το «μοίρασμα», που σημαίνει ότι οι μαθητές μπορούν ναμοιράζονται μεταξύ τους αντικείμενα σε κάθε επίπεδο (στήλες διαδικασιών,κινούμενους χαρακτήρες, πλήρη σενάρια) και να τα ανταλλάσσουν Σελίδα 18 από 114
  • 19. χρησιμοποιώντας εναλλακτικούς τύπους συσκευών (desktops, laptops,tablets, handhelds, κινητά τηλέφωνα, ενσωματωμένες συσκευές). Γιαπαράδειγμα, ένας μαθητής που σχεδιάζει ένα βίντεο στο Scratch μπορεί ναεισάγει (από το διαδίκτυο) ένα χαρακτήρα από κάποιον άλλο σχεδιαστή σεάλλη χώρα, να ενσωματώσει τον χαρακτήρα στο δικό του παιχνίδι, νακατεβάσει και να παίξει με το παιχνίδι σε μια συσκευή handheld, να ελέγξει μιακατασκευή LEGO (μέσω RF) ως μέρος του παιχνιδιού, και στη συνέχεια ναανταλλάξει το παιχνίδι (μέσω IR) με κάποιο άλλο μέλος της κοινότητας τουScratch. Μέσω αυτών των δραστηριοτήτων, δημιουργείται η κοινότητα τουScratch, τα μέλη της οποίας διαρκώς ανταλλάσουν και τροποποιούν τιςδημιουργίες τους.Προγραμματιστική αλληλεπίδραση με τον πραγματικό κόσμο. Οιερευνητές στηριζόμενοι σε προηγούμενες έρευνες στη LEGO/Logo και τατουβλάκια προγραμματισμού (Resnick, 1994; Resnick, Berg, Eisenberg,2000), σχεδίασαν το Scratch έτσι ώστε ο μαθητής να προγραμματίζει φυσικάαντικείμενα (όπως μηχανές, φώτα, MIDI synthesizers) με τον ίδιο τρόπο πουπρογραμματίζει εικονικά αντικείμενα στη σκηνή – και να χρησιμοποιείδεδομένα από φυσικούς αισθητήρες (αισθητήρες απόστασης, ανιχνευτέςκίνησης, αισθητήρες ήχου) για να ελέγχει τη συμπεριφορά της φυσικής και τηςεικονικής δημιουργίας του. Για παράδειγμα, κάποιος μαθητής μπορεί νασυνδέσει το μετρητή της επιτάχυνσης (με RF communicator) στο χέρι του καινα προγραμματίσει μια κινούμενη γραφική φιγούρα να μεταβάλει τησυμπεριφορά της σύμφωνα με το πώς κουνάει ο μαθητής το χέρι του (καικατά τη διαδικασία, να κερδίζει γνώσεις για τις έννοιες της επιτάχυνσης, τηςαντίληψης και της ανατροφοδότησης).Υποστήριξη πολλαπλών γλωσσών. Η κοινότητα του Scratch είναι μιαδιεθνής κοινότητα και τα μέλη της μιλούν διαφορετικές γλώσσες. Για τηνενίσχυση της συνεργασίας και της διαμοίρασης σε αυτό το πλαίσιο είναιουσιώδες να είναι το Scratch ένα πολύ-γλωσσικό και πολύ-πολιτισμικόπεριβάλλον. Στην ανάπτυξη του EToys και των LogoBlocks οι ερευνητέςανακάλυψαν ότι η προσέγγιση του προγραμματισμού με πλακίδια εύκολαυποστηρίζει πολλαπλές γλώσσες και διαφορετικές γραμματοσειρές. Η Σελίδα 19 από 114
  • 20. δυνατότητα αλλαγής της γλώσσας επιτρέπει στα μέλη του Scratch ναεργαστούν και να σκεφτούν στη γλώσσα που εκφράζονται ευκολότερα, ενώεπιτρέπει σε μέλη της κοινότητας του Scratch που βρίσκονται στο άλλοημισφαίριο να διαβάσουν και να τροποποιήσουν τα σενάρια. Σελίδα 20 από 114
  • 21. Προγραμματιστικά περιβάλλοντα στα οποία στηρίχθηκε ηανάπτυξη τουΤο Scratch έχει γραφεί με τη Squeak, μια ανοικτού κώδικα εφαρμογή τηςγλώσσας Smalltalk-80. Η Squeak είναι ιδιαιτέρως συμβατή, με εφαρμογές γιασταθμούς εργασίας (Windows, Macintosh, Linux/Unix, Acorn, BeOS),handhelds (Windows CE, Zaurus OS, Compaq “Itsy”), και κονσόλεςπαιχνιδιών (Sony Playstation). H Squeak είναι συμβατή στο υλικό (hardware)χωρίς να χρειάζεται να τρέχει συγχρόνως κάποιο άλλο λειτουργικό σύστημα,περιλαμβάνοντας έναν πειραματικό επεξεργαστή της Mitsubishi (M32R/D) καιέναν StrongARM πίνακα. Αυτή η συμβατότητα επιτρέπει στις εφαρμογές τουScratch να λειτουργούν σε ένα ευρύ φάσμα συσκευών (σταθμούς εργασίας,pen-based tablet υπολογιστές, σε handhelds, κ.α).Η διαμοίραση και η ανταλλαγή των σεναρίων του Scratch και των στοιχείωνπου τα αποτελούν, υποστηρίζεται από συνδυασμό ενός web server και ενόςcustom “ Scratch Object Library” server.Το Scratch χρησιμοποιεί ιδέες από έναν αριθμό προγραμματιστικώνπεριβαλλόντων, σχεδιασμένα για νέους ή για αρχάριους προγραμματιστές. Ηπροσέγγιση των δομικών στοιχείων οδηγεί σε προηγούμενη έρευνα στοLogoBlocks (Begel, 1996) και στο Etoys (Steinmetz, 2001) το οποίοαποδείχθηκε αποτελεσματικό για τους αρχάριους προγραμματιστές. Ηδιεπαφή του χρήστη και το σύστημα πλοήγησης στις σελίδες του προέρχεταιαπό την Logo Microworlds. Όπως το AgentSheets (Repenning & Ambach,1996), το Scratch ενθαρρύνει τον χρήστη να μοιραστεί τα έργα και τα στοιχείατους στο διαδίκτυο, και όπως το boxer (diSessa, 2000), μετατρέπει τα στοιχείατου προγραμματισμού (όπως τις μεταβλητές) σε οπτικά αντικείμενα στηνοθόνη που μπορούμε να τα χειριστούμε. Το Alice2 (Pausch, 1995) επίσης,χρησιμοποιεί την προγραμματιστική δομή του «σύρω και αφήνω» για νακαταστήσει τον προγραμματισμό ευκολότερο στους αρχάριους, αλλά ηπεριοχή του είναι αποκλειστικά 3D. To Scratch συμπληρώνουν εμπορικάεργαλεία animation και video όπως το Micromedia Flash και το AdobePremier, που παρέχουν μεγάλο βαθμό προγραμματιστικού ελέγχου και ένα Σελίδα 21 από 114
  • 22. πλαίσιο σχεδιασμένο να υποστηρίζει την εκμάθηση σημαντικώνπρογραμματιστικών εννοιών. Σελίδα 22 από 114
  • 23. Ενίσχυση των δεξιοτήτων μάθησης του 21ου αιώνα με τοΗ έκθεση Learning for the 21st Century προσδιορίζει εννέα τύπους δεξιοτήτωνμάθησης, που ανήκουν σε τρεις κατηγορίες. Το κείμενο που ακολουθεί δίνειέμφαση στους τρόπους με τους οποίους το Scratch υποστηρίζει την ανάπτυξητων δεξιοτήτων μάθησης του 21ου αιώνα. 1 Ικανότητες πληροφορικής & επικοινωνίαςΙκανότητες εγγραμματισμού στην Πληροφορική και τα ΜέσαΔουλεύοντας σε σενάρια του Scratch, οι μαθητές μαθαίνουν να συλλέγουν, ναδημιουργούν και να χειρίζονται πολλαπλούς τύπους μέσων,συμπεριλαμβανομένων των κειμένων, εικόνων, animation καιηχογραφημένων ήχων. Η εμπειρία των μαθητών αυξάνεται όσο δημιουργούνμε τα μέσα και γίνονται πιο διορατικοί και κριτικοί στην ανάλυση των μέσωνπου βλέπουν γύρω τους.Ικανότητες επικοινωνίαςΣτο σύγχρονο κόσμο, η αποτελεσματική επικοινωνία, απαιτεί κάτιπερισσότερο από την ικανότητα της ανάγνωσης και γραφής ενός κειμένου. ΤοScratch εμπλέκει τους μαθητές στο να επιλέγουν, να χειρίζονται και ναενσωματώνουν μια ποικιλία Μέσων για τη δημιουργική έκφρασή τους. Σελίδα 23 από 114
  • 24. 2 Κριτική σκέψη και επίλυση προβλημάτωνΚριτική και συστημική σκέψηΚαθώς οι μαθητές προγραμματίζουν στο Scratch, ενεργοποιούν την κριτικήκαι συστημική σκέψη. Για να κατασκευάσουν σενάρια, χρειάζεται να επιτύχουντο συγχρονισμό και το συντονισμό μεταξύ ενός αριθμού Φιγούρων(προγραμματισμένα κινούμενα αντικείμενα). Η ικανότητα να προγραμματίζουνμε διαδραστικά δεδομένα παρέχει στους μαθητές άμεση εξοικείωση με τηναίσθηση, την ανατροφοδότηση και άλλες βασικές έννοιες του συστήματος.Προσδιορισμός προβλημάτων, τυποποίηση και επίλυσηΤο Scratch υποστηρίζει την εύρεση και επίλυση προβλημάτων σε έναουσιώδους περιεχομένου σχεδιασμένο πλαίσιο. Η δημιουργία ενός σεναρίουστο Scratch απαιτεί να σκεφτούμε μια ιδέα, να προσδιορίσουμε τα βήματα γιατην επίλυση του προβλήματος και να την υλοποιήσουμε χρησιμοποιώντας τιςεντολές – πλακίδια του Scratch. Το Scratch σχεδιάστηκε για να είναι«tinkerable»: οι μαθητές μπορούν δυναμικά να αλλάξουν κομμάτια του κώδικακαι αμέσως να δουν τα αποτελέσματα (π.χ. διπλασιάζοντας έναν αριθμό ναδουν πως επηρεάζεται ένα γραφικό αποτέλεσμα). Διαμέσου της διαδικασίαςσχεδιασμού, οι μαθητές εμπλέκονται σε πειραματικές και επαναληπτικέςενέργειες για την επίλυση προβλημάτων.Δημιουργική και νοητική περιέργειαΤο Scratch ενθαρρύνει τη δημιουργική σκέψη, μια όλο και σημαντικότερηικανότητα στο σύγχρονο, ταχύτατα μεταβαλλόμενο κόσμο. Το Scratchεμπλέκει τους μαθητές στην επιδίωξη καινοτόμων λύσεων σε απρόσμεναπροβλήματα που αντιμετωπίζουν – όχι απλώς μαθαίνοντας να επιλύουνπροκαθορισμένα προβλήματα, αλλά με το να είναι προετοιμασμένοι ναεφεύρουν νέες λύσεις για την αντιμετώπιση νέων προκλήσεων. Σελίδα 24 από 114
  • 25. 3 Διαπροσωπικέ ς& Ιδιοκατευθυνό μενες ικανότητεςΔιαπροσωπικές και συνεργατικές ικανότητεςΛόγω του ότι ο προγραμματισμός στο Scratch γίνεται με εντολές – πλακίδιασε γραφική μορφή, ο κώδικας προγραμματισμού είναι πιο εύκολααναγνώσιμος και διαμοιράσιμος απ’ ότι σε άλλες γλώσσες προγραμματισμού.Τα οπτικά αντικείμενα και ο κώδικας που αποτελείται από επιμέρουςκομμάτια, υποστηρίζει τη συνεργασία εμπλέκοντας τους μαθητές σε απόκοινού εργασία για την ανάπτυξη σεναρίων και στην ανταλλαγή αντικειμένωνκαι κώδικα.ΑυτοκατεύθυνσηΤο να έχουμε μια ιδέα και να επεξεργαστούμε το πώς θα την υλοποιήσουμεπρογραμματίζοντας στο Scratch απαιτεί επιμονή και εξάσκηση. Όταν οιμαθητές δουλεύουν ιδέες για σενάρια, βρίσκουν προσωπικό νόημα, οι ιδέεςτους παρέχουν το εσωτερικό κίνητρο για να αντεπεξέλθουν στις προκλήσειςκαι τις απογοητεύσεις που θα αντιμετωπίσουν κατά τη διαδικασία τηςσχεδίασης και της επίλυσης του προβλήματος.Υπευθυνότητα και προσαρμοστικότηταΌταν οι μαθητές δημιουργούν στο Scratch σενάρια, έχουν στο μυαλό τους ένακοινό, και πρέπει να σκεφτούν πώς άλλα άτομα θα αντιδράσουν και θαανταποκριθούν στα σενάρια αυτά. Από τότε που τα προγράμματα του Scratchμπορούν εύκολα να αλλάξουν και να αναθεωρηθούν, οι μαθητές μπορούν νατροποποιήσουν τα σενάριά τους βασιζόμενοι στην ανατροφοδότηση απόάλλα άτομα.Κοινωνική υπευθυνότηταΛόγω του ότι τα σενάρια του Scratch είναι διαμοιράσιμα, οι μαθητές μπορούννα χρησιμοποιήσουν το Scratch για να προκαλέσουν μια συζήτηση γιασημαντικά θέματα με άλλα μέλη του άμεσου μαθητικού εκπαιδευτικούπεριβάλλοντος, καθώς και με την ευρύτερη διεθνή κοινότητα του Scratch. Σελίδα 25 από 114
  • 26. 3. Η συμβολή στην προσπάθεια εξελληνισμού τουΣτο τρίτο κεφάλαιο περιγράφεται: η συμμετοχή στην προσπάθειαεξελληνισμού του περιβάλλοντος Scratch στην οποία συμπεριλαμβάνεται ημετάφραση του αμερικάνικου οδηγού χρήσης, από την οποία προέκυψε τοκείμενο της αναλυτικής περιγραφής της ελληνικής διεπαφής,η συνεισφορά στο http://el.wikipedia.org/wiki του κειμένου που αφορά στοδικτυακό εργαλείο διαχείρισης μετάφρασης pootle, το οποίο χρησιμοποιήθηκεγια τον εξελληνισμό του Scratch στο έργο LPC (One Laptop per Child), καιη σύνταξη και συνεισφορά στο http://el.wikipedia.org/wiki του πρωτότυπουκειμένου για την πλατφόρμα ScratchR η οποία υποστηρίζει τη διαμοίραση τωνπρογραμματιζόμενων δικτυακών πολυμέσων.Η πρώτη προσπάθεια μεταγλωττισμού του λογισμικού Scratch επιχειρήθηκεαπό την ελληνική ομάδα μετάφρασης του project LPC (One Laptop Per Child).Στο πλαίσιο του έργου αυτού, μεταφράστηκε ένα μεγάλο ποσοστό τωναλφαριθμητικών κειμένων του λογισμικού με κύριο συμμετέχοντα τον κ. Β.Κίτσιο. Όμως η μετάφραση έγινε χωρίς να έχει προσαρμοστεί το λογισμικόώστε να εμφανίζονται σωστά οι ελληνικοί χαρακτήρες (το ίδιο παρατηρήθηκεκαι στο λογισμικό Etoys του Allan Kay που επίσης περιλαμβανόταν στο LPCproject). Η προσπάθεια μετάφρασης έγινε στο πλαίσιο της έκδοσης 1.2, ηοποία δεν διέθετε ελληνική γραμματοσειρά, ούτε υποστήριζε κωδικοποίησηUnicode. Η έκδοση εκείνη χρησιμοποιούσε ενσωματωμένες στο λογισμικόγραμματοσειρές με αποτέλεσμα να υποστηρίζει πραγματικά ένα μικρό πλήθοςγλωσσών. Ένα άλλο ζήτημα στην εν λόγω μεταφραστική προσπάθεια ήταν ότιέγινε χωρίς απευθείας επαφή με τα λογισμικά, αλλά μεταφράζοντας ένα –προς ένα τα αλφαριθμητικά στοιχεία, με αποτέλεσμα να προκύπτουνασυνέπειες και λογικά λάθη στη μετάφραση της γραφικής διεπαφής τουλογισμικού ως σύνολο.Στη συνέχεια συστήθηκε άτυπα μια ομάδα με μέλη τους Γ. Μπιρμπίλη(Μηχανικό ΗΥ και Πληροφορικής), Κ. Γλέζου (Εκπαιδευτικό Πληροφορικής),Χρ. Τζιωρτζιώτη (Εκπαιδευτικό Φυσικών Επιστημών) και Γ. Παρπαρούση(Μουσικολόγο), η οποία ασχολήθηκε με τον εξελληνισμό του λογισμικού. Με Σελίδα 26 από 114
  • 27. συντονιστή τoν Γ. Μπιρμπίλη, η ομάδα ήρθε σε απευθείας επικοινωνία με τηνομάδα ανάπτυξης του λογισμικού Scratch στο ΜΙΤ Media Lab καιενημερώθηκε ότι σύντομα θα ακολουθούσε η έκδοση 1.3 η οποία θαυποστήριζε Unicode και χρήση truetype γραμματοσειρών του λειτουργικούσυστήματος. Ο εξελληνισμός έγινε με δικτυακή χρήση του εξυπηρετητήυποβοηθούμενης μετάφρασης Pootle ο οποίος φιλοξενούταν στο δικτυακότόπο του LPC project (dev.laptop.org).Η μεταγλώττιση του δικτυακού τόπου του Scratch έγινε παράλληλα απόερευνητική ομάδα του ΕΑΙΤΥ με σύνδεσμο την Ελ. Στεργάτου.Σύνδεσμος από την πλευρά της ομάδας του MIT Media Lab ήταν η EvelynEastmond.Aκολουθούν δύο κείμενα σχετικά με το δικτυακό εργαλείο διαχείρισηςμετάφρασης pootle και την πλατφόρμα που υποστηρίζει τη διαμοίραση τωνπρογραμματιζόμενων δικτυακών πολυμέσων ScratchR, τα οποία έχουνπαραχωρηθεί στο http://el.wikipedia.org/wiki/Pootle και στοhttp://el.wikipedia.org/wiki/ScratchRΣτιγμιότυπο από τη συνεισφορά του χρήστη Tziortzioti στη ΒΙΚΙΠΑΙΔΕΙΑ PootleΑπό τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια Σελίδα 27 από 114
  • 28. Pootle Δημιουργός Translate.org.za Τελευταία έκδοση 1.2.1 Τύπος Δικτυακό μεταφραστικό εργαλείο Κατηγορία Υποβοηθούμενη μετάφραση Διαθέσιμο σε Πολυγλωσσικό Ανάπτυξη Ενεργό Άδεια χρήσης GPL Ιστοσελίδα translate.sourceforge.netΤο Pootle είναι ένα δικτυακό εργαλείο διαχείρισης μετάφρασης με ανάλογηδιεπαφή. Έχει συγγραφεί στην γλώσσα προγραμματισμού Python και είναιελεύθερο λογισμικό που έχει αρχικά αναπτυχθεί και δημοσιευτεί από τοTranslate.org.za το 2004. Αναπτύχθηκε περαιτέρω ως μέρος του WordForgeproject και συντηρείται πλέον από το Translate.org.za.Το Pootle προορίζεται για χρήση από μεταφραστές ελεύθερου λογισμικούαλλά είναι χρήσιμo και σε άλλες περιπτώσεις. Η κύρια εστίαση του είναι στημετάφραση των στοιχείων της γραφικής διεπαφής των εφαρμογών σεαντίθεση με τη μετάφραση εγγράφων. Το Pootle χρησιμοποιεί το TranslateToolkit για το χειρισμό αρχείων μετάφρασης. Το Translate Toolkit επίσηςπροσφέρει offline δυνατότητες που μπορούν να χρησιμοποιηθούν για τηδιαχείριση της μετάφρασης των Mozilla Firefox και OpenOffice.org στο Pootle.Κάποιες από τις δυνατότητες του Pootle περιλαμβάνουν μεταφραστική μνήμη,διαχείριση γλωσσαρίου και αντιστοίχιση, δημιουργία στόχων και διαχείρισηχρηστών.Μπορεί να παίξει πληθώρα ρόλων στην μεταφραστική διαδικασία. Οαπλούστερος ρόλος παρουσιάζει στατιστικά για το σώμα των μεταφράσεωνπου φιλοξενεί ένας εξυπηρετητής. Η κατάσταση προτάσεων επιτρέπει σεχρήστες να κάνουν μεταφραστικές προτάσεις και διορθώσεις για μετέπειταέλεγχο, οπότε μπορεί να ενεργεί ως ένα σύστημα αναφοράς μεταφραστικώνλαθών. Επιτρέπει δικτυακή online μετάφραση με την ανάθεση εργασίας σεδιάφορους μεταφραστές και τέλος μπορεί να λειτουργεί σαν ένα σύστημαδιαχείρισης όπου οι μεταφραστές μεταφράζουν χρησιμοποιώντας ένα Σελίδα 28 από 114
  • 29. εργαλείο εκτός σύνδεσης και χρησιμοποιούν το Pootle για να διαχειριστούν τηροή του έργου της μετάφρασης.ΙστορικόΤο Pootle αναπτύχθηκε αρχικά από τον David Fraser κατά την εργασία τουστο Translate.org.za σε ένα έργο χρηματοδοτούμενο από το CATIA project. Ηπρώτη του επίσημη έκδοση έγινε το Δεκέμβριο 2004 παρότι είχεχρησιμοποιηθεί σε διάφορους εσωτερικούς Translate@thons(μεταφραστικούς μαραθώνιους) από το Translate.org.za.Το όνομα Pootle είναι ένα [ακρωνύμιο] για το PO-based Online Translation /Localization Engine (Μεταφραστική μηχανή βασισμένη σε αρχεία .PO) αλλάσίγουρα είναι επίσης ένας χαρακτήρας στην παιδική σειρά του BBC TheFlumps.Το Translate.org.za κυκλοφόρησε διάφορες εκδόσεις και το 2006 το Pootleαναπτύχθηκε περαιτέρω ως μέρος του έργου WordForge, πουχρηματοδοτήθηκε από το Open Society Institute και το InternationalDevelopment Research Centre. Αυτό πρόσθεσε διαχείριση αρχείων XLIFF καιυποδομή για ροή μεταφραστικής εργασίας. Πολλές από αυτές τις δυνατότητεςπροστέθηκαν στην έκδοση 1.0.Το Pootle χρησιμοποιείται από το OpenOffice.org[1], One Laptop per Child[2]και άλλα έργα[3]. Το Pootle είναι η βάση του Verbatim project που χτίζειμεταφραστική υποδομή για τα έργα του Mozilla.Σχεδιαστική φιλοσοφίαΤο Pootle σχεδιάστηκε ως ένα δικτυακό μεταφραστικό εργαλείοχρησιμοποιώντας το Translate Toolkit. Προσπελαύνει μεταφραστικά αρχείααπευθείας χωρίς ενδιάμεσο επίπεδο βάσης δεδομένων. Αυτό συχνάαναφέρεται ως καθυστέρηση στην απόδοση αλλά ο σχεδιαστικός στόχος ήταννα υπερτεθεί η μετάφραση και η διαχείριση πάνω από υπάρχοντα αρχεία,αντιμετωπίζοντας τα μεταφραστικά αρχεία ως έγγραφα και κάνονταςδιαχείριση τους ως τέτοια. Σελίδα 29 από 114
  • 30. Ο στόχος του Pootle δεν είναι να αντικαταστήσει υπάρχουσες διαδικασίεςαλλά μάλλον να τις επεκτείνει. Έτσι η αλληλεπίδραση με συνδεδεμένασυστήματα διαχείρισης έκδοσης (version control systems) του επιτρέπει ναεγγράφει αλλαγές απευθείας στο κεντρικό έργο παρά διατηρώντας έναπαράλληλο σύστημα έξω από το έργο.Είναι ελεύθερο λογισμικό και τα έργα ενθαρρύνονται να φιλοξενούν το δικότους εξυπηρετητή Pootle για να επιτρέπουν στην κοινότητα τους να ταμεταφράσει.Υποστηριζόμενες μορφές πηγαίων εγγράφωνΤο Translate Toolkit παρέχει μετατροπή από τις υποστηριζόμενες μορφέςπηγαίων εγγράφων που περιλαμβάνουν: αρχεία .properties Java and Mozilla,αρχεία SDF του OpenOffice.org, HTML, Text, XLIFF και PO του Gettext.Το ίδιο το Pootle δουλεύει απευθείας σε PO αρχεία του Gettext ή σε XLIFFfiles (από την έκδοση 1.0).Ιδιότητες • Μεταφραστική μνήμη - δημιουργείται από εργαλείο εκτός σύνδεσης • Εναλλακτική πηγαία γλώσσα - θέαση μεταφράσεων από μια τρίτη γλώσσα κατά τη μετάφραση • Γλωσσάρι - επιλογή μεταξύ ζωντανού σφαιρικού γλωσσαρίου ή γλωσσαρίου ανά έργο • Στόχοι - ορισμός στόχων και προσθήκη χρηστών στους στόχους • Στατιστικά - μέτρηση λέξεων και στατιστικά αλφαριθμητικών • Προτάσεις - επιτρέπει να γίνονται προτάσεις, επιτρέποντας εξωτερική συμμετοχή και αναφορά λαθών • Διαχείριση έκδοσης - ανανέωση από ή εγγραφή αλλαγής απευθείας σε συνδεδεμένα συστήματα ελέγχου έκδοσης • Διαχείριση χρηστών - ανάθεση διάφορων ρόλων στους χρήστες • Διεπαφή μετάφρασης - πραγματοποίηση μετάφρασης και ελέγχου δικτυακά Σελίδα 30 από 114
  • 31. • Έλεγχους - πραγματοποιεί άνω των 40 ελέγχων για την ποιότητα της μετάφρασηςΔείτε επίσης • Μεταφραστική μνήμη • Μετάφραση υποβοηθούμενη από υπολογιστήExternal links • Pootle - Επίσημος ιστότοπος Pootle • Demo Εξυπηρετητής Pootle φιλοξενεί τη μετάφραση του Pootle και κάποιων άλλων έργων • Ενεργοί εξυπηρετητές Pootle - Λίστα έργων, εταιρειών και προσωρινών εξυπηρετητών Pootle • Πρότυπο:Ohloh project • Python package index • #pootle στο freenode • Πρότυπο:SourceForge • WordForge project - Πληροφορίες έργου WordForgeΑναφορές 1. ↑ OpenOffice.org και OpenSolaris εγκατάσταση του Pootle 2. ↑ Εξυπηρετητής OLPC Pootle 3. ↑ Live εξυπηρετητής Pootle: λίστα ενεργών Pootle εξυπηρετητών Σελίδα 31 από 114
  • 32. ScratchRΑπό τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδειαΕισαγωγήΤο ScratchR είναι μια πλατφόρμα για τη διαμοίραση προγραμματιζόμενωνδικτυακών πολυμέσων. Η πλατφόρμα επιτρέπει σε άτομα να δημοσιεύσουντις δικές τους ιστορίες με κινούμενες εικόνες, παιχνίδια και αλληλεπιδραστικήτέχνη που έχει δημιουργηθεί στη γλώσσα προγραμματισμού Scratch. ΤοScratchR είναι η μηχανή πίσω από τη δικτυακή κοινότητα του Scratch, ένακοινωνικό δίκτυο από νεαρούς κυρίως προγραμματιστές. Αντίθετα με άλλεςκοινότητες περιεχομένου δημιουργημένου από τους χρήστες, το ScratchRκάνει εύκολη την επαναχρησιμοποίηση των δημιουργιών άλλων ανθρώπωνγια την στήριξη της αλληλεπιδραστικής μάθησης. Το ScratchR επιτρέπει σταμέλη του να βαθμολογήσουν, να σχολιάσουν, να χαρακτηρίσουν τοπεριεχόμενο με ετικέτες και να δημιουργήσουν συλλογές. Το ScratchR είναιγια τον προγραμματισμό ότι το YouTube είναι για την παραγωγή βίντεο.ΛεπτομέρειεςΤο ScratchR είναι μια κοινωνική δικτυακή εφαρμογή πολυμέσων που έχειαναπτυχθεί για να λειτουργήσει ο δικτυακός τόπος του Scratch στο MIT. ΤοScratchR χρησιμοποιείται τώρα από άλλους ιστότοπους ανά τον κόσμο (π.χ.στην Πορτογαλία και στα Ηνωμένα Αραβικά Εμιράτα) ως τμήμα τηςομοσπονδίας από ιστότοπους του Scratch. Το ScratchR εκτελείται πάνω σεδωρεάν λογισμικό ανοικτού κώδικα (CakePHP, MySQL, Apache,Memcached) και επίσης είναι δωρεάν διαθέσιμο κάτω από την άδεια GPLέκδοση 2. Τα φόρα του Scratch εκτελούνται χρησιμοποιώντας το FluxBB καιοι σελίδες υποστήριξης χρησιμοποιούν το DekiWiki της MindTouch.ΕρευνητέςΗ έρευνα και ανάπτυξη του ScratchR οδηγείται από τον Andrés Monroy-Hernández, έναν διδακτορικό φοιτητή στο MIT Media Lab (υπό την επίβλεψητου Mitchel Resnick). Σελίδα 32 από 114
  • 33. Ο ιστότοπος του Scratch στο MIT φιλοξενείται από το MIT Media Lab καιδιαχειρίζεται από το Lifelong Kindergarten Group με τη βοήθεια των AmosBlanton, Lance Vikaros, Chris Spence and Mark Goff.Δημοσιεύσεις • Designing a website for creative learning Proceedings of the WebSci09: Society On-Line, Andres Monroy-Hernandez (2009) • Empowering kids to create and share programmable media interactions, Monroy-Hernández, A. and Resnick, M. (2008) • ScratchR: Sharing User-Generated Programmable Media. Interaction Design for Children Conference, Aalborg, Denmark, Monroy- Hernandez, A. (2007)Αναφορές 1. Έρευνα για το ScratchR στην ομάδα Lifelong Kindergarten group του MIT Media Lab - http://llk.media.mit.edu/projects.php?id=2115 2. Πληροφορίες για το ScratchR στις σελίδες υποστήριξης του Scratch - http://info.scratch.mit.edu/ScratchR%3a_The_Online_Community 3. Πηγαίος κώδικας του ScratchR - http://svn.assembla.com/svn/scratchr/ 4. Ιστοσελίδα του Andrés Monroy-Hernández - http://www.mit.edu/~amonroy/ Σελίδα 33 από 114
  • 34. Αναλυτική περιγραφή της ελληνικής διεπαφής του – Οδηγός χρήσης 1. ΕισαγωγήΤο Scratch είναι μια νέα γλώσσα προγραμματισμού που μας δίνει τη δυνατότητα ναδημιουργήσουμε διαδραστικές ιστορίες, παιχνίδια, και κινούμενες εικόνες(animations) και να τις μοιραστούμε με άλλους στο διαδίκτυο.Ο οδηγός χρήσης προσφέρει μια επισκόπηση του λογισμικού Scratch. Αν αυτή είναιη πρώτη σας επαφή με το Scratch, σας προτείνουμε να ασχοληθείτε πρώτα με τονΟδηγό Έναρξης του Scratch (Getting Started Guide), ο οποίος είναι διαθέσιμος στηνιστοσελίδα του Scratch. Στη συνέχεια, για περισσότερες πληροφορίες μπορείτε ναεπιστρέψετε στον Οδηγό Χρήσης.Στην ιστοσελίδα του Scratch μπορείτε να βρείτε πολλές άλλες πηγές που θα σαςβοηθήσουν στην εκμάθηση, όπως: εκπαιδευτικά βίντεο, κάρτες Scratch και συχνάυποβαλλόμενες ερωτήσεις (FAQs). Επισκεφθείτε την ιστοσελίδαhttp://scratch.mit.edu/howtoΑυτός ο οδηγός χρήσης συνοδεύει την έκδοση 1.3, Αύγουστος 2008. Για τηντελευταία έκδοση αυτού του Οδηγού χρήσης, επισκεφθείτε την ιστοσελίδαhttp://scratch.mit.edu/howto Βασικά στοιχεία μιας εφαρμογής ScratchΟι εφαρμογές στο Scratch υλοποιούνται με αντικείμενα που ονομάζονται Sprites(Φιγούρες). Μπορείτε να αλλάξετε την εμφάνιση μιας Φιγούρας αλλάζοντας τηνενδυμασία της. Η Φιγούρα μπορεί να πάρει τη μορφή ανθρώπου, τραίνου,πεταλούδας ή οτιδήποτε άλλο. Μπορείτε να χρησιμοποιήσετε οποιαδήποτε εικόνα ωςενδυμασία: μπορείτε να σχεδιάσετε μια εικόνα στο πρόγραμμα της Ζωγραφικής, ναεισάγετε μια εικόνα από τον σκληρό δίσκο ή από το διαδίκτυο.Μπορείτε να δώσετε οδηγίες στη Φιγούρα για να κινηθεί, να παίξει μουσική ή νααλληλεπιδράσει με άλλες Φιγούρες. Για να δώσετε εντολές στη Φιγούρα, ενώνετεμεταξύ τους πλακίδια (εντολές προγραμματισμού) σχηματίζοντας στήλες, ώστε ναδημιουργηθούν σενάρια ενεργειών (scripts).Όταν κάνετε διπλό κλικ στη στήλη με τα πλακίδια που έχετε σχηματίσει, το Scratchεκτελεί τις ενέργειες από την αρχή μέχρι το τέλος.Η γλώσσα προγραμματισμού Scratch αναπτύχθηκε από το Lifelong KindergartenGroup στο MIT Media Lab, με την οικονομική υποστήριξη της ένωσης των NationalScience Foundation, Microsoft, Intel Foundation, Nokia, και MIT Lab research. Σελίδα 34 από 114
  • 35. 2. Η επιφάνεια διεπαφής του χρήστη Πράσινη σημαία Πληροφορίες ενεργής φιγούρας Επιλογή ενεργής Γραμμή εργαλείων καρτέλας Σημειώσεις ΣκηνήΠαλέταεντολών Προβολή Εισαγωγή νέων Παλέτα παρουσίασης Λίστα φιγούρων σεναρίων φιγούρων Σκηνή Η σκηνή είναι ο χώρος που βλέπετε τα σενάρια, τα παιχνίδια και τις κινούμενες εικόνες (animations) να παίρνουν ζωή. Οι Φιγούρες κινούνται και αλληλεπιδρούν μεταξύ τους. Η σκηνή έχει 480 μονάδες πλάτος και 350 μονάδες ύψος. Είναι διαιρεμένη σε ένα πλέγμα αξόνων x-y. Το σημείο στη μέση της οθόνης έχει συντεταγμένες 0,0. x:0 , y:0 y Για να βρείτε τις συντεταγμένες x – y στην σκηνή, κινήστε το ποντίκι και κοιτάξτε στις συντεταγμένες x-y του ποντικιού, που x εμφανίζονται ακριβώς κάτω και δεξιά της σκηνής. Κάντε κλικ στην προβολή παρουσίασης για να δείτε τις εφαρμογές σε πλήρη οθόνη. Για να βγείτε από την προβολή παρουσίασης πατήστε το πλήκτρο Esc. Σελίδα 35 από 114
  • 36. Εισαγωγή νέων ΦιγούρωνΌταν ξεκινάτε μια νέα εφαρμογή, εμφανίζετε ως προκαθορισμένη η Φιγούρα τηςγάτας. Για να δημιουργήσετε νέες Φιγούρες, κάντε κλικ στα παρακάτω κουμπιά : Σχεδίασε τη δική σου ενδυμασία για μια νέα Φιγούρα, χρησιμοποιώντας το πρόγραμμα ζωγραφικής. Επέλεξε μια Ενδυμασία για μια νέα Φιγούρα – ή εισήγαγε μια νέα Φιγούρα Εισήγαγε μια Φιγούρα έκπληξη (τυχαία επιλογή)Αν θέλετε να διαγράψετε μια Φιγούρα, επιλέξτε το ψαλίδι από τη γραμμή εργαλείωνκαι κάντε κλικ στη Φιγούρα. Ή κάντε δεξί κλικ στη Φιγούρα και στη συνέχειαεπιλέξτε Διαγραφή από την εμφανιζόμενη λίστα.Για να δημιουργήσετε μια Φιγούρα που θα φαίνεται σαν να είναι μέρος τουυπόβαθρου (της σκηνής), κάντε δεξί κλικ στη σκηνή και επιλέξτε «άρπαξε περιοχήοθόνης για νέα φιγούρα» από το αναδυόμενο μενού. Η Λίστα με τις ΦιγούρεςΗ λίστα με τις Φιγούρες εμφανίζει όλες τις Φιγούρες μιας εφαρμογής ωςμικρογραφίες. Εμφανίζει το όνομα και τις εντολές με τις οποίες συνδέεται η κάθεΦιγούρα.Για να δείτε και να τροποποιήσετε τις εντολές μιας Φιγούρας, την εμφάνισή και τουςήχους της, κάντε κλικ πάνω στην αντίστοιχη μικρογραφία στην λίστα με τις Φιγούρεςή κάντε διπλό κλικ στην ίδια τη Φιγούρα πάνω στη σκηνή. (Η επιλεγμένη Φιγούραεμφανίζεται φωτισμένη και περιστοιχίζεται από μια μπλε γραμμή στην λίστα με τιςΦιγούρες). Για να δείτε, να εξάγετε, να αντιγράψετε ή να διαγράψετε μια Φιγούρα,κάντε δεξί κλικ στη μικρογραφία της στην λίστα των Φιγούρων. Για να εμφανίσετεμια Φιγούρα που βρίσκετε εκτός σκηνής ή είναι κρυμμένη, πατήστε shift καιταυτόχρονα κάντε κλικ στην μικρογραφία της Φιγούρας – με αυτή την ενέργεια θαεμφανιστεί στη μέση της σκηνής.Μπορείτε να αναδιατάξετε τις Φιγούρες στην λίστα σύροντας την μικρογραφία.Όπως μια Φιγούρα αλλάζει την εμφάνιση της αλλάζοντας ενδυμασίες, έτσι μπορεί νααλλάξει το φόντο και η σκηνή. Για να δείτε και να συντάξετε τις εντολές, το φόντοκαι τους ήχους που συνδέονται με τη σκηνή κάντε κλικ στο εικονίδιο Σκηνή πουβρίσκεται στα αριστερά της λίστας με τις Φιγούρες. Σελίδα 36 από 114
  • 37. Παλέτα εντολών και περιοχή σεναρίωνΓια να προγραμματίσετε μια Φιγούρα, σύρετε πλακίδια από την παλέτα των Εντολώνστην περιοχή των σεναρίων. Για να εκτελέσετε μια σειρά με πλακίδια, κάντε διπλόκλικ πάνω της.Δημιουργήστε σενάρια (προγράμματα) στοιβάζοντας πλακίδια σε στήλες. Κάντεδιπλό κλικ οπουδήποτε στη στήλη για να εκτελεστεί το σενάριο, από την αρχή έως τοτέλος. Για να ανακαλύψετε τι κάνει το κάθε πλακίδιο, κάντε δεξί κλικ πάνω του,έπειτα επιλέξτε τη Βοήθεια από την αναδιπλούμενη λίστα.Όταν σύρετε ένα πλακίδιο μέσα στην περιοχή του σεναρίου, μια λευκού χρώματοςυπογράμμιση υποδεικνύει που μπορείτε να το τοποθετήσετε και ποια ένωση είναιέγκυρη. Μπορείτε να εισάγετε πλακίδια στη μέση της στήλης ή στο τέλος.Για να μεταφέρετε μια στήλη με πλακίδια, την επιλέγετε από το πρώτο πλακίδιο. Εάνμετακινήσετε ένα πλακίδιο από το μέσο της λίστας, θα μετακινηθούν μαζί του καιόσα βρίσκονται κάτω από αυτό. Για να αντιγράψετε μια στήλη από πλακίδια μιαςΦιγούρας σε κάποια άλλη, σύρετε τη στήλη στη μικρογραφία της Φιγούρας, στηνλίστα των Φιγούρων.Κάποια πλακίδια εμφανίζουν ένα λευκό πεδίο πάνω τους, όπου μπορείτε ναπληκτρολογήσετε παραμέτρους – ορίσματα, όπως . Για ναμεταβάλετε την τιμή, κάντε κλικ στην λευκή περιοχή και πληκτρολογήστε έναναριθμό.Μπορείτε επίσης, να σύρετε στρογγυλοποιημένα πλακίδια, όπως στιςπεριοχές αυτές.Κάποια πλακίδια έχουν αναδιπλούμενες λίστες επιλογών, όπως .Κάντε κλικ στο για να δείτε την λίστα, και έπειτα κλικ στην επιλογή σας.Για να καθαρίσετε την περιοχή σεναρίων, πατήστε δεξί κλικ και επιλέξτε «καθάρισετα όλα» από τις επιλογές.Για να εξάγετε ένα στιγμιότυπο από την περιοχή σεναρίου, κάντε δεξί κλικ καιεπιλέξτε «αποθήκευσε την εικόνα των σεναρίων».Για να προσθέσετε σχόλια στην περιοχή σεναρίου, κάντε δεξί κλικ και επιλέξτε«πρόσθεσε σχόλιο». Μια κίτρινη περιοχή σχολίων θα εμφανιστεί όπου μπορείτε ναπληκτρολογήσετε κείμενο.Για να μεταβάλλεται το μέγεθος της περιοχής των σχολίων, χρησιμοποιήστε τη λαβήστη δεξιά άκρη. Κάντε κλικ στο τρίγωνο πάνω αριστερά για να περιορίσετε ή ναεπεκτείνετε την περιοχή των σχολίων.Τα σχόλια μπορούν να προστεθούν οπουδήποτε στην περιοχή εντολών, και μπορείτενα τα μετακινήσετε οπουδήποτε σύροντάς τα. Ενδυμασίες Σελίδα 37 από 114
  • 38. Κάντε κλικ στην καρτέλα Ενδυμασίες για να δείτε και να διαμορφώσετε τιςενδυμασίες των Φιγούρων. Αυτή η Φιγούρα έχει δύο ενδυμασίες. Η τρέχουσα ενδυμασία της Φιγούρας είναι επιλεγμένη. Για να αλλάξει η εμφάνιση της Φιγούρας, απλώς κάντε κλικ στη μικρογραφία της Εμφάνισης που επιθυμείτε να έχει.Μπορείτε να δημιουργήσετε νέες Εμφανίσεις με τρεις τρόπους.  Κάντε κλικ για να σχεδιάσετε μια νέα εμφάνιση στο πρόγραμμα της Ζωγραφικής.  Κάντε κλικ για να εισάγετε ένα αρχείο εικόνας από το σκληρό δίσκο.  Σύρετε μια ή παραπάνω εικόνες από το διαδίκτυο ή την επιφάνεια εργασίας.Το Scratch αναγνωρίζει διαφορετικούς τύπους εικόνων : JPG, BMP, PNG, GIF,(συμπεριλαμβανομένου του animated GIF).Κάθε ενδυμασία έχει έναν χαρακτηριστικό αριθμό (εμφανίζεται στα αριστερά της).Μπορείτε να ρυθμίσετε εκ νέου τη σειρά των ενδυμασιών σύροντας τιςμικρογραφίες. Ο αριθμός της ενδυμασίας αλλάζει αν αλλάξετε τη σειρά τους.Πατήστε δεξί κλικ σε μια μικρογραφία ενδυμασίας για να γίνει ενδυμασία μιας άλληΦιγούρας, ή για να δημιουργηθεί ένα αντίγραφο της ενδυμασίας ως ξεχωριστόαρχείο. ΉχοιΚάντε κλικ στην καρτέλα Ήχοι για να δείτε τους ήχους της Φιγούρας.Μπορείτε να ηχογραφήσετε νέους ήχους ή να εισάγετε αρχεία ήχων. Το Scratchμπορεί να διαβάζει MP3 αρχεία και ασυμπίεστα WAV, AIF, και AU αρχεία(κωδικοποιημένα με 8 –bits ή 16 – bits ανά δείγμα, αλλά όχι με 24 bits ανά δείγμα). Πληροφορίες για την ενεργή φιγούρα Σελίδα 38 από 114
  • 39. Οι τρέχουσες πληροφορίες για τη Φιγούρα δείχνουν το όνομα της Φιγούρας, τιςσυντεταγμένες x – y, την κατεύθυνση και την κατάσταση κλειδώματος.Μπορείτε να πληκτρολογήσετε ένα νέο όνομα για τη Φιγούρα.Η κατεύθυνση καθορίζει προς ποια κατεύθυνση θα κινηθεί η Φιγούρα όταν εκτελέσειμια εντολή κίνησης (0=πάνω, 90=δεξιά, 180=κάτω, -90=αριστερά). Η μπλε γραμμήστη μικρογραφία δείχνει την κατεύθυνση κίνησης της Φιγούρας. Μπορείτε να σύρετεαυτή τη γραμμή για να μεταβάλετε την κατεύθυνση της Φιγούρας. Με διπλό κλικ στηΦιγούρα επανέρχεται στην αρχική κατεύθυνση (κατεύθυνση=90).Κάντε κλικ στην κλειδαριά για να αλλάξετε την κλειδωμένη ή μη κατάσταση τηςΦιγούρας. Μια ξεκλείδωτη Φιγούρα μπορεί να συρθεί στην κατάσταση παρουσίασηςκαι να αναπαραχθεί μέσω web.Για να εξάγετε μια Φιγούρα, κάντε δεξί κλικ στη Φιγούρα στη σκηνή ή στην λίστα μετις Φιγούρες. Η Εξαγωγή σώζει τη Φιγούρα σαν ένα αρχείο με κατάληξη .sprite, πουμπορεί να εισαχθεί στη συνέχεια σε μια άλλη εφαρμογή. ΠεριστροφήΚάντε κλικ στα κουμπιά που καθορίζουν το Στυλ Περιστροφής για να ελέγξετε πωςθα εμφανίζονται οι ενδυμασίες καθώς η Φιγούρα αλλάζει κατεύθυνση. Περιστροφή: Η ενδυμασία περιστρέφεται καθώς η Φιγούρα αλλάζει κατεύθυνση. Μόνο το πρόσωπο αριστερά – δεξιά: Η ενδυμασία κοιτάει πότε αριστερά πότε δεξιά Μην το περιστρέψεις: Η ενδυμασία δεν περιστρέφεται (ακόμη και όταν η Φιγούρα αλλάζει κατεύθυνση). Γραμμή εργαλείωνΚάντε κλικ στη Γραμμή Εργαλείων για να επιλέξετε ένα εργαλείο, έπειτα κάντε κλικσε άλλα αντικείμενα για να εκτελεστεί η ενέργεια. Βέλος. Κανονική κατάσταση. Επιλέγει και μετακινεί Φιγούρες και πλακίδια Διπλασιασμός: Διπλασιάζει Φιγούρες, ενδυμασίες, ήχους, πλακίδια, και στήλες εντολών (SHIFT + click για αναπαραγωγή). Διαγραφή: Διαγράφει Φιγούρες, ενδυμασίες, ήχους, πλακίδια, και στήλες εντολών. Μεγέθυνση: Αυξάνει το μέγεθος της Φιγούρας Σμίκρυνση: Μειώνει το μέγεθος της Φιγούρας. Σελίδα 39 από 114
  • 40. ΜενούΤα κουμπιά Νέο, Άνοιγμα, Αποθήκευσε και Αποθήκευσε ως κάνουν ότιπεριμένουμε.Η επιλογή Μοίρασε το! Σας δίνει τη δυνατότητα να ανεβάσετε το σενάριο σας στοδιαδίκτυο. (http://scratch.mit.edu).Η επιλογή Αναίρεσε επιτρέπει να ανακτήσετε το τελευταίο πλακίδιο, στήλη εντολών,ή Φιγούρα που σβήσατε (αλλά δεν σας επιτρέπει να αναιρέσετε προηγούμενεςκινήσεις).Η επιλογή Γλώσσα σας επιτρέπει να επιλέξετε τη γλώσσα της διεπαφής με τονχρήστη. Οποιοσδήποτε μπορεί να προσθέσει ή να τροποποιήσει τη μετάφραση μιαςγλώσσας στο Scratch. Σχετικά με την πρόσθεση ή τροποποίηση στη μετάφραση μιαςγλώσσας μπορείτε να βρείτε αναφορά στο τμήμα Υποστήριξης, στην ιστοσελίδα τουScratch. Σε περιοδικά διαστήματα, ένα ενημερωμένο πακέτο με την τελευταίαέκδοση της μετάφραση του Scratch σε διάφορες γλώσσες, θα είναι διαθέσιμο νακατέβει από την ιστοσελίδα του Scratch.Η επιλογή Πρόσθετα προσφέρει μια αναδιπλούμενη λίστα με ειδικά χαρακτηριστικά: Εισαγωγή σεναρίου: φέρνει όλες τις Φιγούρες και το φόντο από άλλα σενάρια στο δικό σας. Αυτή η επιλογή είναι χρήσιμη για να συνδυάζετε Φιγούρες από διαφορετικά σενάρια. Έναρξη του βήμα – βήμα: Το πρόγραμμα Scratch εκτελεί ένα βήμα τη φορά, φωτίζοντας κάθε πλακίδιο καθώς εκτελείτε. Αυτή η δυνατότητα είναι χρήσιμη για να εντοπίζονται σφάλματα στα προγράμματα, και στο να βοηθάει νέους προγραμματιστές να καταλάβουν την ροή ενός προγράμματος. Συμπίεση ήχων: η συμπίεση ήχων χρησιμοποιείται, για να μειώσει το μέγεθος του αρχείου ενός σεναρίου. Συμπίεση εικόνας: η συμπίεση εικόνας χρησιμοποιείται για να μειώσει το μέγεθος του αρχείου ενός σεναρίου.Η επιλογή Χρειάζεσαι βοήθεια; εμφανίζει μια σελίδα με συνδέσμους που οδηγούν σεοδηγίες χρήσης, εκπαιδευτικό υλικό και σε συχνά υποβαλλόμενες ερωτήσεις. Για ναλάβετε βοήθεια για κάθε πλακίδιο, κάντε δεξί κλικ στο πλακίδιο και επιλέξτεΒοήθεια από την αναδιπλούμενη λίστα. Σελίδα 40 από 114
  • 41. Πράσινη σημαίαΗ πράσινη σημαία παρέχει έναν βολικό τρόπο για να εκτελεστούν πολλές στήλεςπλακιδίων ταυτόχρονα. Κάντε κλικ στην πράσινη σημαία για εκτελεστούν όλα ταπλακίδια που βρίσκονται κάτω από τοΣτην Κατάσταση Προβολής, η Πράσινη σημαία εμφανίζεται σαν ένα μικρό εικονίδιο στην πάνω δεξιά γωνία της σκηνής. Πατώντας το πλήκτρο Enter έχετε το ίδιοαποτέλεσμα με το πάτημα της πράσινης σημαίας. ΖωγραφικήΜπορείτε να χρησιμοποιήσετε τη Ζωγραφική για να σχεδιάσετε και διαμορφώσετεεμφανίσεις και φόντα.Η γραμμή εργαλείων της Ζωγραφικής έχει τα ακόλουθα εργαλεία: Πινέλο: Ζωγραφίζετε ελεύθερα χρησιμοποιώντας το τρέχον χρώμα. Όταν κάνετε κλικ σε αυτό το εργαλείο, ο χώρος των επιλογών δείχνει το μέγεθος του πινέλου. Κάντε κλικ στο για να επιλέξετε ένα διαφορετικού μεγέθους πινέλο. Γόμα: Σβήνετε ελεύθερα. Οι περιοχές που σβήνετε γίνονται διαφανής. Όταν κάνετε κλικ σε αυτό το εργαλείο, η περιοχή των επιλογών δείχνει το μέγεθος της γόμας. Κάντε κλικ στο για να επιλέξετε ένα διαφορετικό μέγεθος γόμας. Σελίδα 41 από 114
  • 42. Γέμισμα: Γεμίζετε κλειστές περιοχές με ένα χρώμα ή μια διαβάθμιση. Όταν επιλέγετε αυτό το εργαλείο, η περιοχή επιλογών δείχνει τις δυνατότητες (χρώμα, οριζόντια διαβάθμιση, κάθετη διαβάθμιση ή ακτινωτή διαβάθμιση). Οι διαβαθμίσεις είναι μίγμα επιλογών που ξεκινούν από το επιλεγμένο χρώμα του πρώτου επιπέδου ως το επιλεγμένο χρώμα του υποβάθρου. Ορθογώνιο παραλληλόγραμμο: Σχεδιάζετε ένα περίγραμμα ορθογωνίου παραλληλογράμμου ή ένα χρωματιστό ορθογώνιο παραλληλόγραμμο (shift+drag για τετράγωνο) χρησιμοποιώντας το τρέχον χρώμα του προσκηνίου. Κάνοντας κλικ σε αυτό το εργαλείο, η περιοχή των επιλογών δείχνει το στυλ του παραλληλόγραμμου (συμπαγές ή περίγραμμα). Έλλειψη: σχεδιάζετε μια συμπαγής έλλειψη ή το περίγραμμα της (Shift+drag για κύκλο) χρησιμοποιώντας το τρέχον χρώμα του προσκηνίου. Επιλέγοντας αυτό το εργαλείο, η περιοχή επιλογών δείχνει το στυλ της έλλειψης (συμπαγής ή περίγραμμα). Γραμμή: σχεδιάζετε μια ευθεία (Shift+drag για μια οριζόντια ή κάθετη γραμμή) χρησιμοποιώντας το τρέχον χρώμα του προσκηνίου. Όταν επιλέγετε αυτό το εργαλείο, η περιοχή επιλογών δείχνει το μέγεθος της βούρτσας. Κάντε κλικ στο για να επιλέξετε ένα διαφορετικό μέγεθος. Κείμενο: Προσθέστε κείμενο στο σχέδιο. Όταν επιλέγετε αυτό το εργαλείο, η περιοχή επιλογών σας επιτρέπει να αλλάξετε τον τύπο και το μέγεθος της γραμματοσειράς. Κάθε εμφάνιση μπορεί να έχει μόνο ένα τουβλάκι με κείμενο. Επιλογή: Επιλέξτε μια ορθογώνια περιοχή, στη συνέχεια μεταφέρετέ την σε μια νέα θέση (πατήστε Διαγραφή για να διαγράψετε την επιλογή, Shift+delete ή shift+backspace για να περικόψετε). Αντίτυπο: Επιλέξτε μια ορθογώνια περιοχή, στη συνέχεια αντιγράψτε την σε μια νέα θέση (Shift+click+drag για επαναλαμβανόμενα αντίτυπα). Σταγονόμετρο: Χρησιμοποιήστε το σταγονόμετρο για να επιλέξετε το χρώμα του παρασκηνίου (κάντε κλικ στον καμβά και σύρετε το σταγονόμετρο για να επιλέξετε ένα χρώμα έξω από την περιοχή του καμβά).Τα τρέχοντα χρώματα (προσκηνίου και υποβάθρου) φαίνονται κάτω από τηνπεριοχή επιλογών. Μπορείτε να κάνετε κλικ στο βέλος που αλλάζει χρώμα, για ναεπιλέξετε το χρώμα του προσκηνίου και του υποβάθρου. Κάντε κλικ σε ένα από ταχρώματα της παλέτας για να επιλέξετε ένα νέο χρώμα προσκηνίου (Shift+click γιανα επιλέξετε το χρώμα του υποβάθρου).Κάντε κλικ στο πλήκτρο όρισε το κέντρο περιστροφής για να επιλέξετε την περιοχήτης σχεδίασης που θα χρησιμοποιηθεί σαν το κέντρο της περιστροφής όταν ηΦιγούρα περιστραφεί στη σκηνή.Κάντε κλικ στο πλήκτρο ζουμ (μέσα ή έξω) για να αυξηθεί ή να μειωθεί ο βαθμόςμεγέθυνσης του καμβά. Όταν το ζουμ είναι μεγαλύτερο από το 100%, εμφανίζονταιγραμμές ολίσθησης για την μετακίνηση στον καμβά. Το ζουμ δεν αλλάζει το μέγεθοςτης εικόνας.Κάντε κλικ στο πλήκτρο Εισαγωγή για να ανοίξετε ένα αρχείο εικόνας και να τηνπροσθέσετε στον καμβά.Κάντε κλικ στο πλήκτρο Καθάρισε για να αφαιρέσεις όλα τα στοιχεία του καμβά. Σελίδα 42 από 114
  • 43. Για να αλλάξετε το μέγεθος του περιεχομένου του καμβά, ή μόνο την τρέχουσαεπιλογή, κάντε κλικ στο κουμπί Κλίμακα (μεγέθυνση ή σμίκρυνση). Μπορείτε ναπατήσετε Shift+click στα πλήκτρα για να εισάγετε μια συγκεκριμένη τιμή. Ησμίκρυνση μειώνει το μέγεθος και την ανάλυση της εικόνας.Για να περιστρέψετε το περιεχόμενο του καμβά, ή απλά την τρέχουσα επιλογή, κάντεκλικ στα κουμπιά Περιστροφή (αριστερόστροφη και δεξιόστροφη περιστροφή).Μπορείτε να πατήσετε Shift+click στα κουμπιά για να εισάγετε μια συγκεκριμένητιμή.Για να προβάλετε το περιεχόμενο του καμβά, ή απλά την τρέχουσα επιλογή, κάντεκλικ στο κουμπί ή στο (συμμετρικό οριζοντίως ή καθέτως).Εάν κάνατε λάθος, μπορείτε με επαναλαμβανόμενα κλικ στο κουμπί Αναίρεση νααναιρέσετε τις τελευταίες σας ενέργειες. Αν αλλάξετε γνώμη, μπορείτε να κάνετεκλικ στο κουμπί Redo για να επαναφέρετε τις αναιρούμενες ενέργειες. Σελίδα 43 από 114
  • 44. 3. Πλακίδια ScratchΤύποι εντολών - πλακίδιαΥπάρχουν τρεις βασικοί τύποι εντολών στην Παλέτα με τα πλακίδια.Σωροί: Αυτά τα πλακίδια έχουν εξογκώματα στη βάση τους και/ή εγκοπές στο πάνωμέρος, όπως το . Μπορείτε να ενώσετε αυτά τα πλακίδια σχηματίζονταςστήλες. Κάποια πλακίδια έχουν μια κενή περιοχή μέσα τους, όπου μπορείτε ναπληκτρολογήσετε έναν αριθμό (όπως το 10 στο πλακίδιο) ή ναεπιλέξετε ένα στοιχείο από μια αναδιπλούμενη λίστα (όπως η αναδιπλούμενη λίσταστο ). Κάποιοι σωροί πλακιδίων, όπως τοέχουν ένα σχήματος C στόμα, όπου μπορείτε να τοποθετήσετε άλλους σωρούςπλακιδίων.Καπέλα: Αυτά τα πλακίδια έχουν στρογγυλεμένες κορυφές, όπως Αυτά τα πλακίδια τοποθετούνται στην κορυφή τωνστηλών. Περιμένουν ένα γεγονός να συμβεί, όπως το να πατηθεί ένα πλήκτρο, για ναεκτελέσουν τα πλακίδια που βρίσκονται από κάτω.Αναφορείς: Αυτά τα πλακίδια, όπως και ,σχεδιάστηκαν για να εφαρμόζουν στην εσωτερική περιοχή άλλων πλακιδίων. Οιαναφορείς με τις στρογγυλεμένες άκρες (όπως ή ) αναφέρουναριθμούς ή πεδία, και εφαρμόζουν σε πλακίδια με στρογγυλεμένες ή ορθογώνιεςτρύπες (όπως ή ). Οι αναφορείς με τααιχμηρά άκρα (όπως ) αναφέρουν λογικές τιμές (αληθής ήψευδής) και εφαρμόζουν μέσα σε πλακίδια με αιχμηρές ή ορθογώνιες τρύπες (όπως ή ).Κάποια πλακίδια της κατηγορίας των αναφορέων φέρουν δίπλα τους ένα κουτάκιεπιλογής, όπως . Εάν κάνετε κλικ στο κουτάκι επιλογής, μια οθόνηεμφανίζεται στη σκηνή, επιδεικνύοντας τις τρέχουσες τιμές του αναφορέα. Καθώς ητιμή του αναφορέα μεταβάλλεται, η οθόνη ενημερώνεται αυτόματα. Η τιμή ενόςαναφορέα μπορεί να εμφανίζεται με διαφορετικούς τρόπους: Με μια μικρή ταμπέλα με το όνομα του αναφορέα Με μια μεγάλη ταμπέλα χωρίς όνομα Με έναν επιλογέα ολίσθησης που σας επιτρέπει να επιλέξετε την τιμή του αναφορέα (διαθέσιμη μόνο για μεταβλητές) Σελίδα 44 από 114
  • 45. Με διπλό κλικ ή δεξί κλικ σε μια οθόνη αναφορέα μπορείτε να αλλάξετε τον τύπο μετον οποίο εμφανίζεται.Ο τύπος του επιλογέα ολίσθησης είναι διαθέσιμος μόνο για μεταβλητές που έχειδημιουργήσει ο χρήστης. Με δεξί κλικ στην οθόνη τύπου του επιλογέα ολίσθησηςμπορείτε να προσαρμόσετε τις μέγιστες και ελάχιστες τιμές. ΛίστεςΤώρα μπορείτε να δημιουργήσετε και να χειριστείτε λίστες στο Scratch. Οι Λίστεςμπορούν να αποθηκεύσουν αριθμούς, πεδία γραμμάτων και άλλους χαρακτήρες.Για να δημιουργήσετε μια Λίστα, πηγαίνετε στα πλακίδια της κατηγορίας τωνΜεταβλητών και πατήστε . Όταν δημιουργήσετε μια Λίστα, θαεμφανιστούν μια σειρά από πλακίδια.Όταν δημιουργείτε μια Λίστα, μια οθόνη ελέγχου της Λίστας θα εμφανιστεί στησκηνή. Η οθόνη ελέγχου της Λίστας δείχνει όλα τα στοιχεία της Λίστας. Μπορείτε ναπληκτρολογήσετε στοιχεία απευθείας στην οθόνη ελέγχου της Λίστας.Στην αρχή η Λίστα θα είναι άδεια, με μήκος 0. Για να προσθέσετε στοιχεία,πατήστε το + κουμπί στο κάτω αριστερά μέρος της οθόνης ελέγχου τηςΛίστας. Το μήκος θα αυξηθεί κατά 1. Εναλλακτικά, μπορείτε να προσθέσετεστοιχεία χρησιμοποιώντας τα πλακίδια της Λίστας (π.χ. ).Μπορείτε να μεταβάλλεται το μέγεθος της οθόνης ελέγχου από την κάτω δεξιάγωνία.Σημείωση: Μπορείτε να κάνετε δεξί κλικ στην οθόνη ελέγχου μιας Λίστας για ναεξάγετε μια λίστα σε ένα αρχείο με προέκταση .txt. Μπορείτε επίσης, να εισάγεταικάθε .txt αρχείο με τιμές σε διαφορετικές γραμμές. Πεδία κειμένουΤα πεδία περιέχουν γράμματα, λέξεις ή άλλου είδους χαρακτήρες (π.χ. μήλο,Σεπτέμβριος 2008, Κέρδισες!).Τα πεδία μπορούν να αποθηκευτούν σε μεταβλητές ή Λίστες (όπως ή ). Σελίδα 45 από 114
  • 46. Μπορείτε μα συγκρίνετε πεδία χρησιμοποιώντας τα ακόλουθα πλακίδια .Τα πεδία εκτιμώνται με την τιμή 0 στα μαθηματικώς επεξεργάσιμα πλακίδια(όπως ) και σε πλακίδια που αναμένουν έναν αριθμό (όπως και το ). Σελίδα 46 από 114
  • 47. ΚΙΝΗΣΗ Μετακινεί τη Φιγούρα μπροστά ή πίσω Περιστρέφει δεξιόστροφα τη Φιγούρα Περιστρέφει αριστερόστροφα τη Φιγούρα Προσανατολίζει τη Φιγούρα σε συγκεκριμένη κατεύθυνση (0=πάνω, 90=δεξιά, 180=κάτω, -90=αριστερά) Προσανατολίζει τη Φιγούρα προς τη θέση του ποντικιού ή άλλης Φιγούρας Μετακινεί τη Φιγούρα σε συγκεκριμένο σημείο της Σκηνής με συντεταγμένες x και y Μετακινεί τη Φιγούρα προς τη θέση του ποντικιού ή άλλης Φιγούρας Μετακινεί τη Φιγούρα ομαλά σε συγκεκριμένη θέση κατά τη διάρκεια συγκεκριμένου χρονικού διαστήματος Μεταβάλει τη θέση της Φιγούρας στον άξονα χ κατά συγκεκριμένο αριθμό Ορίζει συγκεκριμένη τιμή της θέσης στον άξονα χ για τη Φιγούρα. Μεταβάλει τη θέση της Φιγούρας στον άξονα y κατά συγκεκριμένο αριθμό Ορίζει συγκεκριμένη θέση στον άξονα y για τη Φιγούρα. Η Φιγούρα αναπηδά όταν αγγίζει το περιθώριο (πλαίσιο) της σκηνής Αναφέρει τη χ συντεταγμένη της Φιγούρας (εύρος από -240 έως 240) Αναφέρει τη y συντεταγμένη της Φιγούρας (εύρος από -180 έως 180) Αναφέρει την κατεύθυνση της Φιγούρας (0=πάνω, 90=δεξιά, 180=κάτω, -90=αριστερά)ΟΨΕΙΣ Αλλάζει την εμφάνιση της Φιγούρας αλλάζοντας Ενδυμασία Αλλάζει την Ενδυμασία της Φιγούρας στην επόμενη από την λίστα των Ενδυμασιών (αν φτάσει στο τέλος των Ενδυμασιών της λίστας, ξεκινάει πάλι από την πρώτη) Αναφέρει τον αριθμό της τρέχουσας Ενδυμασίας Αλλάζει τη σκηνή εμφανίζοντας ένα άλλο υπόβαθρο (φόντο) Σελίδα 47 από 114
  • 48. Αλλάζει το υπόβαθρο (φόντο) στο επόμενο από την λίστα υπόβαθρων (φόντων) Αναφέρει τον αριθμό του τρέχοντος υπόβαθρου Εμφανίζει τη φυσαλίδα λόγου της Φιγούρας για συγκεκριμένο χρονικό διάστημα Εμφανίζει τη φυσαλίδα λόγου της Φιγούρας Εμφανίζει τη φυσαλίδα σκέψης της Φιγούρας για συγκεκριμένο χρονικό διάστημα Εμφανίζει τη φυσαλίδα σκέψης της Φιγούρας Αλλάζει το οπτικό αποτέλεσμα της Φιγούρας κατά συγκεκριμένο ποσό (χρησιμοποιήστε την αναδιπλούμενη λίστα για να επιλέξετε το αποτέλεσμα) Ορίζει το οπτικό αποτέλεσμα της Φιγούρας αντιστοιχώντας το με συγκεκριμένο αριθμό (τα περισσότερα οπτικά αποτελέσματα ορίζονται με αριθμούς από το 0 έως το 100) Αναιρεί όλα τα γραφικά εφέ της Φιγούρας Αλλάζει το μέγεθος της Φιγούρας κατά συγκεκριμένο ποσό. Θέτει το μέγεθος της Φιγούρας σε ένα συγκεκριμένο ποσοστό επί τοις εκατό του πρωτότυπου μεγέθους Αναφέρει το μέγεθος της Φιγούρας, σε ποσοστό επί τοις εκατό του πρωτότυπου μεγέθους. Εμφανίζει τη Φιγούρα στη σκηνή. Εξαφανίζει τη Φιγούρα από τη σκηνή. Τοποθετεί τη Φιγούρα μπροστά από όλες τις άλλες. Τοποθετεί τη Φιγούρα πίσω κατά συγκεκριμένο αριθμό επιπέδων, ώστε να καλύπτετε από άλλες Φιγούρες.ΗΧΟΙ Ξεκινάει να παίζει ένας ήχος, επιλεγμένος από μια αναδιπλούμενη λίστα, και αμέσως εκτελεί το επόμενο Σελίδα 48 από 114
  • 49. πλακίδιο ενώ συνεχίζει να παίζει ο ήχος Παίζει έναν ήχο και περιμένει να σταματήσει πριν συνεχίσει στο επόμενο πλακίδιο Σταματούν όλοι οι ήχοι Παίζει ένας ήχος τυμπάνου, επιλεγμένος από αναδιπλούμενη λίστα, για καθορισμένο αριθμό χτύπων Παίζει μια μουσική νότα (μεγαλύτεροι αριθμοί για υψηλότερη ένταση) για καθορισμένο αριθμό χτύπων Παύση (δεν παίζει τίποτε) για καθορισμένο αριθμό χτύπων Ορίζει τον τύπο του οργάνου που χρησιμοποιεί η Φιγούρα στο τούβλο παίξε νότα (κάθε Φιγούρα έχει το δικό της όργανο) Μεταβάλλει την ένταση του ήχου κατά ορισμένη τιμή Ρυθμίζει την ένταση του ήχου σε ορισμένη τιμή Αναφέρει την ένταση του ήχου Αλλάζει το ρυθμό κατά ορισμένη τιμή Ορίζει το ρυθμό της Φιγούρας σε ορισμένη τιμή χτύπων ανά λεπτό. Αναφέρει το ρυθμό σε χτύπους ανά λεπτό.ΠΕΝΑ Καθαρίζει όλα τα ίχνη της πένας και τις στάμπες στη σκηνή. Κατεβάζει την πένα της Φιγούρας, ώστε να αφήνει ίχνος καθώς κινείται Σηκώνει την πένα της Φιγούρας, ώστε να μην αφήνει ίχνος καθώς κινείται. Καθορίζει το χρώμα της πένας, από τη γκάμα των χρωμάτων Αλλάζει το χρώμα της πένας κατά συγκεκριμένη ποσότητα Καθορίζει το χρώμα της πένας σε συγκεκριμένη τιμή (σκίαση=0 πολύ σκούρο, σκίαση=100 πολύ φωτεινό) Αλλάζει τη σκιά της πένας κατά συγκεκριμένο ποσό Καθορίζει τη σκιά της πένας σε συγκεκριμένο ποσό Σελίδα 49 από 114
  • 50. Μεταβάλλει το πάχος του ίχνους της πένας κατά συγκεκριμένο αριθμό Καθορίζει το πάχος του ίχνους της πένας Εντυπώνει την εικόνα της Φιγούρας (δημιουργεί αντίτυπα) στην σκηνήΕΛΕΓΧΟΣ Εκτελεί το σενάριο όταν γίνει κλικ στην πράσινη σημαία Εκτελεί το σενάριο όταν πατηθεί συγκεκριμένο πλήκτρο Εκτελεί το σενάριο όταν γίνει κλικ στη Φιγούρα1 Περιμένει καθορισμένο αριθμό δευτερολέπτων, έπειτα συνεχίζει στο επόμενο πλακίδιο Εκτελεί τα πλακίδια που βρίσκονται μέσα στον βρόγχο ξανά και ξανά Επαναλαμβάνει τις εντολές που βρίσκονται μέσα στον βρόγχο συγκεκριμένες φορές Μεταδίδει – στέλνει ένα μήνυμα σε όλες τις Φιγούρες, προκαλώντας αυτές να κάνουν κάτι, και περιμένει να εκτελέσουν όλες οι Φιγούρες το μήνυμα προτού συνεχίσει στο επόμενο πλακίδιο. Στέλνει ένα μήνυμα σε όλες τις Φιγούρες, στη συνέχεια συνεχίζει με το επόμενο πλακίδιο χωρίς να περιμένει οι Φιγούρες να ολοκληρώσουν την εκτέλεση του μηνύματος. Εκτελεί τις εντολές που ακολουθούν όταν λάβει συγκεκριμένο μήνυμα που έχει αποσταλεί. Ελέγχει διαρκώς αν η συνθήκη είναι αληθής, αν είναι εκτελεί τα πλακίδια μέσα στο βρόγχο. Αν η συνθήκη είναι αληθής, εκτελεί τα πλακίδια μέσα στο βρόγχο. Αν η συνθήκη είναι αληθής, εκτελεί τα πλακίδια μέσα στο βρόγχο «εάν», αν όχι, εκτελεί τα πλακίδια του βρόγχου «αλλιώς». Περιμένει έως ότου η συνθήκη γίνει αληθής, στη συνέχεια εκτελεί τα πλακίδια που ακολουθούν Σελίδα 50 από 114
  • 51. Ελέγχει εάν η συνθήκη είναι αληθής, εάν είναι, εκτελεί τα πλακίδια μέσα στο βρόγχο και ελέγχει την συνθήκη ξανά. Εάν η συνθήκη είναι δεν είναι αληθής, συνεχίζει με τα τουβλάκια που ακολουθούν. Σταματά το σενάριο. Σταματά όλα τα σενάρια που εκτελούν όλες οι Φιγούρες.ΑΙΣΘΗΤΗΡΕΣ Αναφέρει τη συντεταγμένη x του ποντικιού. Αναφέρει τη συντεταγμένη y του ποντικιού. Αναφέρει αληθής όταν πατιέται το ποντίκι. Αναφέρει αληθής, όταν πατιέται καθορισμένο πλήκτρο. Αναφέρει αληθής εάν η Φιγούρα αγγίζει άλλη συγκεκριμένη Φιγούρα, το πλαίσιο, ή το ποντίκι. (Επιλέγεται από αναδιπλούμενη λίστα). Αναφέρει αληθής εάν η Φιγούρα αγγίξει συγκεκριμένο χρώμα. (Κάντε κλικ πάνω στην παλέτα των χρωμάτων και χρησιμοποιήστε το σταγονόμετρο για την επιλογή του χρώματος). Αναφέρει αληθής αν το πρώτο χρώμα αγγίζει το δεύτερο χρώμα Αναφέρει την απόσταση από συγκεκριμένη Φιγούρα ή το δείκτη του ποντικιού. Μηδενίζει το χρονόμετρο Εμφανίζει την ένδειξη του χρονομέτρου σε δευτερόλεπτα Αναφέρει την ιδιότητα ή τη μεταβλητή άλλης Φιγούρας. Αναφέρει την ένταση του ήχου (από το 1 έως το 100) που ανιχνεύεται από το μικρόφωνο του υπολογιστή. Αναφέρει αληθής εάν το μικρόφωνο του υπολογιστή ανιχνεύσει έναν ήχο έντασης μεγαλύτερο του 30 (στην κλίμακα του 1 έως 100) Αναφέρει την τιμή ενός συγκεκριμένου αισθητήρα. Για να χρησιμοποιήσετε αυτή την εντολή χρειάζεστε μια πλακέτα picoBoard συνδεδεμένη με τον υπολογιστή σας. Δείτε στην http:// www.playfulinvention.com/picoboard.html Σελίδα 51 από 114
  • 52. Αναφέρει αληθής όταν πατάμε συγκεκριμένο αισθητήρα. Για να χρησιμοποιήσετε αυτή την εντολή χρειάζεστε μια πλακέτα picoBoard συνδεδεμένη με τον υπολογιστή σας.ΑΡΙΘΜΟΙ Προσθέτει δύο αριθμούς Αφαιρεί το δεύτερο αριθμό από τον πρώτο. Πολλαπλασιάζει δύο αριθμούς. Διαιρεί τον πρώτο αριθμό με το δεύτερο. Επιλέγει έναν τυχαίο ακέραιο αριθμό ανάμεσα σε συγκεκριμένο εύρος. Αναφέρει αληθής εάν ο πρώτος αριθμός είναι μικρότερος από το δεύτερο. Αναφέρει αληθής εάν δύο τιμές είναι ίσες. Αναφέρει αληθής εάν η πρώτη τιμή είναι μεγαλύτερη από τη δεύτερη. Αναφέρει αληθής εάν και οι δύο συνθήκες είναι αληθής. Αναφέρει αληθής εάν μια από τις συνθήκες ικανοποιείται. Αναφέρει αληθής εάν η συνθήκη είναι ψευδής, αναφέρει ψευδής εάν η συνθήκη είναι αληθής. Αναφέρει το αποτέλεσμα επιλεγμένων συναρτήσεων (abs, sqrt, sin, cos, tan, asin, acos, atan, ln, log, e^, 10^) που εφαρμόζονται σε καθορισμένο αριθμό. Αναφέρει το υπόλοιπο της διαίρεσης δύο αριθμών Στρογγυλοποιεί στον πλησιέστερο ακέραιοΜΕΤΑΒΛΗΤΕΣ Επιτρέπει τη δημιουργία και την ονομασία μιας νέας μεταβλητής. Όταν δημιουργείτε μια μεταβλητή, εμφανίζεται το πλακίδιο της μεταβλητής. Μπορείτε να επιλέξετε ποιες μεταβλητές θα συνδέονται με κάποιες ή με όλες τις Φιγούρες. Διαγράφει όλα τα πλακίδια που συνδέονται με μια μεταβλητή. Αναφέρει τη τιμή της μεταβλητής Σελίδα 52 από 114
  • 53. Μεταβάλλει τη μεταβλητή κατάσυγκεκριμένη ποσότητα. Εάνέχετε περισσότερες από μιαμεταβλητές, χρησιμοποιείστετην αναδιπλούμενη λίστα για ναεπιλέξετε το όνομα τηςμεταβλητής.Καθορίζει τη τιμή τηςμεταβλητήςΕμφανίζει το όργανο ελέγχουτης μεταβλητής στην σκηνήΑποκρύπτει το όργανο ελέγχουτης μεταβλητής από τη σκηνήΔημιουργεί και ονοματίζει μιανέα λίστα. Όταν δημιουργείταιμια λίστα, εμφανίζονται τααντίστοιχα πλακίδια. Μπορείτενα επιλέξετε ποιες λίστες θασυνδέονται με κάποιες ή με όλεςτις ΦιγούρεςΔιαγράφει τα πλακίδια πουσυνδέονται με τη συγκεκριμένηΛίσταΑναφέρει όλα τα στοιχεία μιαςΛίστας.Προσθέτει συγκεκριμένοστοιχείο στο τέλος μιας Λίστας.Το στοιχείο μπορεί να είναινούμερο ή πεδίο με γράμματα ήάλλος χαρακτήρας.Διαγράφει ένα ή όλα τα στοιχείααπό μια Λίστα. Μπορείτε ναεπιλέξετε από τηναναδιπλούμενη Λίστα, ή ναχρησιμοποιήσετε ένα νούμερογια να ορίσετε ποιο στοιχείοεπιθυμείτε να διαγράψετε.Επιλέγοντας «τελευταίο»διαγράφετε το τελευταίοστοιχείο της Λίστας.Επιλέγοντας «όλα»διαγράφονται όλα τα στοιχείατης Λίστας. Με τη διαγραφήμειώνεται το μήκος της Λίστας.Εισάγει ένα στοιχείο σεσυγκεκριμένη θέση της Λίστας.Μπορείτε να επιλέξετε από τηναναδιπλούμενη Λίστα, ή ναχρησιμοποιήσετε ένα νούμερογια να ορίσετε τη θέση του Σελίδα 53 από 114
  • 54. στοιχείου. Επιλέγοντας«τελευταίο» προσθέτετε τοστοιχείο στο τέλος της Λίστας.Επιλέγοντας «οπουδήποτε» τοστοιχείο εισάγεται σε μια τυχαίαθέση στην Λίστα. Το μήκος τηςΛίστας αυξάνει κατά 1.Αντικατάσταση ενός στοιχείουστην Λίστα με συγκεκριμένητιμή. Μπορείτε να επιλέξετε απότην αναδιπλούμενη Λίστα, ή ναχρησιμοποιήσετε ένα νούμερογια να ορίσετε ποιο στοιχείο θααντικατασταθεί. Επιλέγοντας«τελευταίο» αντικαθίσταται τοτελευταίο στοιχείο της Λίστας.Επιλέγοντας «οποιοδήποτε»αντικαθίσταται ένα τυχαίοστοιχείο της Λίστας. Το μήκοςτης λίστας δεν μεταβάλλεται.Αναφέρει το στοιχείο πουβρίσκεται σε συγκεκριμένη θέσητης Λίστας. Μπορείτε νατοποθετήσετε αυτό το πλακίδιομέσα σε κάποιο άλλο.Αναφέρει πόσα στοιχεία έχει μιαΛίστα. Σελίδα 54 από 114
  • 55. ΠΑΡΑΡΤΗΜΑΤεχνικές λεπτομέρειεςΑπαιτήσεις συστήματος για την έκδοση 1.3Λειτουργικό σύστημα Υπολογιστή:Windows XP ή νεότερη έκδοση, περιλαμβάνεται η VistaMac OS Χ 10.4 ή νεότερηΑνάλυση: 1024 x 768 ή μεγαλύτερη, χιλιάδων ή εκατομμυρίων χρωμάτων (16-bitχρώματος ή μεγαλύτερη).Ορίστε την ανάλυση στο 1024 x 768 ή μεγαλύτερη για να βλέπετε όλη την σκηνή τουScratch.Δίσκος: χρειάζεται τουλάχιστον 120 megabytes ελεύθερου χώρου για τηνεγκατάσταση του Scratch.Σημείωση: το Scratch εγκαθίσταται με μια μεγάλη βιβλιοθήκη και συλλογήσεναρίων. Εάν διαθέτετε μικρό χώρο στο σκληρό δίσκο, μπορείτε να διαγράψετετους φακέλους Media και Projects από τους φακέλους.Μνήμη : οι περισσότεροι υπολογιστές διαθέτουν αρκετή μνήμη για την εκτέλεση τουScratch. Οι παλαιότεροι υπολογιστές μπορεί να εκτελούν το Scratch με μικρήταχύτητα.Ήχοι: Για να εκμεταλλευτείτε τη δυνατότητα εισόδου και εξόδου ήχου, χρειάζεστεμεγάφωνα (ή ακουστικά) και μικρόφωνο. Πολλοί φορητοί έχουν ενσωματωμέναμεγάφωνα και μικρόφωνα.ΠροεπιλογέςΠροεπιλεγμένη ΦιγούραΗ προεπιλεγμένη Φιγούρα για κάθε νέο σενάριο Scratch είναι η Γάτα. Για ναχρησιμοποιείται ως προεπιλεγμένη μια άλλη Φιγούρα, εξάγετε τη Φιγούρα αυτή απότο μέσο αποθήκευσης, αποθηκεύστε την ως default.sprite και τοποθετήστε την στοφάκελο με τις Εμφανίσεις. Για να αντικαταστήσετε μόνο την προεπιλεγμένηΕμφάνιση, τοποθέτησε ένα αρχείο εικόνας με το όνομα default.jpg (ή .png ή .bmpή .gif) στο φάκελο των Εμφανίσεων.Ορατοί οδηγοίΠροεπιλεγμένα, όλοι οι οδηγοί είναι ορατοί. Για να είναι ορατοί μόνο οι επιλεγμένοιοδηγοί, πληκτρολογήστε το αρχείο Scratch.ini στο φάκελο του Scratch καιπροσθέστε την παρακάτω γραμμή:VisiblesDrives = C:, D:, M:Τα ονόματα των οδηγών πρέπει να τελειώνουν με μια άνω και κάτω τελεία, και ναδιαχωρίζονται με κόμμα. Οι οδηγοί περιέχονται στο φάκελο Scratch και ο αρχικόςφάκελος του χρήστη είναι προσβάσιμος με συντομότερες οδούς. Έτσι, είναιπροτιμότερο να εγκαθιστάτε το φάκελο του Scratch σε έναν οδηγό που θέλετε ναείναι ορατός.Επιπλέον πληροφορίες Σελίδα 55 από 114
  • 56. Για περισσότερες πληροφορίες, παρακαλούμε επισκεφθείτε το forum του Scratch στοhttp://scratch.mit.edu/forums/ Σελίδα 56 από 114
  • 57. 4. Μαθαίνοντας το με απλά παραδείγματα εφαρμογήςΤο παρόν κεφάλαιο περιέχει δέκα – επτά απλά μαθήματα προγραμματισμούστο Scratch με στόχο να βοηθηθούν οι αρχάριοι προγραμματιστές ναδημιουργήσουν τα πρώτα τους έργα στο εκπαιδευτικό περιβάλλον τουScratch. Μάθημα 1 Κίνηση και ΉχοςΣτο 1ο Μάθημα χρησιμοποιούμε τα βασικά δομικά στοιχεία (πλακίδια) για νακινήσουμε τη Φιγούρα (Γάτα) μπροστά ή πίσω. Επιλέγουμε πλακίδια απόδιαφορετικά μενού (ξεκινώντας από το μπλε μενού της κίνησης) και εκτελούμετην κίνηση κάνοντας διπλό κλικ πάνω τους. Στη συνέχεια θα προσθέσουμεήχο (τον ήχο ενός τυμπάνου) σε κάθε βήμα της Φιγούρας. Θα μάθουμε πωςνα επιλέγουμε πλακίδια από το μενού των ήχων, και πως να συνδέουμε ταπλακίδια μεταξύ τους ώστε να εκτελούνται ταυτόχρονα οι εντολές τους.Το πλακίδιο μας επιτρέπει να επιλέγουμε τοντύπο του τυμπάνου (ανάμεσα σε πολλούς) και τη χρονική διάρκεια του ήχου.Σύρουμε από την μπλε λίστα με τις εντολές της “Κίνησης”, το πλακίδιο στην περιοχή σεναρίων.Με διπλό κλικ στο πλακίδιο κάνουμε τη Γάτα να κινηθεί μπροστά 10 βήματα.Μπορούμε να αλλάξουμε τον αριθμό των βημάτων της Γάταςπληκτρολογώντας στην λευκή περιοχή της εντολής, έναν άλλο αριθμό π.χ. 40. Σελίδα 57 από 114
  • 58. Από τη μωβ λίστα των Ήχων σύρουμε το πλακίδιο ακριβώς κάτω από το πλακίδιο της κίνησης.Μπορούμε να διαλέξουμε έναν άλλο τύπο τυμπάνου από την αναδιπλούμενηλίστα της εντολής. Επίσης, μπορούμε να αυξήσουμε τη χρονική διάρκεια τουήχου.Με διπλό κλικ στο σωρό των πλακιδίων εκτελούνται οι δύο εντολέςταυτόχρονα.Αν προσθέτουμε ακόμα ένα πλακίδιο “κινήσου 10 βήματα”, καιπληκτρολογούμε αρνητικό αριθμό, π.χ. -40, στην λευκή περιοχή του, η Γάταθα κινηθεί 40 βήματα προς τα πίσω.Προσθέτουμε ακόμα ένα πλακίδιο “παίξε τύμπανο 48 για 0.2 χρόνους”αλλάζοντας τον ήχο από την αναδιπλούμενη λίστα και τη χρονική διάρκειαπληκτρολογώντας ένα νέο αριθμό. Σελίδα 58 από 114
  • 59. Κάνουμε διπλό κλικ οπουδήποτε πάνω στη στήλη με τα πλακίδια για ναεκτελεστούν οι εντολές. Σελίδα 59 από 114
  • 60. Μάθημα 2 Επανέλαβε!Σ’ αυτό το μάθημα χρησιμοποιούμε το πλακίδιο από τοπορτοκαλί μενού “Ελέγχου”. Μετακινούμε τα τέσσερα πλακίδια τουπροηγούμενου παραδείγματος στο “στόμα” του πλακιδίου “για πάντα”. Ότανκάνουμε κλικ πάνω του, οι εντολές εκτελούνται συνεχώς κάνοντας τη Φιγούρανα χορεύει μπρος - πίσω. Για να σταματήσουμε τη Φιγούρα χρησιμοποιούμετο κόκκινο εικονίδιο του Stop. Επίσης, στο μάθημα αυτό εισάγουμε ένανέο πλακίδιο ελέγχου, το . Όταν κάνουμε κλικ στηνπράσινη σημαία όποιες εντολές βρίσκονται από κάτω, θα εκτελούνται. Σελίδα 60 από 114
  • 61. Μάθημα 3 Μίλα!Στο μάθημα αυτό χρησιμοποιούμε το πλακίδιογια να μιλήσει η Φιγούρα μας.Επίσης, χρησιμοποιούμε το πλακίδιο από τηνλίστα “Ελέγχου”.Όταν κάνουμε κλικ πάνω στη Φιγούρα, σχηματίζεται η φυσαλίδα λόγου.Μπορούμε να πληκτρολογήσουμε την λεζάντα που επιθυμούμε στην λευκήπεριοχή της εντολής και να ορίσουμε τη χρονική διάρκεια που αυτή θαεμφανίζεται. Σελίδα 61 από 114
  • 62. Μάθημα 4 Παίζοντας με το χρώμα!Στο τέταρτο μάθημα θα χρησιμοποιήσουμε το πλακίδιο από το μωβ μενού “Όψεις”. Όταν κάνουμε κλικ στοπλακίδιο, η Φιγούρα αλλάζει χρώμα κατά το ποσό που ορίζουμε. Μπορούμενα επιλέξουμε και άλλες γραφικές αλλαγές της Φιγούρας όπως τηφωτεινότητα, την εικονοστοιχειοποίηση, κλπ.Σ’ αυτό το μάθημα εισάγουμε ακόμη ένα πλακίδιο ελέγχου για την εκτέλεσηενεργειών. Το θα εκτελέσει τις εντολές που είναισυνδεδεμένες μαζί του όταν κάνουμε κλικ στο πλήκτρο που εισάγει το κενόχαρακτήρα. Σελίδα 62 από 114
  • 63. Μάθημα 5 Δημιούργησε τις δικές σου Φιγούρες!Στο μάθημα αυτό εισάγουμε και άλλες Φιγούρες στο σενάριο μας.Εναλλακτικά, μπορούμε να σχεδιάσουμε τις δικές μας Φιγούρες.Μεταφέρουμε τις εντολές από το προηγούμενο παράδειγμα για τη Φιγούρατης Γάτας.Διαλέγουμε μια νέα Φιγούρα από το αρχείο. Μπορούμε να σχεδιάσουμε τηδική μας Φιγούρα χρησιμοποιώντας τον επεξεργαστή ζωγραφικήςεπιλέγοντας την πρώτη εικόνα:Επιλέγουμε την Φιγούρα dog1-a από τις ενδυμασίες των Ζώων. Σελίδα 63 από 114
  • 64. Συνδέουμε τη Φιγούρα του Σκύλου με τα τουβλάκια που μετακινούμε στηνπεριοχή Σεναρίων. Σελίδα 64 από 114
  • 65. Μάθημα 6 Παίξε τύμπανο!Στην λευκή περιοχή της εντολής “παίξε τύμπανο” μπορούμε πέρα από το ναεπιλέξουμε τον τύπο του τυμπάνου από την αναδιπλούμενη λίστα, νατοποθετήσουμε το πλακίδιο από την πράσινηλίστα των “Αριθμών” και έτσι να προκύπτει τυχαία η επιλογή του τυμπάνου. Σελίδα 65 από 114
  • 66. Μάθημα 7 Άλλαξε κατεύθυνση!Στο 7ο Μάθημα ζητάμε από τη Φιγούρα να αλλάξει κατεύθυνση κίνησης.Το πλακίδιο προσανατολίζει τη Φιγούρα στηκατεύθυνση που ορίζουμε (0=πάνω, 90=δεξιά, 180=κάτω, -90=αριστερά).Ακόμη ένα παράδειγμα.Κινείστε τη Γάτα πάνω – κάτω, δεξιά – αριστερά στην οθόνη,χρησιμοποιώντας τα πλήκτρα με τα βέλη. Σελίδα 66 από 114
  • 67. Και ένα ακόμη παράδειγμα.Ζήτα από την πεταλούδα να ακολουθεί συνεχώς το δείκτη του ποντικιούστοιβάζοντας τα πλακίδια που βλέπεις στο σχήμα. Σελίδα 67 από 114
  • 68. Μάθημα 8 Ας Χορέψουμε!Χρησιμοποιώντας την ετικέτα “Ενδυμασίες” στο χώρο προγραμματισμού,μπορούμε να συνδέσουμε εικόνες ή ενδυμασίες με τη Φιγούρα μας.Μπορούμε να εισάγουμε έτοιμες ενδυμασίες, ή μπορούμε ναχρησιμοποιήσουμε τον επεξεργαστή της ζωγραφικής για να δημιουργήσουμενέες. Μπορούμε να συνδέσουμε διαφορετικές ενδυμασίες με κάθε Φιγούρα. Ηεναλλαγή των ενδυμασιών χρησιμοποιείται για τη δημιουργία κινούμενωνεικόνων.Εισάγουμε με τη σειρά τις ενδυμασίες ballerina-a, ballerina-b, ballerina-c,ballerina-d για την Φιγούρα μας. Σελίδα 68 από 114
  • 69. Όταν πατηθεί το πλήκτρο του κενού, η μπαλαρίνα μας θα εκτελέσει τέσσερασετ πιρουέτες υπό τον ήχο που επιλέξαμε. Σελίδα 69 από 114
  • 70. Μάθημα 9 Ας χορέψουμε μαζί!Τώρα μπορούμε να συγχρονίσουμε δύο ή περισσότερες Φιγούρες ναχορεύουν μαζί.Μεταφέρουμε τις εντολές του προηγούμενου παραδείγματος για τηνμπαλαρίνα μας..Εισάγουμε μια νέα Φιγούρα από το αρχείο ή δημιουργούμε μια δική μας και τησυνδέουμε με διαφορετικές ενδυμασίες. Σελίδα 70 από 114
  • 71. Κατάφερες οι δύο Φιγούρες να χορεύουν μαζί! Σελίδα 71 από 114
  • 72. Μάθημα 10 Δημιούργησε εφέ!Χρησιμοποιώντας τα πλακίδια και από το μωβ μενού “Όψεις” μπορούμε ναδημιουργήσουμε εφέ εικόνας.Παρατήρησε τον ήλιο να αλλάζει μέγεθος και χρώμα. Σελίδα 72 από 114
  • 73. Μάθημα Πήγαινε και λάμψε! 11Στο μάθημα αυτό χρησιμοποιούμε τα πλακίδια που μας δίνουν τη δυνατότητανα μετακινήσουμε τη Φιγούρα ακαριαία ή ομαλά σε συγκεκριμένη θέση στησκηνή. Η θέση μπορεί να ορισθεί με ζεύγος συντεταγμένων x-y ή με τηκατεύθυνση του ποντικιού ή κάποιας άλλης Φιγούρας.Ο ήλιος τώρα θα αλλάζει χρώματα, θα γλιστράει από το ένα σημείο στο άλλοκαι θα λάμπει. Σελίδα 73 από 114
  • 74. Μάθημα 12 Αναπήδησε!Το μάθημα χρησιμοποιεί τα πλακίδια που αναγκάζουν τη Φιγούρα ναμετακινείται διαρκώς, παραμένοντας εντός των ορίων της σκηνής,αναπηδώντας όταν φτάνει στα όρια. Επίσης, παρουσιάζει τα πλακίδια πουορίζουν την κίνηση της Φιγούρας: τη θέση x, τη θέση y, και την κατεύθυνση.Ένα πιο σύνθετο παράδειγμα, όπου χρησιμοποιήσαμε ακόμη ένα πλακίδιοαπό την λίστα “Ελέγχου”. Σελίδα 74 από 114
  • 75. Μάθημα Κρύψου! 13 Εμφανίσου!Με τα πλακίδια και μπορούμε να εξαφανίζουμε και ναεπανεμφανίζουμε Φιγούρες στην Σκηνή.Εισάγουμε τρεις Φιγούρες .Συνδέουμε τη Φιγούρα 1 με τη στήληεντολώνΣυνδέουμε τη Φιγούρα 2 με τη στήληεντολώνΣυνδέουμε τη Φιγούρα 3 με τη στήληεντολών Σελίδα 75 από 114
  • 76. Μάθημα 14 Άλλαξε μουσικό όργανο!Σ’ αυτό το μάθημα μπορούμε να ακούσουμε το σύνολο των οργάνων πουβρίσκονται στο αρχείο Instruments του Scratch χρησιμοποιώντας μιαμεταβλητή. Στην πορτοκαλί λίστα κάνοντας κλικ στομπορούμε να ορίσουμε την μεταβλητή Instrument η οποία θα μας δίνειδιαρκώς το νούμερο του μουσικού οργάνου που ακούμε. Σελίδα 76 από 114
  • 77. Ορίζοντας με τον ίδιο τρόπο την μεταβλητή Drum μπορούμε να ακούσουμετους ήχους των ντραμς στη σειρά.Ένα πιο σύνθετο παράδειγμα, όπου τις δύο μεταβλητές που δημιουργήσαμετις έχουμε τοποθετήσει στην λευκή περιοχή δύο άλλων εντολών. Με τιςμεταβλητές που ορίσαμε μπορούμε να επιλέγουμε την ταχύτητα και τηνκαμπυλότητα του σχήματος. Σελίδα 77 από 114
  • 78. Μάθημα 15 Ώρα για παιχνίδι!Όρισε την μεταβλητή Score για να μετρήσεις πόσα ψαράκια θα φάει οκαρχαρίας!Κάθε φορά που ο καρχαρίας θα αγγίζει το μικρό ψάρι θα ακούγεται ο ήχοςpop και θα αυξάνει η τιμή της μεταβλητής Score. Σελίδα 78 από 114
  • 79. Μάθημα 16 Παίξε Μουσική!Τώρα μπορούμε να συνδυάσουμε νότες από διαφορετικά όργανα για νασυνθέσουμε τη δική μας μουσική.Χρειαζόμαστε μερικά μωβ πλακίδια για να επιλέξουμε τα όργανα που θέλουμενα παίζουν, κάποια ακόμη για να ορίσουμε τις νότες που θα ακούγονται καιμερικά πορτοκαλί πλακίδια από την λίστα Ελέγχου. Σελίδα 79 από 114
  • 80. Μάθημα 17 Ζωγράφισε!Στο μάθημα αυτό μπορούμε να ζωγραφίσουμε κρατώντας το ποντίκιπατημένο. Τα πλακίδια , και τα βρίσκουμε στην λίστα “Πένα”.Όσο θα κρατάς το ποντίκι πατημένο θα μπορείς να ζωγραφίζεις με το μολύβι. Σελίδα 80 από 114
  • 81. Αξιοποιώντας διδακτικά τοΤα παρακάτω έργα δημιουργήθηκαν στο εκπαιδευτικό προγραμματιστικόπεριβάλλον του Scratch και έχουν αναρτηθεί στην ιστοσελίδαhttp://scratch.mit.edu/users/tziortzioti του δικτυακού τόπου του Scratch, όπωςφαίνεται στα στιγμιότυπα που ακολουθούν.Στο παρακάτω στιγμιότυπο διακρίνονται τα μηνύματα που έχω δεχτεί στηνιστοσελίδα http://scratch.mit.edu/users/tziortzioti από άλλα μέλη τηςκοινότητας (τρία σχόλια για τα έργα που έχω αναρτήσει και δύο μηνύματα γιατα μέλη που με «πρόσθεσαν ως φίλο»). Σελίδα 81 από 114
  • 82. Στο στιγμιότυπο που ακολουθεί διακρίνονται τα σχόλια που δέχτηκα από μέλητης κοινότητας Scratch για τα έργα που ανάρτησα.Τα τρία πρώτα έργα με τους τίτλους «το λουλούδι του Πτολεμαίου», «ηπεταλούδα του Πτολεμαίου» και «μια μέλισσα στον κήπο» είναι παραλλαγέςτης εφαρμογής «Μοντέλο του Πτολεμαίου» από το περιβάλλον της Logo.Επίσης, τα έργα με τους τίτλους «squiral», «squiral_knitted_star»,«squiral_spiral», «squiral_star» είναι παραλλαγές της γνωστής εφαρμογής«squiral» από το περιβάλλον της Logo με χελονογεωμετρία.Τα επόμενα έργα διέπονται από τα ιδιαίτερα χαρακτηριστικά του Scratch: είναιπλούσια σε μέσα, χρησιμοποιούν γραφικά, κινούμενες εικόνες (animation),μουσική και ήχους. Σελίδα 82 από 114
  • 83. Σενάριο Το λουλούδι του Πτολεμαίου 1Μεταφορά στο Scratch του κλασικού Μοντέλου του Πτολεμαίου από τοπεριβάλλον της Logo. Σελίδα 83 από 114
  • 84. Σενάριο 2 Η πεταλούδα του ΠτολεμαίουΜια πεταλούδα σχεδιάζει μια … πεταλούδα. Αφαιρετική έκδοση ενός πιοσύνθετου σεναρίου, από ένα ιδιαίτερα δραστήριο μέλος της δικτυακήςκοινότητας του Scratch τον Ν. Δαπόντε.Το μαθηματικό μοντέλο προέρχεται από τα παραδείγματα του Modellus. Σελίδα 84 από 114
  • 85. Σενάριο 3 Μια μέλισσα στον κήποΜια μέλισσα σχεδιάζει ένα λουλούδι. Βασισμένο σε μαθηματικό μοντέλο απότα παραδείγματα του Modellus. Σελίδα 85 από 114
  • 86. Σενάριο 4 SquiralΣύρε τον κάβουρα στο κέντρο της οθόνης. Κάνε κλικ πάνω του για νασχεδιάσει το κλασικό σχήμα “Squiral” (η λέξη προέρχεται από τη “Square”του λεξιλογίου της χελώνας Logo).Ενώ ο κάβουρας σχεδιάζει μπορείς να τροποποιήσεις την τιμή της γωνίαςκαι να σχεδιαστεί ένα άλλο σχήμα. Σελίδα 86 από 114
  • 87. Σενάριο 5 Squiral_knitted_starΣύρε τον κάβουρα όπου επιθυμείς πάνω στη σκηνή. Κάνε κλικ πάνω τουγια να σχεδιάσει έναν ιστό σε σήμα αστεριού. Επίσης, άλλαξε την τιμή τηςγωνίας για να δεις νέα σχήματα. Σελίδα 87 από 114
  • 88. Σενάριο 6 Squiral_spiralΣύρε τον κάβουρα σε όποιο σημείο επιθυμείς πάνω στη σκηνή. Κάνε κλικπάνω του για να σχηματιστεί ένα σπειροειδές σχήμα. Προσπάθησε νααλλάξεις την τιμή της γωνίας. Σελίδα 88 από 114
  • 89. Σενάριο 7 Squiral_starΣύρε τον κάβουρα σε οποιοδήποτε σημείο πάνω στην Σκηνή επιθυμείς.Κάνε κλικ πάνω του για να σχεδιάσεις ένα τρισδιάστατο σχήμα, όπως ένααστέρι. Σελίδα 89 από 114
  • 90. Σενάριο 8 Γάτες και Σκύλοι1η έκδοσηΣτο σενάριο αυτό όταν ο δείκτης του ποντικιού βρίσκεται πάνω στα σκυλάκιαακούγονται οι ήχοι woof και short woof.Αντίστοιχα όταν ο δείκτης του ποντικιού βρίσκεται πάνω από τα γατάκιαακούγονται οι ήχοι meow και small meow. Σελίδα 90 από 114
  • 91. 2η έκδοσηΣτην 2η έκδοση προστέθηκαν μερικά γατάκια ακόμη και εμφανίστηκε και έναςποντικός.Όταν ο δείκτης του ποντικιού βρίσκεται πάνω από τα γατάκια ακούγεται οήχος small meow και όταν βρίσκεται πάνω στο ποντίκι ακούγεται ο ήχοςRattle. Σελίδα 91 από 114
  • 92. 3η έκδοσηΣ’ αυτή την έκδοση μία πεταλούδα παρατηρεί τη σκηνή του καυγά, πετώνταςδιαρκώς από πάνω και αναπηδώντας όταν φτάνει στα όρια της σκηνής. Σελίδα 92 από 114
  • 93. Σενάριο 9 ΠιάνοΚάνε κλικ στα πλήκτρα του πιάνου για να παίξεις μουσική.Βασισμένο στο πρωτότυπο παράδειγμα PianoMachine του Scratchsample. Σελίδα 93 από 114
  • 94. Σενάριο 10 Οικογενειακό παιχνίδιΣτο σενάριο αυτό, η κάθε Φιγούρα εκτελεί διαφορετικές ενέργειες όταν γίνεταικλικ πάνω της:η μπάλα αναπηδά,το ψηλό κορίτσι τρέχει προς το μωρό ενώ ταυτόχρονα ακούγονται τα βήματάτου,το μωρό περιστρέφεται κλαίγοντας καιη μπαλαρίνα εκτελεί χορευτικές φιγούρες γελώντας. Σελίδα 94 από 114
  • 95. Σενάριο 11 ΛαβύρινθοςΜε τα βελάκια του πληκτρολογίου οδήγησε την μπάλα στο μωρό μέσα απότον λαβύρινθο!Κάνοντας κλικ πάνω στη μπάλα, στο μωρό ή στα τετράγωνα αυτάπεριστρέφονται.Σύροντας και αφήνοντας τα τετράγωνα με το ποντίκι, ο λαβύρινθοςαναδιατάσσεται (ακόμη και ενώ παίζει σε fullscreen ή στο web)Όταν η μπάλα συγκρούεται με τον τοίχο ακούγεται χαρακτηριστικός ήχος καιτα τετράγωνα δεν επιτρέπουν να προχωρήσει η μπάλα από πάνω τους.Για να τρέξει το πρόγραμμα και να αρχικοποιήσει τιμές σε κάποιες από τιςμεταβλητές κάντε κλικ στην πράσινη σημαία. Σελίδα 95 από 114
  • 96. Σενάριο 12 Μια παραλλαγή του WHEEMOΜε τους sliders μπορείς να ελέγχεις την περιστροφή και την ταχύτητα καινα μετακινείς το ποντίκι για να ζωγραφίσεις. Σελίδα 96 από 114
  • 97. Σενάριο 13 Μια παραλλαγή του Move Monkey Dress UpΚάνε κλικ πάνω στα ρούχα για να ντύσεις το μαϊμουδίτσα. Μπορείς και ναεκτελέσεις τις κινήσεις αντίστροφα. Για να ξεκινήσεις κάνε κλικ στηνπράσινη σημαία. Σελίδα 97 από 114
  • 98. ΒιβλιογραφίαBegel, A. (1996). LogoBlocks: A Graphical Programming Language for Interacting with the World.Unpublished Advanced Undergraduate Project, MIT Media Lab.diSessa, A. (2000). Changing Minds: Computers, Learning, and Literacy. MIT Press: Cambridge, MA.International Technology Education Association (2000). Standards for Technological Literacy.Kay, A. (1991). Computers, Networks and Education, Scientific American, September, 1991.Maloney, J. H., Peppler, K., Kafai, Y. B., Resnick, M., & Rusk, N. (2008). Programming by choice:urban youth learning programming with scratch. ACM SIGCSE Bulletin.Maloney, J., Burd, L., Kafai, Y., Rusk, N., Silverman, B., & Resnick, M. (2004). Scratch: A SneakPreview. Proceedings of the Second Int. Conference on Creating, Connecting, and Collaboratingthrough Computing, Jan 29-30, 2004, Kyoto.MIT Media Lab. (2009). Scratch. Retrieved JAN 27, 2009, from http://scratch.mit.eduMonroy-Hernandez, A. (2007). ScratchR: a platform for sharing user-generated programmable media.In M. B. Skov (Ed.), 6th International Conference on Interaction Design and Children. Aalborg,Denmark.Monroy-Hernández, A., & Resnick, M. (2008, March-April). Empowering kids to create and shareprogrammableνmedia. Interactions.Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. NY: Basic Books.National Academy of Engineering and National Research Council (2002). Technically Speaking: WhyAll Americans Need to Know More About Technology.National Research Council (1999). Being Fluent with Information Technology. National AcademyPress: Washington DC.Partnership for 21st Century Skills (2003). Learning for the 21st Century.http://www.21stcenturyskills.org/downloads/P21_Report.pdfPausch, R., et al. (1995). Alice: Rapid Prototyping System for Virtual Reality. IEEE Computer graphicsand Applications.Pea R. (1986), Language-independent conceptual ‘bugs’ in novice programming, Journal ofEducational Computing Research.Peppler, K. A., & Kafai, Y. B. (2007). Collaboration, Computation, and Creativity: Media ArtsPractices in Urban Youth Cultures. In the proceeding of the Computer Supported CollaborativeLearning conference, July 16 - 21, Rutgers, USA.Resnick, M. (2002). Rethinking Learning in the Digital Age. In The Global Information TechnologyReport: Readiness for the Networked World, edited by G. Kirkman. Oxford University PressResnick, M., Rusk, N., Kafai, Y., Maloney, J., et al (2003). A Networked, Media-Rich ProgrammingEnvironment to Enhance Technological Fluency at After-School Centers in Economically-Disadvantaged Communities. Proposal to the National Science Foundation (project funded 2003-2007).http://www.media.mit.edu/~mres/papers/scratch-proposal.pdfRepenning, A. and Ambach, J. (1996). Tactile programming: A unified manipulation paradigmsupporting program comprehension, composition, and sharing. IEEE Symposium on Visual Languages,Boulder, CA.Resnick, M., Berg, R., and Eisenberg, M. (2000). Beyond Black Boxes: Bringing Transparency andAesthetics Back to Scientific Investigation. Journal of the Learning Sciences.Resnick, M., Rusk, N., & Cooke, S. (1998). The Computer Clubhouse: Technological Fluency in theInner City. In D. Schon, B. Sanyal & W. Mitchell (Eds.), High Technology and Low-IncomeCommunities. Cambridge, MA: MIT Press.Steinmetz, J. (2001). Computers and Squeak as Environments for Learnig. In Rose, K. and Guzdial, M.(eds.), Squeak: Open Personal Computing and Multimedia. Prentice Hall: New York. Σελίδα 98 από 114
  • 99. Wiedenbeck, S. (2005). Factors affecting the success of non-majors in learning to program. In theproceedings of the first international workshop on Computing education research, Seattle, WA, USAOctober 01 – 02Φεσάκης Γ., Δημητρακοπούλου Δ., (2005), «Γνωστικές δυσκολίες μαθητών δευτεροβάθμιαςεκπαίδευσης σχετικά με την έννοια της προγραμματιστικής μεταβλητής και προτεινόμενεςπαρεμβάσεις.», 3ο πανελλήνιο συνέδριο “Διδακτική της Πληροφορικής”, Κόρινθος, 7-9 Οκτωβρίου2005 (http://www.etpe. gr) Σελίδα 99 από 114
  • 100. Παράρτημα IΠαραθέτονται τα σφάλματα που αναφέρθηκαν στην ομάδα ανάπτυξης τουScratch στο MIT’s LLK και αφορούν στην 1.3 έκδοση (με τη συμβολή του Γ.Μπιρμπίλη και του Ν. Δαπόντε)Ημερο- Θέμα Απάντηση από τομηνία MIT LLK10/6/08 • untranslated stuff • issues with translated ones, for example “imagine program share” moto being translated to have the word program as a Greek “noun” instead of a Greek “verb” (they’re not the same as in English) which is obviously totally unrelated to your moto’s intention. • at all servers (the original scratch one too), the language dropdown should be a bit wider (it writes “Languag” in IE7/Vista).15/7/08 • noticed at the alpha: image editor cannot draw/edit text in Greek. It shows some accented Latin chars instead. Maybe some wrong font is used there or not using Unicode there? Fixed at beta • variables at the alpha version: can’t use Greek names at them. It showed garbage chars (vertical bars)  Fixed at beta too • beta: need work on the Pootle server with Greek localization to change ? to ; (English question mark to Greek) and also make all menus start with capital letter (previous translator seems to have some start with small letter)17/7/08 • Right click Motion/Looks/Sound/etc. buttons (23/7/08 - Evelyn (all those that are grouped together there) Eastmond) and you get some trace popups or • We did not intend something for people to • old app icon was better (the cat resize these sliders figure that is also being used as Σελίδα 100 από 114
  • 101. an actor in scratch) • We also did not• the app icon (default Squeak VM intend for people icon) isnt transparent (has to edit the values white around it making it show of the variable like a box in windows explorer reporters directly. depending on users OS color However, it is theme/settings) definitely a• the set slider min/max dialog problem that you doesnt accept TAB key to move cannot slide to between min/max/OK/Cancel GUI values 1 and 99. I controls will add that to our• Save dialog, at the editbox where you enter bug list the filename you want to use, when you • On showing press ENTER key there, it doesn’t do the OK localized exit action as one would expect, but you have to confirmation click the OK button yourself. You should message: It is define “default” (ENTER key – if the event difficult to access propagates to the dialog [a child control like the dialog query in a textarea or a filelist should be allowed to the underlying grab the ENTER key pressed event and not Squeak VM, but propagate it to its parent]) and “cancel” (ESC its in our list of key) buttons for each dialog things to try to do• TAB key doesn’t work in that dialog too to for a future version navigate between controls using the of Scratch keyboard (you need to set a TabOrder list [or • On asking to save a TabIndex value at each dialog control and when closing app set a Boolean option at those controls that window: For the will be navigable by TAB]). same reason as• When closing the application ([X] icon at top- above, this is right of window) I don’t get a localized difficult to do, but I message (if it’s not your dialog try to grab agree that it is very the engine’s onclosequery event or necessary something and show your own dialog) • We do have a dirty• When closing the application using [X] action flag, but it actuates user isn’t asked to save their model on any drag and• There doesn’t seem to be a “dirty” flag at the drop action of any project to see if user does need to save the block, script, etc. model, so the Open action always asks the Even when you user to save the previous project. I think an press the green open project should be marked dirty (in flag, things are running memory only) if any renaming considered dirty. actions occur, script editing (including adding Given the dynamic comments), icon/actors editing. Saving the nature of Scratch project using “Save” button should clear the and open ended internal dirty flag model, it is not• I can’t drag a slider’s left and right sides to easy for us to resize it determine that a Σελίδα 101 από 114
  • 102. • I can’t edit a slider’s value by hand by moved actor or clicking on its label/textfield (doesn’t enter moved block was edit mode) and typing a new value (in any of *intentional*. its display modes). Scratch does not • Editing by dragging the slider doesn’t always always ask you to allow one to give a wanted value, esp. if the save, but it does min/max range is big (the default one is ask often. 0-100 or something, making it impossible to slide the value to say 1 [can only go to 2] – if one could resize the slider to make it bigger it would allow you to drag to 1 btw)6/9/08 http://scratch.mit.edu/projects/dapontes/258414 (6/9/08 - John Can you checkout the above project? the web Maloney) player doesn’t show “lists” as he expected (open We are still the project in Scratch too to checkout those lists) working to add list displays to the Player. The list operations work, but you cannot currently see the list, even if the list was showing when the project was saved. Its a fair amount of work, so it may take several weeks. We did not want to delay the release until the player was done because we wanted to get Scratch 1.3 out at the start of the school year.10/1/09 When exporting a sprite for which a file already exists, an overwrite file popup shows up that doesn’t show Greek (and probably any other Unicode) characters ok4/4/09 Was using "for ever while length-of-list>0" (with action to send msg and wait and remove two elements from the list at each Σελίδα 102 από 114
  • 103. loop) in message handler and never returned, changed with repeat until (len=0) and worked2/5/09 On my system I can’t set the background image “xy-grid.gif” at Scratch. If I save it as .JPG it works. Probably an issue with some GIF library you’re using? Does it work at other PCs? Σελίδα 103 από 114
  • 104. Τα παρακάτω εδάφια αποτελούν μέρος της αλληλογραφίας της ομάδας πουαποτελείται από τους Γ. Μπιρμπίλη, Ν. Δαπόντε, Κ. Γλέζου και Χρ.Τζιωρτζιώτη με την Evelyn Eastmond. Αφορούν σε αιτήματα για περαιτέρωχαρακτηριστικά γνωρίσματα και προτάσεις βελτίωσης του περιβάλλοντοςScratch.15/7/2008its very important that when one gets into translating an activity,theyre able to translate the variable names too (=add rename variableaction). If the internal engine doesnt support localized variablenames, create a mapping function internally to map the Unicode variablenames to __var1, __var2, __var3 internally (using __ or similar prefix/suffix to make sure users dont use such a name for their own vars).If you add functions (arent there any such in Scratch now?) can do thesame with their names if neededIf you could add "rename variable" action it would be very helpful(same goes for any other parts of the code where you give names thetime you create them)17/7/2008Btw, the "when I receive" command you have can help one split theirlogic in parts, but I find only a "broadcast" command, not a "tell" oneto tell somebody (e.g. myself) to do something. I suppose an actor hasa message queue that it processes sequentially and that it can executeactions on the message queue in parallel to its main program/scriptloop (the [re]action handler to the green flag pressed event that is).So it could do<myname> when greenflag [ Loop forever [ Tell <myname> Jump Tell <myname> Duck ]]And have Jump and Duck to be separate "when I receive" event handlersthat make the actor jump and sit down respectively. Only problem withthe above one may be that the loop might feed the message queue withJump, Duck events and fill up memory if theyre not pulled fast enoughfrom the queue (since Jump and/or Duck may take some time to execute),or if "Jump" or "Duck" have some infinite loop in themAnyway, my suggestion is to add a TELL <somebody> <something> command,apart from the TELLALL (broadcast) you now have. Could even extend thatin the future with an extra command ASK <somebody> <something> to beable to wait for a response from <somebody>. Then you could docalculations based on some value returned and could even implementfunctions that way by ASKing yourself for a response to some givenmessage an parameters (e.g. ASK <myname> <somefunctionname><someparamvaluelist>) *** Σελίδα 104 από 114
  • 105. Right clicking a variable at the Variables pane should show rename and deleteactions. Now the contextual (context sensitive) menu only shows help action for avariable. Apart from that should have a rename variable button under the deletevariable one for completeness (if user prefers to delete/rename vars from oneplace)When I make a new variable I get asked if I want to create the variable for all spritesor for this sprite only.1) It should say for all sprites (shared) for this sprite only in order o make it obvious it’s a global variable you make in the 1st case(people may think it adds TO EACH sprite a variable with that name).2) It would be handy if you did have an action saying “For each sprite”. I may want to extend all sprites of a given microworld say to have a “vx” and “vy” instead of going into each one and adding the same var repeatedly (if for a few sprites I don’t want the var I can go to those and delete it then) for all sprites (shared) for each sprite for this sprite onlyAll blocks (including top level ones) should have some small yellow horizontalbar connector at their right handside to attach a comment to them. The commentblock should have a similar female connector (two horizontal bars with a gapbetween them). Or maybe better vice-versa, have the female one at the blocksand the male at the comment block. Comment blocks could have connector attheir right handsize too as all other blocks to allow one to chain comment blockstogether. Of course one could still keep a comment disconnected (a generalcomment that is)I’m suggesting this cause now when you move around scripts inside a viewcomments don’t move along, plus when you copy a script to other actors Isuppose comments don’t get copied along either)Scratch doesn’t allow one to rename the scene. It shows a localized name instead.Maybe that’s on purpose, but not sure if it’s the correct choice. People may be usingsay a localized interface, but viewing an English project/microworld. Since all otheractor names are shown in English, seeing the Scene name in Greek is at least strange.Plus, on might want to call their Scene “Universe”, “Starfield”, “Playground”,“Grass”, “World” or whatever (depending on their scenario or target group). I suggestyou allow the scene actor’s name to be changed and just use the localized string forthe initial name of the scene actor when a new projects is createdI suggest you add a “Notes” tabpage at the Scene actor and at all other actors.Quite important for adding pedagogical notes etc.Also, since startup notes may needed to be shown, all those Notes tabpagesshould contain a Boolean option (tick) to select whether they’re shownautomatically in a popup dialog when you double click the scene or that actor.The popup with the notes shown could then have a “Don’t show again” optionallowing the user to set that specific notes dialog to not shown again during thatsession (*** don’t store that setting though when the project is saved, if they Σελίδα 105 από 114
  • 106. want to change the automatic showing of the notes for that actor or for the scenethey should go to the notes tab and uncheck it there)Especially for the scene notes, if the option is selected at the Notes tab of thescene actor to show them automatically, they should also show up when theproject opens up in Scratch environment AND when it gets executed in thewebplayer. Of course in the webplayer there wouldn’t be shown a “Don’t showagain” tick at the notes popup.Would be nice to have blocks to get x/y/direction of another sprite. Can change thecurrent commands to add a dropdown to select a sprite name, but make sure you alsoadd a “my” item there (my x, my y, my direction), so that the command can be copiedfrom sprite to sprite and work as is when you want to get yourself’s x/y/direction,without having to change the name to yourname each timeSimilar could do for the “set x/y/direction” commands (allow to say “set earth x to…” or “set my x to …”). Then you’d be able to include those commands to the“motion” palette for the Scene object too (now it has no items there). Of course whenin the Scene’s “motion” palette those commands (the get and the set ones) shouldn’tshow the “my” option. Care should also be taken in case such commands using “my”are copied from an actor to the scene…Although, speaking about this, I think having X/Y properties for translating thewhole scene would be useful. Having DIRECTION property to rotate the whole scenewould be extra cool too!22/7/2008Evelyn Eastmond (for Scratch team):We specifically decided not to make it possible to translate the namesof locally created media and data within Scratch:- costume names- sound names- sprite names- variable names- broadcast names- etc...These strings are usually only valid within the context of a specificproject, in someones language.Translating proper nouns such as names is a very complex problem.We assume these names can stay the same from language to language.I hope this doesnt feel like a bug in the program to you.Please let me know if Im misunderstanding your issue, however.I agree that the ability to rename variables would facilitate thetranslation of variable names in sample projects that come withScratch.It is on our list of wish features for Scratch.Reply:Im not sure what you mean with "locally created media" names. Arethese names the author of a project gives? If so they should be able tochange the name later on anyway, even to another name in the samelanguage cause they may want to edit a misspelling or adapt the projectto cover another scenario - say change name "sheep" to "wolf" to makethe sheep chace the wolves). Σελίδα 106 από 114
  • 107. BTW, even when not translating a name here in Greece we transcribe itin Greek phonetic writing. Most young Greek children shouldnt know howto spell the letter "c" etc. cause they dont exist in our alphabet. SoI guess this makes it harder to discuss about a project (apart fromtalking descriptively about sprite images) with classmates and yourteacher when you see an actor called "cat" and you cant spell it. Youcould argue that this way you make the children learn other languagestoo, but this isnt always the focus of the lesson youre trying toteach23/7/2008Evelyn:Thank you for the feature request.Functions with parameters and directed broadcast messages are often requestedfeatures in Scratch.We continually consider these options for future releases of Scratch.Thank you very much for sharing your design ideas with us!Thank you for this idea to have a default button on dialogs so that enter andesc map to ok and cancel.I have seen this issue come up before, and it should be an easy one to fix.Also, I will make sure to include tabbing in all dialogs with input fields. Should be able to rename an event/message when you are localizing a projectEvelyn: This is a great idea, thank you. To change a variable in a formula you currently have to drag it out of the formula and drag in another one. Would be nice to be able to right click the variable inside the formula (at the script pane that is) and select from a popup another variable name. Then you’d be able to quickly edit formulas (esp. useful when combined with duplicate, e.g. when I want to write x=x1+x2 and then y=y1+y2 I’d write the first one, then duplicate, then change via right click x1 to y1 and x2 to y2 at the duplicated formula without having to drag in y1 and y2 and drag out [throw away] the duplicate x1 and x2) Please don’t add a drop-down arrow next to a var in the script view though, formulas would look very ugly. Better use the right-click action ON the variable icon for changing the variableEvelyn: This has been requested many times as well. The right-click option isthe most elegant.We will add it to our feature request list and try our best to implement it forScratch 1.3.23/7/2008 Right clicking a variable at the Variables pane should show rename and delete actions. Now the contextual (context sensitive) menu only shows help action for a variable. Apart from that should have a rename variable button under the delete variable one for completeness (if user prefers to delete/rename vars from one place) Σελίδα 107 από 114
  • 108. Evelyn: Thank you for the suggestion!Weve heard this many times and will try to implement it for Scratch 1.3. When I make a new variable I get asked if I want to create the variable for all sprites or for this sprite only.Evelyn: Thank you for the design suggestions.I will bring these issues up with the rest of the Scratch design team.I like the idea of adding the (shared) label to global variables.Evelyn: Thank you for the ideas to chain comments to blocks, comments tocomments, and to copy comments along with their scripts.The idea to chain comments to blocks has come up many times, and we are still tryingto find an elegant way to design this.Hopefully for Scratch 1.3 we will be able to implement this, but it will depend onfixing other bugs and finding a nice solution to this chaining problem.Evelyn: We do not have set x/y of sprite blocks, but it is an interesting. I havenoted it for our future design meetings.Its not clear to me that translating the stage would not be confusing forchildren...Evelyn: (regarding Notes suggestions) Thank you for the feature request!I have noted it and will bring it up with the Scratch design team.Ideas: integration with robotics, maybe also add export to Flash, Silverlight, XNA(supports Xbox, Win, Zune clients for now), maybe add some two-way source codeeditor (live sync between a verbose program editor and the visual program editor),import/export from/to various Logo platforms (NetLogo - MultiAgent) Scratch doesn’t allow one to rename the scene. It shows a localized name instead. Maybe that’s on purpose, but not sure if it’s the correct choice. People may be using say a localized interface, but viewing an English project/microworld. Since all other actor names are shown in English, seeing the Scene name in Greek is at least strange. Plus, on might want to call their Scene “Universe”, “Starfield”, “Playground”, “Grass”, “World” or whatever (depending on their scenario or target group). I suggest you allow the scene actor’s name to be changed and just use the localized string for the initial name of the scene actor when a new projects is createdEvelyn: This is an excellent point. Thank you for pointing out that the spritessometimes appear in English but the Greek is used for the stage name. I will bring upthis issue with the design team to see what they think. If there are other localizationissues that you encounter, please feel free to email me as Im trying to make Scratcheasier to localize.Evelyn: Thank you for the concernsThis has all highlighted the issue of being able to *rename* media within Scratch tobe able to localize projects more easily. Also, Im beginning to understand how issuesof renaming media within projects are important for using Scratch in other contexts.24/7/2008Evelyn: The application icon that comes with Scratch 1.3 Beta will bereplaced by the regular application icon from before.Ill add the TAB controls to the various GUI panes. Σελίδα 108 από 114
  • 109. Btw, there aren’t any “buttons” one can place on the stage, but one can make asprite and listen for a click event on it, can’t they? (that way they can also makethe sprite look as if it’s pressed down etc.). Haven’t looked for that functionalityyet, hope the click “event” for sprites does exist (btw, conventional frameworksdifferentiate between mouse-pressed and mouse-clicked [=mouse-pressed andmouse-released without much time spent and without much drag/offset betweenpressed and released position], but not sure if such things are needed in Scratchat all – will let you know as I work more on Scratch projects if I find somethingneeded in that area [that is in adding interaction elements for the project’senduser to play with]) Would be nice to be able to right click an actor icon (including the scene icon) at the actors list (bottom-right) and select an action to rename the actor (without having to double click the actor / show it and then go to the top of the screen to rename it – as it is now it’s not very obvious to new users [was searching of that action a bit] and not very handy if they’re trying to translate an existing activity with many actors in it)Evelyn: Thanks for the feature request, this can definitely come in handy for peoplewho are localizing projects, I can see. Would be nice to have blocks to get x/y/direction of another sprite. Can change the current commands to add a dropdown to select a sprite name, but make sure you also add a “my” item there (my x, my y, my direction), so that the command can be copied from sprite to sprite and work as is when you want to get yourself’s x/y/direction, without having to change the name to yourname each timeEvelyn:This block already exists in Scratch.Under the Sensing category, you will see a block that says x position ofSprite1.Is this what you meant?However, when this block is copied from Sprite1 to Sprite2, Sprite1 does notautomatically change to Sprite2, but I agree that it should. “for each sprite” suggestion : I think it would help in multi-agent microworlds (e.g. a “pile of apples” or “sand pile” / “avalanche” project like the one in AgentSheets where you have lots of small agents that interaction with each other – adding a variable you had forgotten to add to each one after you’ve created them [via duplication] would be very time consuming)Evelyn: Yes, indeed duplicating something after youve duplicated a sprite is verytime consuming. This option of creating a variable for each sprite could help.30/7/2008At the variables pane, first are listed the global variables (I suppose one could alsocall them the stage variables) and then are listed the local (sprite) variables. When oneis viewing the stage it’s obvious which are the global variables since only those areshown there. However when one views a sprite, it’s not obvious which are the globaland which are the local ones. They only have a tiny color difference. Σελίδα 109 από 114
  • 110. 1) Apart from that tiny color difference (maybe globals could be in bold typeface too?) the global and local variables should be also spatially separated, maybe in two lists grouped with a label above them2) Also, one should be able to attach a comment/description to the right side of each variable at the variables list. That comment could pop up as a tooltip when mouse moves over that variable at the script pane (if the mouse is kept still for a bit over a variable [tooltip delay])When one deletes a variable but forgets to remove it from the script, then when modelis run it seems to run ok (var has undefined value or zero maybe?). Haven’t tried if atthat moment export is done to html what happens at the exported page (if all runs okthat is)When one then tries to save, the variables appear againInstead I believe that when one deletes a global variable, one should see themdisappear from all scripts at the same time (see holes/placeholders in their place –btw, should check if a script with “holes” in it runs ok if exported [using 0 value Iguess for the hole/gap]) and if one deletes a local variable see them disappear from thelocal script.would like to also see “xor” (also called EXOR – EXclusive OR) logical operationuseful when teaching logical programming and also in animation and othercomplex logic (same goes of course for nand and nor, but those can beconstructed easily using not)Would be nice if there was a console or output window where a program can writeusing a print(…) command. Another idea is that one could also mark variables to belogged (when they change) at the output windowSame way one could mark vars to be charted/plotted in a graph - to do charting oneshould be able to mark one variable to be the “x” axis (the master/independentvariable) and the rest to be on the “y” axis (the dependent variables). Could also markmultiple vars as being independent and when showing chart could have a dropdown atthe x axis to select which independent variable to show there.Speaking of charts (and where one would show them on the screen or why onewouldn’t implement those using plotting/pen), a useful feature could be “multiplestages” which could be shown as tabs or even as layers with their visibility selectableusing a checkbox (that is at the actors view, the left side could have multiple stageicons with checkbox for each to select if visible or maybe better with some disablemark over them controllable via a right click action). Following this idea, any slidecould also be shown/hidden the same way (not sure how you hide one now)6/8/2008the website should have a feature to send or reset a forgotten password via e-mail8/8/2008Evelyn: (for XOR) Thank you for the request! Weve added it to our feature requestslist.9/8/2008Evelyn: (on deleted variables shown in script) Thank you for the design suggestions.We have thought about different ways of doing this, including some of your greatsuggestions. Since Scratch has been this way for a while, we didnt take any steps tochange the design for Scratch 1.3, but we may for future versions. Σελίδα 110 από 114
  • 111. Evelyn: (on separating local and global variables):Thank you for the suggestions.For now, we will try spatially separating the global and local variables to see ifthat helps.I agree that it is quite vague right now.Wed like to test this minimalist approach and see what the feedback is, thenreiterate the design for the next version of Scratch.10/1/20091) At image painting window, I’d expect some live updated status about current x,y and width, height of current selection (and maybe show size of the image too at some other place)2) At image painting window, having option to show X,Y coordinate system axes always following the cursor movement would be useful (cause when you draw stuff you can easily align them to other stuff already drawn since the cursor is always at the center of the moving axes [like a crosshair cursor made of two infinitely extending vertically crossed lines])3) A garbage can icon at the top-right corner (maybe placed on the border) of the center area to drag-drop script parts would be nice4) Drag a rectangular area to select multiple commands at the center area of the screen would be nice when you have lots of commands dropped-arround in your script that you want to select and drag-drop out of there (for example to the garbage can to delete them). Also useful to rearrange command blocks when they are too close to each other for you to read/understand the script or when multiple commands overlap etc. (a usual case with 3d party projects you load and want to examine)5) Is there operator to do integer division? (xy instead of x/y)6) Would like to also see “truncate” (trunc) [or sometimes called “integer” (int) which maybe is better] apart from “round”7) Would like to have a “Custom” palette page allowing to drag commands (or even command blocks or snippets or even disconnected command groups [see suggestion 5 above] – prompting user to give a name in that case) from center area to it. Such palette shouldn’t be saved together with the project (esp. if user gives localized names for command snippets/blocks placed there [unless you allow placing only single command blocks which don’t need naming of course]). Should be able to import/export such palettes to a command palette file and maybe even have multiple “Custom” palettes (using the filename to get their name so that one can easily localize their name by renaming the file)8) Would like to see more use of XML with Scratch (be able to export the project to XML – also export sprites to XML etc.)21/1/2009Evelyn: Thank you also for the rest of the feature requests. We have thought of someof these issues for a long time, and they either have been lower priority than otherfeatures, or left out for the sake of simplicity of the Scratch paradigm. There is notruncate block, or integer divide block in Scratch. I am not sure if we would add that,but I will mention it to the main developers. Weve also thought about betterblock/scripts management and deletion (trash can), and have stayed away from theseideas for now, again for the sake of simplicity.We are about to move into prototyping stages for a new version of Scratch which willtake lessons learned from our first version. It will be helpful to think of your ideas aswe brainstorm that new user interface, I think many of us agree with the issues that Σελίδα 111 από 114
  • 112. you have encountered, but it may make more sense for us to address them in a laterScratch version whose UI has been redesigned.Regarding XML output, Scratch user Jens has prototyped something to thiseffect, you can see that here: http://scratch.mit.edu/projects/Jens/935044/4/20091) If two or more entities are named with the same name (say "Brick") and you use the collision sensor to check collision with one of those, then collision is checked with only one of them. I assume you use unique numeric IDs internally (like GUIDs/UUIDs), else you must be getting the 1st entity from those with the same name I guess. Should maybe fix this and check collision with ANY entity that has the given name (return from your checking loop upon first collision found). Else you shouldnt allow multiple entities to have same name, since theres also the issue of asking the "x" position of an entity called "Brick" and having multiple of them. Which ones x value are you getting? Also after saving/reloading project or reordering the entities list you might be asking another entity (havent tested this though) than before if youre not using IDs internally and use names (and thus get a seemingly non-deterministic behaviour) 2) Have mentioned this a bit in the past too: should allow to send events to specific entities (by name - if multiple entities with same name is allowed send to all of them, that is treat the entity name as a "class"). If send-and-wait event is issued, wait for all listeners to finish (can talk to listeners serially or in parallel, depending on Scratchs internal architecture). Should be able to listen for events sent to class "x" using the appropriate codeflow block. 3) Can avoid replicating the class logic at each entity by putting it at the scene object (using send-to-x and on-event-for-x), as long as we have a block to say to which entity were talking to at a given time. E.g. On<Hello>For<X> [ Ask<X> [ Turn<90> , Move<10> ] ]. That is have an ASK<x> block. 4) Could have an extra field at each object apart from name, called "ancestors". Could be a list allowing to add many tags (say "mamal", "cat", etc. - like multiple inheritance that is). Then each entity that has ancestor "x" would also run the "x" entitys logic (this assumes entities use unique names). Avoids the concept a separate class object (old-style OOP, but more easy for non-programmers to understand). Else could have separate special "class" entities to group logic in them and name the aformentioned field "class" where each entity can optionally name the class(es) it belongs too to use logic from them. Having copy-pasted logic is problematic for maintenance in multi-agent simulations 5) add face flip action (for programming) 6) right click pos x block in a program to select (switch to) pos y or direction 7) right click index of list element in the list view (at web player too maybe?) to erase the item 8) can say "transmit [variable]" but cant say "on received [variable]". Hard to do message- based systems like that. 9) doesnt support reentrance? (at a message handler cant send same message and wait?) Σελίδα 112 από 114
  • 113. 10) have counter variable (like Logos repcount) and use inside repeat blocks to find current iteration (and also add foreach [for lists] and use with that one too) 11) was using "for ever while length-of-list>0" (with action to send msg and wait and remove two elements from the list at each loop) in message handler and never returned, changed with repeat until (len=0) and worked 12) add <=, >= operators (and at dropdown) and <> (the special char) 13) spawn/duplicate entity command (for programming [work at runtime - with some check that a loop doesnt make too many entities and crash scratch]) 14) right click any variable to edit its current value in popup, right click list to do similarly (could also show the editor inline via some down arrow or something) 15) right click a variable or a list at the vars window and select delete 16) right click "if" block to show option to change to if-else (and vice-versa, preserving "if" and releasing "else" contents respectively) 17) can only write ([0] - [X]), but theres no (-[X]) to change sign of X [without space char maybe] 18) #unique(list) - have a command to count unique items in a given list 19) remove-duplicates(list) - this should work on the given list (mutable list) and not produce another list (immutable argument), but should have a clone(list) and be able to assign a list to a variable to hold it, useful if people need to do immutable list operations (they can clone the list and then do remove-duplicates) 20) right click on any command in palette (since we can change their params there) and select "execute", maybe also allow in script area to exec subprog (the same subpart that is given when we click duplicate on an item)5/4/20091) Allow dragging a literal (say value “20”) from a block to move to other block. Holding down CTRL could do copy action. Better construct on the fly a literal block when user types in a value somewhere, allowing to drag-drop it to other places and also to right- click the literal and select “duplicate”, similar to how we do with other arithmetic elements2) Provide various drag-droppable numerical constants like “pi” or the golden ratio etc. (as special separate blocks or as a special block that contains a dropdown to change the constant). Should have some kind of tooltip to show the real numeric value of the constant, but do keep it as a symbol in the script, not as a literal value25/4/2009Evelyn:1) We are currently working on a Scratch 1.4 beta, and we are solving many little bugs, etc. We will probably open the Scratch 1.4 beta up to more translators soon, and we will let you know about this. Σελίδα 113 από 114
  • 114. 2) However, we are also currently looking at Scratch 2.0, the next version, and starting to plan for that. I will make sure your numerical constants suggestions make it to the design team.2/5/2009Here are some more suggestions for Scratch (some are a bit overlapping with previousfeedback, but sending them anyway since they may explain our rationale over thesuggestions a bit better):1) Tried to drag drop a variable onto “Set [x] to […]” box, but [x] doesn’t accept dropping a variable to it (it’s a dropdown but for consistency it should also accept dropping variables to it, as other dropdowns do and accept dropping parts onto them)2) Tried to drag drop a typed number from “Set [x] to […], that is the […] onto another formula (to avoid typing the value again). Maybe it should allow this (now does nothing)3) Should allow CTRL+drag to drag a copy of something (and leave the original item in place)4) Want to right click a numeric field and select from a list of variables and ready made values (like 0, 1, pi, etc.). Maybe also have at numbers page some constants to drag-drop5) Right click on any variable block and change it to other variable (select from “dropdown” list)3/5/2009Would like to have default (provided by the software) asset icons in Scratch for:1) planets of our solar-system and maybe of their moons too2) icons of a pen (useful when drawing), a brush, a bucket and other drawing tool icons3) icon of a spider (useful when drawing web-style curves) Σελίδα 114 από 114

×