CNIV 2017

Scratch, limbaj de programare educațională free by MIT


BUCUREȘTI 21 DECEMBRIE 2017, CNIV România
from M. Vlada, https://mvlada.blogspot.ro (resurse pentru profesorii de informatică sau de orice disciplină)

Resurse pentru profesorii informatică sau de orice disciplină.

MOTTO:
Analfabetul viitorului nu va mai fi cel care nu ştie să citească, ci cel care nu ştie să înţeleagăAlvin Toffler
Omul, când nu înţelege, e contraAcad. Grigore C. Moisil

Cu platforma Scratch, puteți să concepeți și să programați propriile povești/lecții interactive, jocuri/probleme și animații și să vă împărtășiți creațiile cu alții într-o comunitatea online.

Learning: Learn to Code, Code to Learn
Învățați prin programare (codificare), programați (codificați) prin învățare.
Abilitatea de a programa (codifica programele de calculator) este o parte importantă a alfabetizării în societatea de astăzi. Când oamenii învață să programeze (codifice) în Scratch, învață strategii importante pentru rezolvarea problemelor, pentru proiectarea și conceperea diverselor proiecte, precum și comunicarea ideilor.

Despre cuvântul Scratch
"Scratch" are legătură cu cuvântul "Scratching” ( "zgâriere") ce se referă la muzică, o tehnică folosită de un mixer DJ pentru a produce sunete distinctive prin mutarea unei înregistrări vinyl (vinyl record) înainte și înapoi pe o placă (disc).
"Am defint limbajul de programare cu numele , prin felul în care un DJ hip-hop combină (Scratching) o anumită muzică. Acesta ia bucăți de muzică și apoi le combină în moduri neașteptate și creative.“ Mitchell Resnick, Lifelong Kindergarten Group at MIT [3]. 


Dezvoltare

Scratch este un limbaj de programare educațional gratuit dezvoltat de Grupul de grădinițe [5] de la Massachusetts Institute of Technology (MIT) - USA, cu peste 15 milioane de utilizatori înregistrați și peste 22 milioane de proiecte comune. În prezent, este operațională versiunea 2.0, dar se poate utiliza și versiunea anterioară 1.4 [1]. De asemenea, se poate utiliza si editorul online. Inițial, Scratch a fost scris în limbajul Python [7]. Scratch a fost complet rescris în Adobe Flash pentru versiunea 2.0, dar încă execută proiecte din versiuni mai vechi. Datorită noilor caracteristici și a limbajului de programare diferit, proiectele/programele Scratch 2.0 sunt salvate în format .sb2 în loc de formatul anterior .sb. 


Lansare și versiuni


Scratch are în prezent versiunea 2.0, editorul online lansat oficial pe 9 mai 2013, iar editorul offline, pe 26 august 2013. Precedentul său este Scratch 1.4, lansat pe 2 iulie 2009. Versiunile anterioare mai vechi sunt Scratch 1.3, Scratch 1.2, Scratch 1.1 și Scratch 1.0. Fiecare versiune a avut schimbări semnificative, în special saltul de la 1.4 la 2.0. Nu numai că programul a fost actualizat cu versiunea 2.0, dar întregul site a evoluat. Deja, s-a anunțat că Scratch 3.0 este o versiune viitoare încă în curs de dezvoltare.


Utilizare

Programul Scratch este folosit pentru copii, în școlile din întreaga lume ca mijloc de introducere a programării de bază a calculatorului. De asemenea, este folosit și în afara școlilor. Copiii și chiar adulții dobândesc o înțelegere a fundamentalelor programării cu Scratch și deseori trec la alte limbaje de programare. În timpul utilizării Scratch, oamenii pot crea, remixa și colabora cu ceilalți pe proiecte Scratch.
Scratch este conceput să fie orientat spre vârstele copiilor/elevilor de până la 8-14 ani și pentru elevii primelor 2 clase de liceu. Este conceput pentru a fi și distractiv, educațional și ușor de învățat. Dispune de instrumente pentru crearea de povestiri interactive, jocuri, desene artistice, muzică și artă, simulări și multe altele, folosind programarea pe bază de blocuri. Scratch are propriul editor de desen și editor de sunet încorporat. Utilizatorii Scratch realizează programe prin tragerea de blocuri din paleta de blocuri și atașarea lor la alte blocuri, cum ar fi un puzzle „Jigsaw”. Structurile blocurilor multiple se numesc script-uri. Această metodă de programare (dezvoltarea codului cu blocuri) este denumită "programare drag-and-drop" ("drag-and-drop programming"). 


Interfața mediului de dezvoltare Scratch

În proiectarea limbajului, principala prioritate a dezvoltatorilor a fost aceea de a face limbajul de programare și mediul de dezvoltare intuitive și ușor de învățat de către copiii care nu au experiență de programare. Există un contrast puternic între funcțiile multimedia puternice și stilul de programare cu mai multe fire (multi-threaded programming style) și limita destul de limitată a limbajului de programare Scratch.
Interfața cu utilizatorul pentru mediul de dezvoltare Scratch împarte ecranul în mai multe panouri:
1. în mijloc se află paleta de blocuri, 
2. în partea dreaptă zona de script-uri, 
3. iar în stânga lista de scenă și de spiriduși (sprite).
Paleta blocurilor are fragmente de cod (numite "blocuri", "blocks") care pot fi trase în zona de script-uri pentru a realiza diverse programe. Cu scopul păstrării paletei, care să afișeze o mulțime de blocuri și pentru a fi ușor de utilizat, aceasta este organizată în 10 grupe de blocuri: mișcare, aspect, sunet, stilou, control, evenimente, senzori, operatori, variabile și mai multe alte blocuri (blocuri și extensii personalizate). De asemenea, incluse în categoria More Blocks, sunt blocurile LEGO WeDo și PicoBoard Blocks


Exemple de proiecte în Scratch 

1. Satisfying Pen Animations [MAP COMPLETED] by superstarcoder
Sursa: https://scratch.mit.edu/projects/183698088/; Tutorial - https://scratch.mit.edu/projects/191311266




2. Fractal Christmas Tree with animated stars remixed by leszpio
Sursa: https://scratch.mit.edu/projects/190943966/




Referințe 
[1] MIT - Scratch, https://scratch.mit.edu/ , https://scratch.mit.edu/download , accesare 2017
[2] Wiki- Scratch , https://wiki.scratch.mit.edu/wiki/Scratch, accesare 2017
[3] Scratch Program, https://wiki.scratch.mit.edu/wiki/Scratch_Program, accesare 2017
[4] Scratch User Interface, https://wiki.scratch.mit.edu/wiki/Scratch_User_Interface , accesare 2017
[5] Lifelong Kindergarten Group, https://wiki.scratch.mit.edu/wiki/Lifelong_Kindergarten_Group, accesare 2017
[6] Projects, https://scratch.mit.edu/projects/, https://scratch.mit.edu/explore/projects/all , accesare 2017
[7] Python, https://www.python.org/, accesare 2017
[8] Comunitatea InfoGim - Romanaia, http://infogim.ro/, accesare 2017