Sunteți pe pagina 1din 6

INIȚIERE ÎN PROGRAMARE, CU SCRATCH

prof. Mariana Dindelegan


Liceul cu Program Sportiv Cluj-Napoca
Ce este Scratch?
Scratch este un mediu de programare vizual, creat special pentru copii pornind
de la vârsta de 8 ani în sus, cu scopul de a le dezvolta abilitățile necesare pentru
secolul al XXI-lea. Interfața este prietenoasă, cu acces direct la comenzi, iar limba
acesteia se poate seta în funcție de preferințele utilizatorului, așa cum pseudocodul
permite scrierea instrucțiunilor în limba programatorului. Elementele de bază în Scratch
sunt obiectele, numite sprite-uri. Datorită orientării pe obiecte, mediul permite crearea
de animații interactive, jocuri, simulări etc. Şcolile pot folosi Scratch pentru a-i ajuta pe
profesori la materii precum informatica, matematica, fizica, chimia, muzica, desenul,
tehnologia informaţiei etc. Dar, în primul rând, utilizatorii au ocazia să învețe bazele
programării.
Având în vedere că platforma este online, Scratch poate fi utilizat de la orice
calculator cu acces la internet. Şcolile nu trebuie să achiziţioneze software sau
echipamente speciale. Este nevoie de un computer cu un browser web recent și cu
Adobe Flash Player (versiunea 10.2, cel puțin). Pe site-ul Scratch
http://scratch.mit.edu/, accesul este gratuit, iar utilizatorii au posibilitatea de a-și crea
cont pentru a realiza și încărca proiecte sau a le vizualiza pe cele efectuate de alții,
pentru a discuta pe forum cu membrii comunității sau pentru a se documenta. Cei care
nu au acces la internet, își pot instala rapid și ușor softul descărcat de pe site-ul oficial.
De ce să programăm de mici?
La ora actuală, programarea se studiază oficial începând cu clasa a IX-a, după
ce elevilor le-au intrat în reflex algoritmii esențiali din matematică, precum găsirea
divizorilor, verificarea proprietăților unui număr (paritatea, semnul, proprietatea de
număr prim etc.), rezolvarea ecuațiilor de gradul I și al II-lea, operatiile cu multimi etc.
Din acest motiv, în momentul în care încep studiul informaticii, această materie li se
pare inaccesibilă și aridă. La fiecare problemă pe care o enunță, profesorul oferă
exemple sugestive pentru rezolvare și efectuează analiza problemei pe baza
exemplelor date, în scopul proiectării algoritmului. De obicei, elevilor le revine sarcina
implementării și testării programului. Poate că acesta este motivul pentru care ei nu dau
importanța cuvenită primilor trei pași esențiali în elaborarea unui produs informatic și, de
câte ori primesc un enunț, au tendința să scrie direct programul care să rezolve
problema dată, iar de aici multele eșecuri.
Din criză de timp (o oră pe săptămână la clasele de Matematică-Informatică/
Științele Naturii și patru ore la Informatică intensiv), elevilor nu li se pretinde explicit
exemplul, analiza și proiectarea, considerându-se că, din moment ce programul rulează
corect, s-a înțeles ceea ce s-a scris, deci se trece la următorul punct din programă și
nimeni nu se întreabă de ce unii copii nu reușesc sau nu își doresc să realizeze singuri
un produs informatic, deși sunt talentați la știintele exacte, unde gândirea logică și cea
algoritmică sunt importante.
O explicație ar fi că știintele precum matematica, fizica sau chimia se predau de
sute de ani si cele mai eficiente metode didactice sunt cunoscute, experimentate si
aplicate de mult timp. Informatica se predă în școli doar din a doua jumătate a secolului
trecut, deci suntem în faza de căutare și experimentare.
O altă explicație este că, la celelalte științe exacte elevii trebuie să aplice
algoritmi pe care îi învață la clasă și, eventual, pornind de la aceștia, să propună
metode de rezolvare a problemelor. Dar informatica se ocupă cu elaborarea unor
algoritmi originali și eficienți. Din moment ce sunt necesare aceste atribute, nu este
recomandat să lucrăm după șabloane sau formule prestabilite.
A treia explicație este că, uneori, profesorul se mulțumește ca elevii să
demonstreze că stăpânesc partea de implementare și nu observă că, foarte frecvent,
sunt învățate mecanic liniile de cod ale programului care rezolvă un anumit tip de
probleme. Aceste intrucțiuni sunt adaptate în funcție de enunțurile care urmează. Dar,
când se schimbă tipul de probleme și copiii trebuie să deducă rezolvarea, ei nu au
răbdare să-și aleagă exemplul, să-l analizeze și să proiecteze algoritmul, prin urmare,
așteaptă să li se ofere un șablon pentru noua lecție, pe care îl vor memora (după cum
s-au obișnuit) și vor crede că știu informatică.
Unii dintre acești elevi vor absolvi liceul cu impresia că sunt buni în domeniul
informatic și vor urma o facultate care să le ateste „talentul”. Doar că, în facultățile de
profil se pune accent pe gândirea eficientă și pe rafinarea în pași succesivi a
algoritmilor. Se întâmplă des ca, proaspeții studenți să spună că în liceu nu s-au atins
aceste aspecte, deși în fiecare analiză a problemei, profesorul efectua, împreună cu
elevii, o rafinare în pași succesivi (căreia poate că nu-i menționa denumirea, pentru a
nu le solicita memoria elevilor și a nu-i îndepărta cu termeni noi). Într-un final, se vor
adapta, dar nu vor renunța la vechile lor obiceiuri de a memora cele mai importante
metode de rezolvare, lucru dovedit de mulți studenți care nu sunt capabili să explice
algoritmi simpli din programare, cum ar fi calcularea produsului a două matrice.
De aceea, ar fi indicat ca informatica să fie studiată cât de timpuriu posibil și în
tandem cu celelate discipline. Când o noțiune este studiată interdisciplinar, se fixează
mult mai bine în sfera cunoștințelor elevului.
De exemplu, în clasa a V-a se studiază noțiunea de număr prim la matematică.
La acel moment, elevul verifică această proprietate prin împărțirea numărului la toate
valorile mai mari decât 1 și mai mici sau egale cu jumătatea lui până când se obține
restul 0 (s-a găsit un divizor) sau s-au epuizat numerele. Când găsește un divizor,
elevul spune că numărul nu este prim. Dacă ajunge la sfârșitul încercărilor, va spune că
numărul este prim, pentru că nu s-a găsit niciun divizor. Ajunși la liceu, elevii nu își mai
amintesc exact cum deduc dacă un număr este prim pentru că, între timp, rețin cele mai
utilizate numere prime și nu se mai întreabă de ce au această proprietate. Profesorul de
informatică trebuie să le amintească definiția: “un număr care are doar doi divizori: pe 1
și pe el însuși” și de aici vin elevii cu ideea: “Numărăm toți divizorii și dacă sunt mai
mulți, numărul nu este prim!”. Indiferent cât de mult li se explică faptul că acest algoritm
are ordin de complexitate mai mare (deci este ineficient) decât cel utilizat în clasa a V-a
la matematică, elevii se scuză că „acesta e mai ușor de învățat, pentru că e mai scurt și
are mai puține condiții”. Într-o primă fază, ideea de rezolvare este bună, dar ei nu vor să
înțeleagă ineficiența ei, având în vedere că programul funcționează corect. La fel se
întâmplă la verificarea unei proprietăți pentru toate elementele unei structuri de date,
pentru cifrele unui număr etc.
S-a observat că cei care au studiat informatica în copilărie propun optimizări
pentru algoritmi, iar dacă li se prezintă varianta mai putin eficientă, fac observații legate
de timpul de execuție și/sau spațiul de memorie alocat. Acest lucru se întâmplă pentru
că, la vârstă fragedă, oamenii sunt mai deschiși spre problematizare și învățarea prin
descoperire, metode de bază în procesul de instruire la informatică. O modalitate simplă
de a introduce această disciplină la copii este programarea în Scratch.
Elemente de programare în Scratch
Scratch a fost conceput să prevină greşelile de
sintaxă şi de conţinut ale începătorilor din programarea
tradiţională. Programarea este realizată prin glisarea şi
alăturarea blocurilor de instrucțiuni puse la dispoziție.
Interfaţa este intuitivă și permite elevilor să controleze cu
uşurinţă felul în care interacţionează diferite tipuri de comenzi. În plus, fiecare bloc se
poate alătura altuia numai dacă au sens împreună.
Categoriile colorate au denumiri sugestive și ajută la organizarea şi gruparea
seturilor de comenzi bazate pe funcţii particulare, cum ar fi: Mișcare, Aspect, Sunet,
Stilou, Date, Evenimente, Control, Detecție, Operatori, Mai multe blocuri.
De exemplu, categoria Date facilitează introducerea și gestionarea variabilelor
prin comenzi care le induc elevilor acțiuni precum declararea, atribuirea, incrementarea,
decrementarea, citirea sau afișarea variabilelor. Pentru a opera cu valorile constante
sau variabile, se folosesc blocurile de instrucțiuni din categoria Operatori. Aici avem
acces la operatori aritmetici, relaționali, logici, pentru șiruri de caractere și funcții
matematice (radical, sin, log etc.). Categoria Control conține blocuri pentru structurile de
control: decizia, repetiția cu număr cunoscut de pași sau cea condiționată anterior etc.
În Scratch, programele funcționează în timp real, fapt care permite editarea,
testarea și corectarea codului în orice moment, chiar și în timpul execuției acestuia.
Astfel, elevii au ocazia să observe direct și să conștientizeze modul în care
funcționează principalele tipuri de structuri din informatică, relația cauză-efect în
programare sau să studieze diferența de complexitate dintre secvențe de algoritmi.
Proiecte Scratch
Realizarea de proiecte Scratch oferă elevilor o audienţă internaţională, motivarea
acestora de a face cele mai bune lucrări, precum şi posibilitatea de a interacţiona cu
utilizatori din lumea întreagă şi de a lega prietenii cu aceştia. Totodată, este facilitată
dezvoltarea abilităţilor secolului al XXI-lea: viaţa şi munca în secolul nostru cer ca elevii
să înveţe cum să folosească tehnologia, cum să comunice în mod clar ideile lor şi cum
să interacţioneze eficient cu persoane din alte culturi. Prin intermediul participării la
proiecte Scratch, elevii îşi vor forma fiecare din aceste aptitudini și vor învăța elemente
de programare jucându-se, fără să depună efort. Având in vedere toate aceste facilități,
utilizarea platformei Scratch în educație reprezintă un succes garantat. Pentru
exemplificare, am ales două din proiectele realizate la Clubul de Informatică CEIP Cluj,
care au primit feedback pozitiv din partea membrilor.
Animația interactivă „Îngerașul și diavolul”
Verificarea proprietății de număr prim

Bibliografie:
1. Agape, M., Să învăţăm programare jucându-ne în Scratch, Revista Preparandia,
nr. 8, 2012
2. Bologa, R., Scratch, Revista Informatica Economică, nr. 1 (37), 2006
3. Braicov, A., Velicova, T., Aspecte metodologice de implementare a metodei
proiectelor utilizând mediul Scratch, Conferinţa Naţională de Învăţământ Virtual,
ediţia a XIII-a, 2015
4. Jakab, I., Metode alternative de învăţare a programării, E-revista CCD Mureș, nr.
5, 2012
5. The LEAD Project, Super aventura programării cu Scratch!, Editura L&S SOFT,
Bucureşti, 2014
Rezumatul lucrării
Scratch este un mediu de programare vizual, creat special pentru copii pornind de la
vârsta de 8 ani în sus, cu scopul de a le dezvolta abilitățile necesare secolului nostru.
Introducerea în programare la o vârstă fragedă este necesară pentru că, în prezent,
informatica se studiază oficial doar din clasa a IX-a, după ce elevilor le-au intrat în reflex
algoritmii esențiali ai stiintelor exacte si nu mai au răbdare să deducă succesiunea de
pași necesari rezolvării unor probleme, fapt care cauzează memorarea algoritmilor de
către elevi. Scratch a fost conceput să prevină greşelile de sintaxă şi de conţinut ale
începătorilor din programarea tradiţională prin interfața oferită. Pentru exemplificare, am
ales două din proiectele realizate la Clubul de Informatică CEIP Cluj: algoritmul de
verificare a proprietății de număr prim și animația interactivă „Îngerașul și diavolul”.

S-ar putea să vă placă și