Scrath este un limbaj de programare dedicat copiilor și adolescenților cu vârste între 8-16 ani, dezvoltat de MIT Media Lab și Playful Invention Company. Scratch a fost dezvoltat cu scopul de a eficientiza modalitățile de predare și prezentare a programării într-un mod simplificat, mai ales pentru copii.
Prima versiune prototip a apărut în anul 2003, iar un an mai târziu a apărut și a doua. Lansarea publică a avut loc în anul 2007, pe data de 15 mai. De atunci, Scratch s-a tot îmbunătățit atât în ceea ce privește funcționalitatea, cât și estetica, cea mai recentă versiune publică fiind Scratch 3.0, lansată pe 2 ianuarie, 2019.
Scratch este folosit în întreaga lume, în peste 150 de țări, fiind disponibil în peste 60 de limbi, înclusiv în română. Datorită faptului că are interfață intuitivă, fiind relativ ușor de folosit și învățat, acest limbaj de programare open-source este folosit de copiii și adolescenții care își propun să facă primii pași în domeniul programării.
Promovând gândirea creativă, matematica, logica, atenția la detalii, colaborarea și capacitatea de a aborda o problemă dintr-o perspectivă mult mai extinsă, multilaterală, Scratch este o opțiune viabilă pentru copii, care combină învățarea cu distracția.
Cuprins
Ce este Scratch?
Termenul de „scratch” definește un efect sonor: combinația mai multor înregistrări pentru a obține diferite efecte sonore. Făcând o asociere, asemănător modului în care cei care mixează muzica, se folosesc diferite efecte pentru a livra conținut armonios, Scratch le permite utilizatorilor „să amestece” elemente de grafică și sunet, astfel încât să poată crea animații, jocuri, povești și videoclipuri după bunul plac. Sub sloganul „Imagine, Program, Share”, echipa Scratch dorește să încurajeze comunitatea să partajeze idei, proiecte și coduri.
Codarea Scratch reprezintă o alternativă perfectă pentru copiii care vor să facă primii pași într-o lume a programării. Punând bazele esențiale pentru ca aceștia să poată aborda limbajele de programare mult mai complexe, Scratch este un instrument gratuit care poate fi accesat de oricine, mizând pe programarea vizuală la nivel de bloc. Scratch îi ajută pe tineri și pe adolescenți să înțeleagă care este logica din spatele coding-ului, folosind blocuri și elemente vizuale ajutătoare.
Scratch este o platformă atractivă din punct de vedere vizual, ceea ce reprezintă un punct forte , având în vedere că se adresa mai ales copiilor. În momentul de față, Scratch folosește cea mai recentă versiune de JavaScript, iar în trecut a folosit și limbajele de programare orientate pe obiecte ActionScript și Squeak.
În decembrie anul trecut, platforma a susținut peste 67 de milioane de proiecte și, în fiecare lună, se estimează că există cel puțin 38 de milioane de utilizatori activi.
Descoperă câteva dintre principalele caracteristici ale platformei Scratch:
- Reprezintă o modalitate practică și eficientă de a introduce copiii în lumea programării.
- Folosindu-se de blocuri și indicii vizuale, învață copiii cum să programeze. Pentru că oferă și un rezultat al codului, ei pot observa care sunt finalitățile instrucțiunilor create.
- Codarea bazată pe blocuri permite cursanților să folosească instrucțiuni scrise anterior, ceea ce le permite să genereze acțiuni.
- Promovează colaborarea între utilizatori, imaginația, gândirea critică și analitică, abilitatea de a aborda interdisciplinar o problemă.
- Permite utilizatorilor să creeze animații și elemente grafice care pot fi ușor partajate.
- Proiectele finalizate pot fi eficient convertite în alte tipuri de fișiere (HTML5, Bundle, .EXE sau chiar în aplicații Android), folosind instrumente externe.
- Dispune de o comunitate online extinsă, din întreaga lume, care permite copiilor să dezvolte și să schimbe conținut, să abordeze proiecte complexe și dificile.
- Disponibilă în peste 60 de limbi din întreaga lume, inclusiv în limba română.
Scratch pune bazele coding-ului, arătându-le copiilor cum pot face ca un element să se comporte exact așa cum își doresc. Copiii (cei care codează) definesc obiectele folosindu-se de anumite indicații furnizate. Scratch oferă o abordare mult simplificată a programării (codării) la vârste relativ fragede, dar esențială pentru ca mai departe să dispună de un set relevant de informații în vederea abordării unui limbaj de programare mult mai complex.
Codarea bazată pe blocuri
Spre deosebire de codarea bazată pe text (Java, Phyton, C++ și altele), codarea care se bazează pe blocuri reprezintă versiunea light a programării. Se folosesc unități grafice, fără linii de cod sofisticate și complicate bazate pe text, pentru a ajunge la rezultatul final (cum ar fi construirea de animații, puzzle-uri, jocuri și altele).
În Scratch, utilizatorul folosește aceste unități grafice sub formă de blocuri, fiecare bloc conținând o linie de cod. Așadar, utilizatorul va ajunge la un rezultat fără a fi nevoie să scrie efectiv cod, înțelegând însă principiile din spatele acestuia.
În Scratch, fiecare bloc folosit presupune o nouă funcție sau comandă specifică. Utilizatorul va trebui doar să le aranjeze într-o anumită ordine logică, clară, pentru a realiza „un program” care să ruleze. Acest mod de a utiliza blocuri permite utilizatorului să înțeleagă premisele care stau în spatele programelor, dar îi permite și să detecteze mai rapid și eficient erorile de programare care pot apărea în timpul dezvoltării.
Tipuri de blocuri folosite în Scratch
Blocurile se referă la structurile care sunt folosite de către utilizatori pentru a construi codul. Blocurile sunt conectate precum piesele unui puzzle, iar fiecare categorie de blocuri are o formă diferită, evitând astfel o posibilă confuzie. Întrucât nu necesită memorarea instrucțiunilor text, nu fac apel la atenția deosebită a utilizatorului (după cum bine știm, lipsa unei virgule puse într-un cod poate da peste cap întreg programul), blocurile se pot folosi mult mai ușor decât programarea bazată pe text.
Cele nouă tipuri de blocuri disponibile în Scratch sunt:
- Mișcare: aceste blocuri permit mișcarea, rotirea, glisarea, învârtirea, alunecarea obiectului, în funcție de indicațiile tale.
- Aspect: aceste blocuri modifică aspectul obiectului (culoare, dimensiuni și altele).
- Sunete: aceste blocuri îți permit să incluzi efecte sonore în program, fără nicio reținere sau limită.
- Evenimente: aceste blocuri sunt blocurile de pornire, trebuind plasate la începutul fiecărui segment de cod.
- Control.
- Detectare.
- Operatori.
- Variabile.
- Blocurile mele.
Extensii Scratch cu utilitate practică
Scratch prezintă mai multe extensii care facilitează accesul utilizatorilor și posibilitatea lor de a înțelege mult mai rapid cum se folosește platforma. Acestea includ:
- Text to speech: citirea cu voce tare a textului.
- Traducere: un plugin care permite ca textul să fie tradus în mai multe limbi.
- Pen: permite utilizatorilor să folosească o pensulă.
- Extensia LEGO MINDSTORM EV3: proiectele Scratch pot fi conectate fără probleme cu dispozitivele LEGO MINDSTORM EV3.
- Extensia Micro:bit: proiectele Scratch pot comunica cu proiecte micro:bit.
Cum se învață Scratch?
Interfața de utilizare Scratch este asemănătoare unui mediu integrat de dezvoltare (IDE), putând fi separată în trei zone:
- Zona de pregătire.
- Zona de unde pot fi alese blocurile.
- Zona de coding.
Tabloul de bord (dashboard) afișat în momentul accesării Scratch este împărțit în mai multe panouri. Aceste panouri au finalități diferite: scrierea codului dorit, alegerea blocurilor prestabilite, precum și vizualizarea a ceea ce s-a creat folosind blocurile. Există și posibilitatea de a folosi blocuri de cod scrise de persoane, în sine, nu prestabilite, care se pot crea în secțiunea „Blocurile mele”.
Cea mai recentă versiune a Scratch, apărută în 2019, presupune 3 elemente principale:
- Scena (Stage): aici se afișează rezultatele codării – „finalitatea”. Poate fi vorba de animații, o pisică în mișcare sau orice îți permite blocul folosit.
- Meniul de blocuri (Block Menu): aici sunt conținute toate blocurile cu instrucțiuni care pot fi plasate în zona de cod aferentă.
- Zona de codare (Script Area): aici are loc asamblarea blocurilor. Cu drag & drop, utilizatorul poate plasa blocurile dorite, astfel încât elementele să facă diferite acțiuni.
Sprites sunt imaginile folosite în Scratch. Fiecare program Scratch este format în esență din sprites și din blocurile/scripturile/instrucțiunile pe care le controlează. Astfel, scriptul este programat încât „să-i spună” sprite-ului să facă diferite lucruri (cum ar fi să facă un anumit număr de pași înainte). Pot fi selectate mai multe astfel de sprite-uri, iar în imaginea de mai jos este reprezentat unul sub forma unei pisici. De asemenea, tot în imaginea de mai jos îți este prezentat tabloul de bord al unui program Scratch, cu zonele amintite mai sus.
Un program Scratch mai poate consta și în:
- Costume File: oferă utilizatorului posibilitatea de a modifica aspectul unui sprite.
- Sound File: oferă utilizatorului posibilitatea de a anexa efecte sonore unui sprite.
- Pen: oferă utilizatorului posibilitatea de a desena forme după bunul plac.
Mai degrabă decât să se bazeze pe limbajul text, scris, codarea scratch se concentrează mai ales pe interacțiunea pedagogică și predarea proceselor de codare bazate pe evenimente. Folosindu-se de diferite extensii și facilități, permite utilizatorilor să se familiarizeze rapid cu modul destul de complex în care principiile programării funcționează.
Beneficiile codării cu Scratch
Scratch își propune să inițieze copiii și adolescenții în lumea fascinantă a informaticii. Folosind metode avansate de predare interactivă, concepte de bază de coding (fără a intra însă în ceea ce presupune programarea orientată pe obiecte), fiind ușor de înțeles de către cei mai mici, Scratch oferă numeroase beneficii, care țin în primul rând de dezvoltarea, dar și de fundamentarea gândirii analitice, schematizării, creativității și a imaginației.
Promovează gândirea analitică și capacitatea de a rezolva probleme
Scratch îi ajută pe copii să își dezvolte abilitățile de raționament logic, să gândească matematic și să abordeze problema din mai multe unghiuri. Dând piept provocărilor întâlnite în timpul și de-a lungul exercițiilor propuse de platformă, ei își dau seama că pot rezolva o problemă în diferite moduri.
Distracție și învățare în același timp
Având o interfață interactivă, cu aspect copilăros, Scratch este o platformă atrăgătoare pentru copii. Deseori, aceștia trebuie să rezolve tot felul de sarcini, sarcini care le stimulează atenția și spiritul creativ, făcând astfel ca procesul învățării să fie unul mult mai plăcut, nu plictisitor. De fapt, Scratch chiar mizează pe principiul „educație prin joacă”.
Interfața de utilizare deosebit de atractivă pentru copii
Codarea prin Scratch este și mai atrăgătoare datorită interfeței atractive, sprite-urilor amuzante și tuturor posibilităților de codare pe care le oferă copiilor. Promovează colaborarea între copii, comunicarea și consolidarea legăturilor de prietenie. În general, fiecare experiență de codare și programare este plăcută și amuzantă pentru copil.
Facilitează accesul copiilor la o carieră în domeniul programării
Chiar din confortul propriilor case, fără a fi nevoie de tot felul de cursuri și programe speciale, un copil poate învăța bazele și principiile programării. Dat fiind faptul că se va distra în același timp, va fi mult mai predispus să își petreacă timpul liber încercând să rezolve probleme de tot felul. Fără a face procesul de învățare dificil și complex, dar și fără a face compromisuri când vine vorba de fundamentarea solidă a acestui domeniu, copilul se pregătește de o carieră de succes în domeniul dezvoltării software.
Explică logica din spatele programării, pe înțelesul copiilor
Deoarece copiii pot vedea în timp real ceea ce creează (rezultatele amplasării blocurilor), și își pot verifica finalitatea, îi va ajuta să înțeleagă mult mai bine și rapid care este raționamentul ce stă în spatele funcționării programelor pe calculator. Logica Scratch implică idei fundamentale: tipuri de date, parametri, colecții, bucle, matrici, operatori. În momentul în care aceștia urmează să facă trecerea de la programarea bazată pe blocuri la cea bazată pe textul scris, aceleași „baze” se vor traduce și în limbajele de programare noi abordate.
Promovează creativitatea și imaginația
Cu Scratch nu există limite. Codarea Scratch le va permite copiilor să genereze și să obțină tot ce vor, ceea ce le va stimula gândirea creativă (foarte importantă într-un astfel de domeniu). În esență, imaginația este singura limită când vine vorba de folosirea acestui limbaj de programare și, dezvoltându-și spiritul creativ, le va fi mult mai ușor să înțeleagă alte limbaje de programare și să găsească rezolvări autentice pentru diferitele probleme cu care se vor confrunta.
Cum să începi să folosești Scratch
Dacă dorești să începi să folosești Scratch, vizitează website-ul oficial și urmează pașii de mai jos:
- Apasă click pe butonul „Începeți să creați”.
- Blocurile pentru codare sunt afișate în partea stângă (cele despre care s-a vorbit mai sus).
- Pentru a începe să creezi, alege blocurile dorite și adaugă-le în mijloc (acestea se vor potrivi precum piesele unui puzzle atunci când sunt așezate în mod corespunzător).
- Alege un sprite pentru a genera coduri (acțiuni) pe care acesta să le ducă la bun sfârșit.
- Pentru a coda, trebuie să așezi una lângă cealaltă bucăți de cod (drag & drop din stânga, în centrul spațiului de codare).
- Fiecare bloc îți permite să miști sprite-ul, să generezi zgomote, și să-i modifici culoarea. Mai mult decât atât, atunci când sunt combinate într-un mod specific, acestea îți permit să creezi o serie de evenimente ce pot fi asemănătoare unui joc, unei animații sau altor proiecte, în funcție de dorințele tale.
Indiferent de vârstă, Scratch reprezintă un punct de plecare excelent în domeniul programării. Te ajută să îți dezvolți logica de codare, formulele specifice, care reprezintă fundamentul de a învăța orice alt limbaj de dezvoltare software. Nu este necesar să cunoști încă lexicul specific unui anumit limbaj, ci doar să înțelegi ce stă în spatele folosirii acestuia. Cu timpul, codarea cu Scratch va putea fi proiectată asupra altor limbaje de programare, care vor fi mult mai ușor de înțeles și de folosit. Scratch este un mod perfect de „a gamifica” procesul învățării programării.
De ce este Scratch gratuit?
Scratch este potrivit pentru copiii cu vârste cuprinse între 8-16 ani, fiind un limbaj dezvoltat de MIT Media Lab și Playful Invention Company, co-fondat de Brian Silverman, Paula Bonta și Mitchel Resnick. Programarea cu Scratch dispune de o comunitate imensă și extinsă, alcătuită din cursanți și mentori din întreaga lume, care își împărtășesc progresele, proiectele, rezultatele și cunoștințele. Participarea la astfel de proiecte le permite copiilor să exploreze diferite moduri prin care pot rezolva probleme, să lege prietenii și să facă parte din lumea fascinantă a codării, în timp ce își pun bazele unei viitoare cariere de succes.
Poate fi folosit de către oricine, de la adulți la copii, fără a fi nevoie de vreun tip de abonament sau plată. Scratch este și va rămâne gratuit, și nu este nevoie de o licență specială pentru a utiliza Scratch la școală, la domiciliu sau oriunde în altă parte. Dezvoltarea, întreținerea și îmbunătățirea platformei Scratch se face cu ajutorul donațiilor și a granturilor. Deoarece își propune să faciliteze accesul copiilor la modalități cât de învățare interactive și viabile, Scratch își asumă o misiune onorabilă.
Scratch – întrebări frecvente
Care este vârsta cea mai potrivită pentru a învăța programarea Scratch?
Codarea Scratch este ideală pentru copiii cu vârste între 8-16 ani. Totuși, există și Scratch Jr ce se adresează copiilor cu vârste între 5-8 ani, mult mai ușor de înțeles și folosit. După ce a reușit să se familiarizeze cu Scratch Jr și rezolvă ușor problemele, copilul poate trece la cealaltă etapă a codării: Scratch pentru copiii cu vârste între 8-16 ani.
Câte roluri există în Scratch și ce înseamnă acestea?
În Scratch utilizatorii pot avea 4 roluri:
New Scratcher: obținut în momentul creării unui cont.
Student: rol atribuit în cazul în care utilizatorul este student.
Scratcher: pe măsură ce utilizatorul progresează, interacționează, împărtășește proiecte, dar se și implică în altele, poate obține acest rol.
Scratch Team: este acordat persoanelor care moderează platforma Scratch și contribuie într-un fel sau altul la dezvoltarea acesteia (numele de utilizator prezintă un „*” la sfârșit).
Ce este Scratch și ce pot face cu acest limbaj de programare?
Cu ajutorul Scratch poți crea tot ce vrei: povești interactive, jocuri, animații, desene. Mai mult decât atât, le poți partaja cu comunitatea. Pe măsură ce creezi și îți împărtășești proiectele, poți face parte din echipe de colaboratori, te poți înscrie la diferite alte proiecte, dezvoltându-ți într-un mod practic și sănătos diferitele abilități cognitive (creativitate, logică, raționament, gândire critică și analitică).
Care sunt cerințele de sistem pentru Scratch?
Scratch poate rula în majoritatea browserelor web actuale de pe desktop-uri, laptopuri, tablete. Proiectele pot fi vizualitate de pe smartphone-uri, dar în momentul de față acestea nu suportă posibilitatea de a crea sau edita alte proiecte. Poate rula pe: Chrome, Edge, Firefox, Safari, dar și pe Chrome și Safari (smartphone).
Scratch poate fi utilizat și offline?
Da, aplicația Scratch îți permite să creezi proiecte fără a fi nevoie de o conexiune permanentă la internet. Aceasta este disponibilă în magazinul de aplicații iOS sau Android, în mod gratuit. Aplicațiile au aceeași interfață, aproximativ, ca și versiunea desktop, putând fi deosebit de ușor de folosit (chiar dacă se pliază mult mai bine pe dispozitivele mai mari, voluminoase).
Cât costă Scratch? Am nevoie de licență pentru a-l folosi?
Scratch este absolut gratuit și nu este nevoie de licență pentru a-l utiliza. După cum am afirmat, dezvoltarea, întreținerea și îmbunătățirea Scratch este asigurată prin granturi și donații (de fapt, Scratch a luat naștere tot prin intermediul unui grant investit într-un astfel de proiect). Scratch a fost dezvoltat și întreținut de echipa Scratch din grupul Lifelong Kindergarten din MIT Media Lab. Cea mai recentă versiune, Scratch 3.0, a fost lansată pe 2 ianuarie 2019.
Așadar, Scratch este un limbaj de programare ofertant, care își propune să devină un liant între copil și posibilitatea de a înțelege bazele, principiile și fundamentele programării. Datorită unei interfețe atrăgătoare de utilizare, facilităților integrate, complexității blocurilor ce pot fi folosite și comunității extinse de utilizatori, Scratch se înscrie în lista de alternative perfecte pentru cei care vor să facă pași mici și siguri către o carieră de succes în acest domeniu ofertant.
Scratch este absolut gratuit și le oferă copiilor posibilitatea de a se juca și învăța în același timp, întrucât combină aspecte care duc la „gamificarea” acestui proces. Deoarece copiii pot face cu acestă platformă absolut orice își doresc, se vor distra în timp ce își fundamentează cunoștințele și abilitățile de programare. Ulterior, când vor trece la etapa următoare, acestea vor fi readaptate pentru a înțelege mult mai bine și eficient noul limbaj de programare abordat.