Metodica predarii informaticii

Embed Size (px)

Citation preview

1

Capitolul 1. Noiuni de bazCapitolul este destinat n principal prezentrii unor elemente introductive, absolut necesare pentru pstrarea caracterului de sine stttor al lucrrii, n Liceu anumite noiuni deosebit de importante fiind predate destul de diferit.

1. Noiuni de baz n Informaticncepem cu o scurt trecere n revist a ctorva concepte care vor fi utilizate intensiv n carte n special ca suport teoretic pentru exemplele alese. Pentru detalii se mai pot consulta , , , , , , , . 1.1. Predarea unor noiuni fundamentale Temele i domeniile abordate n tratarea disciplinelor de Informatic sunt desigur stabilite prin obiectivele cadru i de referin specifice. Dar, aa cum nu putem aborda nici un domeniu al matematicii (de exemplu), fr cunoaterea unor noiuni fundamentale (cum ar fi cele privind teoria mulimilor, teoria numerelor etc.), nici n Informatic nu ne putem dispensa de conceptul de algoritm. Prin algoritm (imperativ) se nelege ansamblul de transformri (metode) ce se aplic asupra unui set de date de intrare i care determin obinerea ntr-un timp finit i dup o succesiune precis de pai, a unui set de date de ieire (, , ). Aceasta nu este o definiie, ci o descriere a unui concept de baz. Spre deosebire de matematica clasic (n care noiunile de baz, nedefinite ci doar descrise, sunt relativ simple: mulime, punct, plan etc.), noiunile informatice similare sunt mult mai complicate (n afar de algoritm, mai amintim: baz de date, program concurent, site, cip, etc.). Un accent deosebit trebuie pus pe caracteristicile algoritmilor: generalitatea (universalitatea), determinismul i finitudinea, eficacitatea (, ). S precizm totui c introducerea oricrei noiuni (chiar nefundamentale), ar trebui s urmeze urmtoarele etape: Etapa de elaborare i motivaie (iniial). Fundamentat i eficient integrat ntr-un sistem, o noiune cere noi domenii de aplicare. Prin urmare atrage dup sine

2

(motiveaz) introducerea unor noi noiuni sau furnizarea unor noi rezultate, pn cnd aria de extindere se ngusteaz. Etapa de formare a noiunii. Ilustrat prin exemple, argumentat teoretic i, de dorit, demonstrat matematic, o noiune se constituie ca un util i puternic mijloc de producie pentru domeniul pentru care a fost elaborat. Rmne doar s-l exploatm adecvat. Didactic, acest aspect cuprinde argumentarea tiinific a noiunii introduse i reliefarea unor noi, posibile domenii de aplicabilitate. Etapa de consolidare, prin operare cu noiunea. O noiune poate fi considerat asimilat dac ea devine i instrument de dobndire a unor cunotine i dac elevii pot opera cu aceast noiune n situaii noi. De exemplu, n privina reprezentrii algoritmilor, optm pentru folosirea pseudocodului sau a altor tipuri de diagrame. Nici un efort metodic nu este prea mare pentru a avea o reuit deplin n nelegerea i abordarea noiunilor de algoritm i de reprezentare a acesteia. Noiunile ulterior introduse vor apare n mod firesc, cptnd caracteristicile unor nlnuiri cauzale. De aceea este necesar ca n mintea elevilor s existe o ordonare a noiunilor, o corelare fireasc a lor, o motivaie, pentru c numai peste cunotine bine asimilate se pot aterne n mod eficient cunotine noi. Pentru a-l cita pe Domnul profesor I. Maxim, elevul trebuie s neleag c ordinea n care se predau noiunile nu este ntmpltoare i c el trebuie s fac un efort de asimilare, care va fi rspltit prin reuite viitoare. Unele teme de predare pot fi organizate n spiral (ceea ce presupune o rentoarcere la acelai coninut, dar pe un nivel superior). Acest mod de planificare corespunde sistemului concentric propriu-zis (concentric calitativ) i sistemului concentric cantitativ (concentric liniar). Sistemul concentric calitativ desemneaz modul de organizare a cunotinelor n programele de nvmnt, manuale i lecii, n aa fel nct noiunile (cunotinele) se nsuesc prin reluri, restructurri, reinterpretri, pn la formarea lor complet. Sistemul concentric cantitativ este modul de organizare a cunotinelor n programele colare, manuale i lecii (inclusiv pe INTERNET), constnd n reluarea adugit i detaliat a materiei parcurse anterior, reluare reclamat nu att de dificultatea nelegerii noiunilor, ct mai ales de nevoia lrgirii cunotinelor n succesiunea claselor i treptelor colare. Trebuie astfel fcut diferena dintre noiunea de variabil, aa cum este ea cunoscut din matematica clasic i cea de variabil n sensul limbajelor de programare imperative (D. Barron, ), noiune care poate fi reprezentat ca (de unde poate rezulta i interpretarea corect a asignrii) (?????de reparat):

valoar e

3

Nume

Atribute

Referin

Intuitiv vorbind, pentru a parcurge drumul de la realitatea de modelat la implementarea pe calculator, trebuie nelese, cel puin la nivelul descriptiv, i alte noiuni, cum ar fi cele de problem, complexitate, corectitudine/verificare, etc. O problem este un concept caracterizat prin enun, mulime de informaii de intrare (instane ale problemei), mulime de informaii de ieire (rspunsuri ale problemei). Ca urmare, rezolvarea unei probleme nseamn c pentru fiecare instan trebuie s se furnizeze (ntr-un timp finit) un anumit rspuns. Dac acest rspuns este doar de tipul DA sau NU, atunci avem de-a face cu o problem de decizie. Soluia adoptat pentru aceast a treia cale de descriere a unei mulimi are avantajul de a avea i o caracteristic de natur (semi)algoritmic. Acceptm astfel paradigma imperativ propus de D. Knuth (), Algoritm = Date + Operaii. Mai exact, un algoritm (imperativ) reprezint o secven finit de pai (instruciuni), care descriu operaii precise asupra unor informaii (date) iniiale (de intrare) sau intermediare (de lucru, temporare), n vederea obinerii unor informaii (rezultate) finale (de ieire). Paii se execut (operaiile se efectueaz n mod concret) n ordinea scrierii lor n secven. Un algoritm calculeaz o funcie sau rezolv o problem. Intuitiv, datele de intrare reprezint elemente din domeniul de definiie al funciei de calculat (sau informaiile iniiale din realitatea n care i are originea problema pe care vrem s o rezolvm), iar datele de ieire sunt elemente din codomeniul funciei (respectiv, soluiile problemei). Un algoritm se termin pentru toate intrrile admise, prin urmare exist ntotdeauna un ultim pas, a crui execuie marcheaz de obicei i obinerea rezultatelor de ieire. Din motive tehnice, vom lua uneori n considerare i algoritmi care nu se termin pentru toate intrrile, pe care-i vom numi semialgoritmi (proceduri). Un (semi)algoritm poate fi descris sub mai multe forme, printre care se numr i pseudocodul (limbaj intermediar ntre limbajul natural i un limbaj de programare comercial). Prin urmare, algoritmul Alg rezolv problema P, dac avnd la intrare orice instan a problemei, acesta se termin avnd ca rezultat un element din mulimea de rspuns. Exist i probleme semirezolvabile. Diferena fa de problemele rezolvabile este aceea c algoritmul care le rezolv poate s nu se termine pentru fiecare instan. Exist de asemenea i probleme nerezolvabile (nedecidabile), cu alte cuvinte probleme pentru care nu exist algoritmi care s le rezolve. n limbajul curent a intrat i termenul de problem netratabil, pentru a desemna

4

o problem rezolvabil, dar ntr-un timp practic inaccesibil (exponenial sau mai mare). Astfel, dou dintre msurile (teoretice, globale) de complexitate des ntrebuinate sunt complexitatea timp i complexitatea spaiu. Ideea este aceea c un (orice) pas elementar (instruciune) al (a) unui algoritm se execut ntr-o unitate de timp (pentru spaiu, fiecare dat elementar se memoreaz ntr-un registru sau locaie de memorie, acesta/aceasta ocupnd o unitate de spaiu), criteriul numindu-se al costurilor uniforme. Exist i criteriul costurilor logaritmice, n care orice informaie de lungime i, se prelucreaz (respectiv, se memoreaz) n numrul de uniti de timp (uniti de spaiu) egal cu log(i) + 1 (dac i = 0, se convine s lum log(i) = 0; n noteaz partea ntreag inferioar a numrului n). Intuitiv, timpul

luat de execuia unui algoritm Alg este dat de numrul de instruciuni (pai/operaii elementare) efectuate (s-l notm cu tAlg), iar spaiul (notat cu sAlg) este dat de numrul de locaii (elementare) de memorie (intern, a calculatorului) ocupate n cursul execuiei. Sigur c totul se raporteaz la lungimea nF a fiecrei intrri F IN i ne intereseaz de fapt sup{tAlg(F) | F IN i nF = n N}, margine superioar pe care o vom nota cu tAlg(n) (respectiv sAlg(n)). Aceast abordare (n care se caut cazul cel mai nefavorabil), ne permite s fim siguri c pentru fiecare intrare de lungime n, timpul de execuie al lui Alg nu va depi tAlg(n). Cum determinarea acelui supremum este de multe ori destul de dificil, ne vom mulumi s studiem aa-numita comportare asimptotic (sau ordinul de cretere) a (al) lui tAlg(n), adic ne vor interesa doar anumite margini ale sale, cum ar fi marginea sa superioar. Formal, pentru fiecare f : N N, notm

O(f) = {g | g : N N, exist c R, c > 0 i exist k N, astfel nct pentru fiecaren k avem g(n) cf(n)} i vom spune c fiecare g O(f), este de ordinul lui f, ceea ce se mai noteaz i cu g = O(f). Astfel, exist probleme care au complexitatea (timp, asimptotic)

O(2n), sau, pe scurt, complexitate exponenial, deoarece exist (mcar) un algoritm Alg carerezolv problema i pentru care tAlg(n) = O(2n). Similar, vom vorbi de algoritmi polinomiali (tAlg(n) = O(p(n)), unde p(n) desemneaz un polinom n n, de orice grad), sau de algoritmi liniari (p(n) de mai sus este un polinom de gradul I). Pentru detalii pot fi consultate , , , , , (vom reveni i noi prin cteva exemple n ultima seciune a acestui capitol). Dup cum am mai precizat, pentru c noiunea de algoritm este dat printr-o descriere i nu prin utilizarea genului proxim i a diferenei specifice (n sensul logicii aristotelice clasice, ca subdisciplin a Filozofiei), avem mai nti nevoie de metode de reprezentare a algoritmilor. O prim form de reprezentare este desigur limbajul natural. O

5

alt form de reprezentare a algoritmilor este limbajul pseudocod. Limbajul pseudocod, fa de limbajul natural, este o form de reprezentare mai exact, permindu-se n plus orice nivel de detaliere. Nu exist un limbaj pseudocod standard care s permit reprezentarea convenabil a tuturor algoritmilor, forma unui asemenea limbaj putnd fi influenat chiar de limbajul de programare n care urmeaz a fi implementat algoritmul. Anumite instruciuni i structuri de informaie (, ), nu lipsesc de obicei din nici un limbaj: O mulime de operaii elementare: atribuirea unei valori pentru o variabil intern; citirea unei valori pentru o variabil (aceasta fiind tot o atribuire, de un tip mai special); scrierea valorii curente a unei variabile n exterior. O mulime de structuri de control: structura secvenial; structura alternativ; structurile de tip repetitiv. Clase de structuri de date: numere, iruri de caractere, tablouri, arbori, liste etc. Un posibil limbaj pseudocod poate fi generat atunci pornind cu instruciunile elementare: var := expresie (operaia de atribuire a valorii expresiei din dreapta semnului :=, variabilei din stnga semnului :=; evaluarea unei expresii, indiferent de tipul acesteia este o operaie de un nivel inferior celui elementar i nu va fi luat n discuie); citete var (operaia de introducere din exterior a unei valori i atribuirea acesteia variabilei var); scrie var (operaia de afiare n exterior a valorii curente a variabilei). Un bloc (Bloc, Bloc1, Bloc2 de mai jos) de operaii va fi format dintr-o operaie elementar de tipul celor enumerate mai sus, sau dintr-o secven (succesiune) de blocuri (intuitiv, acestea se vor executa n ordinea textual n care apar). Acum putem spune c o structur de control alternativ poate avea una dintre formele: a) forma incomplet; Dac (condiie) atunci Bloc Sfdac sau b) forma complet Dac (condiie) atunci Bloc1 altfel Bloc2 Sfdac

6

O structur de control repetitiv va fi: a) cu test la intrarea n ciclu Cttimp (condiie) execut Bloc Sfcttimp sau b) cu test la ieirea din ciclu Repet Bloc Pncnd (condiie) Grafic: pentru reprezentarea unei operaii de atribuire se va folosi

Figura 1 pentru reprezentarea unei operaii de citire se va folosi

-

Figura 2 pentru reprezentarea unei operaii de scriere se va folosi

-

Figura 3

7

-

pentru reprezentarea unei structuri secveniale se va folosi

Figura 4 - pentru reprezentarea unei structuri de control alternative incomplete se va folosi

Figura 5 - unei structuri de control alternative complete se va folosi

Figura 6 pentru reprezentarea unei structuri de control repetitive cu test la intrarea n ciclu se va folosi

8

Figura 7 pentru reprezentarea unei structuri repetitive cu test la ieirea din ciclu avem

Figura 8 . Se observ c orice operaie sau structur reprezentat mai sus poate fi asimilat cu un bloc care are o singur intrare i o singur ieire. Prin urmare, chiar un algoritm, la nivelul cel mai redus de detaliu poate fi privit ca un bloc unic (schem logic):

Figura 9

9

n 1966 () s-a demonstrat c orice algoritm (imperativ) poate fi reprezentat folosind numai structurile de control: secvenial, alternativ i repetitiv. Rezultatul obinut a condus n acel moment la apariia unor noi viziuni de proiectare a algoritmilor, cum ar fi proiectarea modular i structurat. Din acelai motiv vom folosi pe parcursul lucrrii, n caz c anumite confuzii pot fi evitate, i alte instruciuni cunoscute sau limbaje pseudocod apropiate pn la identificare de limbajele de programare comerciale. Fr a intra n detalii, urmtoarea schem calculeaz cel mai mare divizor comun a dou numere nenule (presupuse a fi naturale n mod implicit):

Figura 10. Se observ c n orice algoritm rezultatul final este condiionat de datele iniiale i, mai mult, c succesiunea n care se execut operaiile elementare depinde de datele de intrare i de rezultatele intermediare obinute n urma execuiilor anterioare. Datele iniiale, rezultatele intermediare i deciziile luate n structurile de control alternative i repetitive determin astfel o traiectorie (, ) a execuiei operaiilor (prelucrrilor), aceasta putnd fi reprezentat printr-un graf orientat (digraf).

10

Pentru algoritmul anterior vom avea:

Figura 10.a. Prin urmare, orice traiectorie de prelucrri induce n digraful asociat algoritmului, un drum de la nodul iniial (etichetat cu 1) asociat primei operaii din algoritm (Start-nceput), la nodul final (etichetat cu 8) asociat ultimei operaii din algoritm (Stop-Sfrit). 1.2. Metode de elaborare (proiectare) a algoritmilor Elaborarea unui (nou) algoritm pentru rezolvarea unei (clase de) probleme a constituit mult timp o form de manifestare a inteligenei, o exprimare a capacitii de sintez i analiz, a bagajului de cunotine i experien ale celui care l elabora punndu-se n eviden caracterul de creativitate, de art chiar a acestei activiti. Reuitei standardizrii reprezentrii algoritmilor i s-a alturat dorina de standardizare a elaborrii algoritmilor. Cu toate succesele obinute n acest sens, activitatea de elaborare a algoritmilor beneficiaz nc de o doz substanial de libertate de exprimare a experienei i creativitii. Primele metode de elaborare a algoritmilor au avut perioade mai lungi sau mai scurte de priz la mase, dar o analiz atent a eficienei (complexitii) algoritmilor elaborai au etalat avantaje i neajunsuri, care au condus la o ierarhizare a acestor metode. n cele ce urmeaz, vom prezenta succint cele mai utilizate metode de elaborare a algoritmilor. Pentru alte detalii se pot consulta . 1.2.1. Metoda divide et impera Metoda mparte i stpnete, a fost sugerat de ideea fireasc de rezolvare a unei probleme complexe prin divizarea acesteia n dou sau mai multe subprobleme de acelai tip cu cea iniial, mai simple, prin rezolvarea crora (folosind soluiile deja obinute), se permite obinerea soluiei problemei iniiale. Aceast divizare poate fi aplicat succesiv noilor

11

subprobleme, pn la nivelul de detaliu la care obinerea soluiilor subproblemelor este facil. n mod natural totul se finalizeaz cu reconstituirea de jos n sus a soluiilor pariale. O reprezentare grafic sugestiv a metodei este prezentat mai jos:

Figura 11 Problem. S considerm n 1 elemente a1, a2, ... an i un subir al acestuia ap, ap+1, ... aq, cu 1 p < q n asupra cruia avem de efectuat o prelucrare oarecare (procedura Prelucrare). Soluie. Metoda divide et impera de rezolvare a acestei probleme presupune mprirea irului determinat de capetele acestuia (procedura Divide), (p,q), n dou subiruri (p,m) i (m+1,q), p m < q sau (p,m-1) i (m,q), p < m q, asupra crora s se poat efectua mai uor prelucrarea. Prin prelucrarea celor dou subiruri se vor obine rezultatele i care combinate (procedura ObinSoluieFinal) vor conduce la soluia a problemei iniiale. mprirea n subiruri poate continua pn la gradul de detaliu care permite obinerea imediat a soluiei prelucrrii unui subir. Metoda este ilustrat de procedura de mai jos. Parametrii procedurii DivideEtImpera au urmatoarea semnificaie: p - primul parametru, care reprezint indexul primului element al irului; q - al doilea parametru, care reprezint indexul ultimului element al irului; d - numrul de elemente din ir pentru problema cea mai simpl (elementar, pn la care se face divizarea). Procedura DivideEtImpera (p,q,) Dac (q-p = k) atunci q := m altfel p := m+1 Sfdac Reluare procedura DivideEtImpera pentru noul subir Sfdac Sfrit Observaie. Merit a fi evideniate procedurile care reliefeaz metoda divide et impera n acest caz: procedura Prelucrare este reprezentat de urmtorul cod: Dac (nSir[p] = k) atunci nIndex = p altfel nIndex = -1 // Nu exista soluie Sfdac procedura Divide, prin: m := (p + q) / 2 procedura ObinSoluieFinal, prin: Valoarea lui nIndex. // Am obinut soluia problemei elementare. // Am obinut soluia problemei elementare.

14

1.2.2. Metoda backtracking Backtracking-ul constituie una dintre metodele cele mai des folosite pentru cutarea soluiei optime pentru o problem atunci cnd mulimea soluiilor posibile este cunoscut sau poate fi generat. O verificare necontrolat printr-o parcurgere dup o metod oarecare a mulimii soluiilor posibile este costisitoare ca timp de execuie. Ordinul de complexitate al unui astfel de algoritm este exponenial. Se impune astfel a se evita generarea i verificarea tuturor soluiilor posibile. Problem. Se consider n 2 mulimi nevide i finite A1, A2, ... An i m1, m2, ... mn cardinalele acestor mulimi. Considerm o funcie f: A1 x A2 x ...x An R. O soluie a problemei este un n-uplu de forma x = (x1, x2, ... xn) A1 x A2 x ...x An care optimizeaz (conform unor criterii specificate) funcia f. Soluie. Mulimea finit A = A1 x A2 x ...x An se numete spaiul soluiilor posibile ale problemei. Condiia de optim pe care trebuie s o ndeplineasc o soluie este exprimat printr-un set de relaii ntre componentele vectorului x, relaii exprimate prin forma funciei f. O soluie posibil, care optimizeaz funcia f, adic satisface condiiile interne ale problemei se numete soluie rezultat, sau mai simplu, soluie a problemei. Construirea unei soluii const n determinarea componentelor vectorului x. Construirea primei soluii ncepe ntotdeauna cu construirea primului element al vectorului x (normal!). La un moment dat se va alege un element dintr-o mulime, pe care convenim s o numim mulimea curent i, presupunnd c elementele fiecrei mulimi Ai (1 i n) sunt ordonate, elementul care se adaug la vectorul x l vom numi elementul curent. Urmtorul algoritm (prezentat n limbaj natural) descrie metoda backtracking la nivel conceptual: Pas1. Considerm prima mulime, A1, ca fiind mulime curent. Pas2. Trecem la urmtorul element din mulimea curent (cnd o mulime devine mulime curent pentru prima dat sau prin trecerea de la o mulime anterioar ei, acesta va fi primul element din acea mulime). Pas3. Verificm dac un asemenea element exist (adic nu s-au epuizat elementele mulimii curente). a. Dac nu exist un asemenea element, atunci mulime curent devine mulimea anterioar celei curente; cnd o asemenea mulime nu exist, algoritmul se oprete (nu se mai pot obine soluii); b. Dac exist, atunci verificm dac elementul curent din mulimea curent, mpreun cu componentele vectorului x determinate anterior,

15

pot conduce la o soluie (aceast verificare stabilete dac sunt ndeplinite condiiile de continuare a construirii soluiei optime): i. Dac Pas2; ii. altfel se continu cu Pas3. Etapele n detaliu ale acestui algoritm pot fi urmtoarele: B1. Definesc mulimile Ai , i=1,2,...,n. Fiecare mulime are mi elemente, i=1,2,...,n, iar modul de memorare al acestor mulimi l alegem ca fiind coloanele matricii A[m.n] (coloana i din aceast matrice reprezint mulimea Ai, iar m este cel mai mare numr dintre m1, m2, ... , mn). B2. Completez cu informaiile necesare lips matricea A. B3. Memorez numrul maxim de elemente pentru fiecare mulime Ai, i=1,2,...,n n vectorul nr_elemente (de exemplu nr_elemente[2] va conine valoarea lui m2). B4. Definesc vectorul soluie x[n] (n reprezint aici numrul maxim de elemente pentru x). B5. Completez elementele lui x cu o valoare care nu este n Ai (am notat n cazul de fa cu nimic aceast valoare - vezi i semnificaia lui null, nil din limbajele de programare). B6. Definesc vectorul indecilor, notat index (de exemplu index[1] va pstra indexul elementului selectat din mulimea A1 i care se gsete n vectorul soluie), pentru fiecare mulime i l iniializez cu 1 (o valoare care nu poate reprezenta un index corect, deci nimic n acest caz nu poate reprezenta elementul -1). B7. ncepem procesul de construcie al soluiei (variabila i pstreaz indexul mulimii curente i ia valori de la 1 la n) (?????-mai de verificat aici): B7.1. i = 1; // lum prima mulime, A1, adic A[.,1] index[i] = 1; // puncteaz la primul element din A[index[i],i] x[i] = A[index[i],i]; //punem primul element n soluie B7.2. Cttimp (mai am mulimi de selectat) execut { // atta timp ct mai exist elemente n A[.,i] Cttimp (index[i] 2, arat c un termen se obine ca suma ultimilor doi termeni anteriori lui. Vom folosi metoda napoi plecnd de la starea iniial u = 1, v = 1 (primii doi termeni), care reprezint i starea din care se deduce soluia problemei pentru k = 1. Decizia de trecere la o nou stare determin urmtoarele prelucrri: - aplicarea relaiei de recuren (calculul sumei s = u + v), care respect principiul optimalitii; - obinerea noii stri prin atribuirea valorilor u = v i v = s. Se obine starea u = 1, v = 2.

25

Aceasta este starea nou obinut (succesoare). Sunt respectate caracteristicile problemelor care sunt rezolvabile prin metoda programrii dinamice: - soluia unei probleme este obinut din soluia problemei rezolvate anterior (se determin termenul de rang k din termenii de rang k-1 i k-2); - este satisfcut principiul optimalitii (o soluie optim pentru problema anterioar conduce la soluia optim a problemei curente).

1.3. Analiza complexitii i corectitudinii algoritmilorEste evident c pentru rezolvarea unei probleme, dac aceeai metod de proiectare este folosit de ctre mai multe persoane, algoritmii realizai pot s difere. Cu att mai mult acest lucru este posibil atunci cnd metodele sunt diferite. Aa cum am mai precizat, vom trata analiza complexitii timp/spaiu prin cteva exemple concrete. S punctm i faptul c spaiul de memorie real utilizat de un program care implementeaz un algoritm este format i dintr-o parte constant, independent de datele de intrare (n care se afl memorat de exemplu codul executabil), a crui dimensiune este de obicei ignorat. De asemenea, timpul necesar introducerii valorilor de intrare i extragerii rezultatului este ignorat. Vom ncepe cu un exemplu didactic. Deoarece pseudocodul folosit va fi foarte apropiat de Pascal, consideraiile de complexitate pot fi destul de la obiect. Problem. S se calculeze suma primelor n numere naturale. Rezolvare. Primul algoritm propus se bazeaz pe ideea de a construi o funcie care s calculeze succesiv sumele 0, 0 + 1, 0 + 1 + 2, ... funcie care va ntoarce n final valoarea sumei 1 + 2 + 3 + ...+ n: function suma(n : byte):word; var i : byte; s : word; begin s := 0; i := 1;

26

while (i 2,ideea fiind aceea c un algoritm din O(1) este mai bun dect unui din O(log n) etc. Reprezentarea grafic a funciilor care determin ordinul de complexitate prezentat n figura de mai jos este edificatoare. ntr-o evaluare care poate fi de exemplu gsit n sau , dac tAlg(f(n)) = O(2n), pentru n = 40, unui calculator care face 1 bilion (109) de operaii pe secund, i sunt necesare aproximativ 18 minute. Pentru n = 50, acelai program va rula 13

27

zile pe acest calculator, pentru n = 60, vor fi necesari peste 310 ani, iar pentru n = 100 aproximativ 4.1013 ani.

Figura 12. Algoritmii polinomiali de grad mare nu pot fi utilizai n practic, chiar dac viteza de execuie a calculatoarelor moderne poate ntrece adesea cele mai optimiste previziuni. Astfel, pentru O(n10), pe un calculator care execut 1 bilion de operaii pe secund sunt necesare 10 secunde pentru n = 10, aproximativ 3 ani pentru n = 100 i circa 3.1013 ani pentru n = 1000. i urmtorul tabel poate fi util ():

O(n)(liniar) 1 2 4 8 16 32

O(log(n))(logaritmic) 0 1 2 3 4 5

O(n.log(n))(log-liniar) 0 2 8 24 64 160

O(n2)(ptratic) 1 4 16 64 256 1024

O(2n)(exponenial) 2 4 16 256 65536 4294967296

O(n!)(factorial) 1 2 24 40326 20922789888000 26313.1033

Evaluarea complexitii unui algoritm ca o funcie de dimensiunea datelor de intrare este o problem dificil, ea necesitnd anumite cunotine de matematic superioar chiar dac se rezum de cele mai multe ori doar la analiza cazurilor extreme. Dei n cazul cel mai defavorabil numeroi algoritmi nu ar putea fi practic utilizai, acetia au totui o comportare acceptabil n suficiente cazuri reale. O alt posibilitate este analizarea complexitii medii a

28

algoritmilor, ceea ce presupune cunoaterea repartiiei probabilistice () a datelor de intrare. n cazurile simple n care putem caracteriza datele de intrare cu precizie, dac notm cu D spaiul datelor de intrare, cu p(d) probabilitatea apariiei datei d D la intrarea algoritmului i cu t(d) numrul de operaii elementare efectuate de algoritm pentru o intrare d din D, atunci complexitatea medie este dat de suma p(d)t(d). Vom apela la dou exemple simple, tratate de I. Maxim n . Un prim exemplu va prezenta un algoritm (implementat n limbajul Pascal), a crui complexitate nu depinde dect de volumul datelor de intrare i nu de alte caracteristici atipice (se pot consulta i Capitolul 6 sau Anexa 1). Sortarea prin selecie (cu alegerea minimului). S se ordoneze cresctor elementele vectorului a cu n componente, folosind metoda alegerii elementului minim nc neselectat din irul iniial. for i := 1 to n-1 do begin min := a[i] ; poz := i; for j := i + 1 to n do if a[j] < min then begin min := a[j] ; poz := j; end; a[poz] := a[i] ; a[i] := min; end; La o iteraie a ciclului for dup variabila i se determin minimul din subirul ai+1, ..., an i elementul minim este plasat pe poziia i, elementele de la 1 la i-1 fiind deja plasate pe poziiile lor definitive. Pentru a calcula minimul dintr-un ir de k elemente sunt necesare k-1 operaii elementare (se presupune primul element din ir ca fiind cel minim, apoi se fac k-1 comparaii i eventual atribuiri pn la epuizarea elementelor irului). n total se fac (n-1) + (n-2) + ... + 2 + 1 = n (n-1)/2 comparaii, deci ordinul de complexitate timp este O(n2). S subliniem

29

faptul c timpul de execuie, n sensul situaiei cele mai defavorabile, nu depinde de ordinea iniial a elementelor vectorului. n urmtorul exemplu vom analiza complexitatea att n cazul cel mai defavorabil ct i n medie. Sortarea prin inserie direct. S se ordoneze cresctor elementele unui vector considernd n fiecare moment c se ordoneaz un subir obinut din cel anterior (deja ordonat), prin adugarea unui nou element. Algoritmul pornete de la subirul cu un singur element (care este deja ordonat) i, odat cu adugarea unui nou element pe urmtoarea poziie din ir, acesta este promovat pn cnd noul subir devine din nou ordonat. for i := 2 to n do begin j := i; while (a[j-1] > a[j] ) and ( j > 1 ) do begin k := a[j-1] ; a[j-1] := a[j]; a[j] := k; j := j-1; end; end; Analizm complexitatea asimptotic a algoritmului n funcie de n, dimensiunea vectorului a ce urmeaz a fi sortat. La fiecare iteraie a ciclului for elementele a1,a2,...,ai-1 sunt deja ordonate i trebuie s interschimbm elementele de forma a[j] cu cele de forma a[j-1] (iniial j = i) pn cnd noul ir va deveni ordonat. n cazul cel mai defavorabil, cnd fiecare element adugat la ir este mai mic dect cele adugate anterior, elementul a[i] adugat va fi deplasat pn pe prima poziie, deci ciclul while se execut de i-1 ori n cadrul fiecrei execuii a lui for. Considernd astfel drept operaie elementar compararea elementului a[j-1] cu a[j] i interschimbarea acestor elemente ct timp a[j-1] >a[j], vom avea n cazul cel mai defavorabil executate 1 + 2 + ...+ ( n-1) = algoritmului este O(n2). n (n-1)/2 operaii elementare, deci complexitatea

30

S analizm comportarea algoritmului n medie. Pentru aceasta, vom considera c orice permutare a elementelor irului are aceeai probabilitate de apariie (orice ordine iniial este egal probabil). Atunci: - probabilitatea ca valoarea ai, nou adugat la irul a1, a2, ..., ai-1 s fie plasat n final pe o poziie oarecare k, din a1, a2, ..., ai (1 k i), este aceeai adic 1/i; - numrul mediu de operaii elementare (interschimbri de elemente), pentru ca 1 elementul ai s ajung pe poziia k va fi ( i k) , adic numrul de schimbri ce se i efectueaz, nmulit cu probabilitatea ca aceste schimbri s aib loc; - numrul mediu total de operaii elementare pentru un i fixat, va fi ik 1 i 1 i (i + 1 ) i 1 i = i (i k) = i (i 2 2 ) = 2 k=1 k=1i

- pentru a sorta cele n elemente sunt necesare

i 1 1 n(n + 1 ) n(n 1 ) = ( n) = 2 2 4 i =1 2n

operaii elementare. Deci complexitatea algoritmului n medie este tot de O(n2). ncheiem acest capitol cu cteva scurte consideraii asupra altor termeni (formulri, concepte) care sunt eseniale i care ar merita poate s fie tratate independent n (sub)seciuni separate. Nu insistm deoarece cunotinele de logic matematic presupuse a le avea un licean sunt insuficiente pentru un asemenea cadru. Foarte important n practic este studiul coerent al terminrii i corectitudinii programelor (i nu numai verificarea a posteriori a acestora prin utilizarea diverselor date de test). Ideea este c trebuie s ne asigurm, dac se poate printr-o demonstraie formal, c programele concepute se termin pentru orice instan admisibil a datelor i c ele execut ceea ce vrem, nainte ca ele s fie executate (). Presupunnd astfel c informaiile de intrare admisibile sunt cele care satisfac o anumit condiie, exprimat printr-un predicat P (precondiie), rmne s artm c programul se termin pentru orice asemenea instan i c, n acest caz, informaiile de ieire satisfac un alt predicat Q (postcondiie). Nu este foarte dificil de a trata n acest mod programele care nu conin bucle, aceste construcii sintactice fiind singurele posibile generatoare de informaii necontrolabile sau de execuii infinite. Pentru a stpni ciclurile, se folosesc predicatele invariante. Un predicat invariant R asociat unei bucle, este adevrat nainte de prima execuie a acesteia i satisface n plus condiia c,

31

dac este adevrat nainte de o anumit execuie a corpului buclei, atunci va fi adevrat i dup terminarea acestei execuii. Un invariant pentru bucla exterioar din algoritmul de mai sus al sortrii prin selecie poate fi exprimat prin afirmaia: irul a1,...,ai este ordonat cresctor. Se poate consulta i sau pentru alte detalii. Exemplu (aflarea elementului minimal al unui ir de numere naturale). Aceast problem mai este ntlnit pe parcursul lucrrii, fiind rezolvat deja n alt context (de exemplu n algoritmul de sortare prin selecie amintit). Soluia de mai jos este adaptat scopului de moment, algoritmul fiind descris acum prin pseudocodul: Intrare: (a1, a2, ..., ak), k N, k > 1. Ieire : min. Metod : Pas1. min := a1 Pas2. Pentru i de la 2 la k execut Pas3. Pas4. Dac (min > ai) atunci min := ai Sfdac Sfpentru Precondiia P : vectorul de intrare (s spunem, a), are cel puin 2 componente i acestea sunt numere naturale. Postcondiia Q : numrul min conine cel mai micnumr dintre elementele vectorului de intrare. Invariantul R, al unicei bucle prezente n program : min reprezint cel mai mic element al subsecvenei a1, a2, ..., ai.

32

Terminare. n acest caz, lucrurile sunt simple datorit faptului c programul conine o unic operaie de ciclare i aceasta are un numr finit de pai, cunoscut aprioric (k 1). Corectitudine. Presupunem deci c pornim cu o secven oarecare de numere naturale, avnd cel puin dou elemente (P este satisfcut). Aplicm algoritmul. Trebuie s artm c la finalul execuiei (n acest moment bucla Pentru s-a executat pn la, inclusiv, valoarea i = k), valoarea gsit pentru varabila min satiface Q, adic min este mai mic sau egal dect orice valoare ai din vectorul iniial. Vom arta nti c R este invariant al buclei. ntr-adevr, dup execuia Pas1 (i nainte de execuia Pas2, adic nainte de prima execuie a corpului buclei Pentru), trebuie ca min s fie cel mai mic element (n sensul ordinii standard pe N) al (sub)secvenei format doar din a1, ceea ce este evident. S presupunem acum c R este satisfcut nainte de cea de-a j-a execuie a corpului buclei i s artm ca el este adevrat i dup aceast execuie. Prin urmare, tim c min conine cea mai mic valoare a secvenei a1, a2, ... , aj-1 i executm corpul buclei (Pas3 i Pas4) pentru i=j. Trebuie artat c n urma acestei execuii variabila min va conine cea mai mic valoare a secvenei a1, a2, ... , aj. Din nou, afirmaia este evident. n concluzie, dup terminarea execuiei buclei, min va conine cea mai mic valoare a secvenei a1, a2, ... , ak. Observaie. Pentru algoritmi mai complicai i care conin cicluri cu un numr necunoscut (aprioric) de pai (de tipul while), s-ar putea s fie nevoie s se utilizeze anumite trucuri tehnice, cum ar fi salvarea variabilelor de intrare n anumite variabile de lucru i considerarea unor predicate invariante mai puternice (adic, afirmaii care s implice Q , nu s coincid cu acesta). Chiar i aa, folosind cunotine elementare de logic clasic, tot trebuie s se tie ce nseamn termeni ca valoare de adevr, teorem direct, contrar, reciproc, raionament, sfer, diferen specific, modus ponens, tertium non datur, model, sistem deductiv, teorie logic etc. Din lips de spaiu indicm doar cteva referiri bibliografice: , , , . Cunoaterea unei teorii generale a structurilor de date ar fi benefic, la fel ca i lucruri despre compilatoare, programare neimperativ, sisteme de operare i medii distribuite, sisteme multimedia etc. Din nou vom apela doar la anumite referine bibliografice: , , , , , , , . Studiul exemplelor din Capitolul 6 i Anexa 1 poate fi de asemenea util.

33

Capitolul 2

n acest capitol vom trata cteva probleme globale ale nvmntului noului mileniu, cu accentul pe actualitatea din Romnia. Strategiile acceptate astzi la nivel naional pot influena ierarhiile i importana utilizrii principiilor, metodelor i obiectivelor didactice. Autorii rmn ndatorai domnului profesor I. Maxim pentru ideile de baz sugerate n construcia acestui capitol, idei expuse n cartea anterioar, comun, menionat. Titlurile seciunilor care urmeaz nu reprezint o chintesen a cursurilor cu acest nume inute sub egida Facultii de Psihologie i tiine ale Educaiei a Universitii (sau a DPPD), ci doar o reflectare a acestora n domeniul Informaticii, cu tenta personal a autorilor.

1. Teoria curriculum-ului

Credem c este necesar o participare activ a fiecrui cadru didactic n ndeplinirea obiectivelor generale ale nvmntului conform ideii c sistemul educaional romnesc trebuie s rspund prompt att la cerinele pedagogice ct i la cele implicnd transformarea societii. Una dintre cele mai importante pri ale acestui sistem este curriculum-ul colar privind coninuturile nvrii. n sensul politicii educaionale, curriculum-ul definete sistemul de procese decizionale, manageriale i de monitorizare care preced, acompaniaz i urmeaz proiectarea, elaborarea, implementarea, evaluarea i revizuirea permanent i dinamic a setului de experiene de nvare oferite de coal (, ).

1.1. Curriculum-ul naional n Informatic Curriculum-ul naional (numit i nucleu) cuprinde sistemul documentelor de tip regulator i normativ, n cadrul crora se consemneaz experienele de nvare recomandate elevilor prin coal. Conform acestei accepiuni, curriculum-ul desemneaz ansamblul experienelor de nvare pe care coala l ofer tinerilor, cu scopul de a-i asista n descoperirea i valorificarea maxim a propriilor disponibiliti i interese i, n acelai timp nseamn ceea ce ntreprind elevii n coal sub ndrumarea profesorilor n materie de nvare i dezvoltare personal. Curriculum-ul Naional reprezint ansamblul experienelor de

34

nvare prin care orice instituie colar asigur realizarea idealului educaional i a finalitilor nvmntului. Acesta impune n primul rnd fixarea cadrului de referin ca document regulator nglobnd anumii indicatori care vor asigura coerena (n termeni de procese i produse), a ntregului sistem curricular. Planul-cadru de nvmnt este un document regulator care delimiteaz ariile curriculare, obiectele de studiu i alocarea de timp minim i maxim aferente acestora, pe nivele de nvmnt. Programele colare stabilesc programele analitice, insistndu-se asupra coninutului particular (acestea fiind realizate pe clasele i disciplinele prevzute n planul-cadru). n consecin, exist Metodologii de aplicare ale acestora, reprezintnd ghiduri de implementare, reglementri suplimentare etc. O discuie mai vast asupra Manualelor alternative i asupra curriculum-umui la alegerea colii ar fi benefic dar necesit un spaiu tipografic mult prea mare. Introducerea unui Curriculum Naional a fost nsoit de o serie de concepte noi, att la nivelul documentelor regulatoare ct i la nivelul programelor, acestea fiind prezentate succint (neexhaustiv i, din motive obiective, poate nu n ultima form) n cele ce urmeaz. Trebuie s vorbim mai nti de profilul de formare al unui absolvent. Acesta ar trebui s sintetizeze principalele cunotine, capaciti i atitudini dezirabile obinute la captul parcursului colar obligatoriu, n concordan cu ateptrile societii fa de tnrul absolvent. n termeni operaionali, de la un absolvent de nvmnt obligatoriu se ateapt (, ): diverse. zilele. social imediat. profesionale. S contribuie la structurarea i ocrotirea unei viei sociale de calitate. S aplice i s-i valorifice propriile experiene de nvare, n scopul S neleag fenomenele eseniale ale naturii nconjurtoare i ale mediului S rezolve probleme, s ia decizii i s-i exprime opiniile, folosind gndirea S foloseasc n mod eficient tehnologiile relevante pentru viaa de toate critic i creativ. S comunice eficient n situaii reale. S neleag sensul apartenenei la diverse tipuri de comuniti (local, S demonstreze flexibilitate, capacitate de adaptare i de integrare n medii

naional, european, etc.).

dezvoltrii unui ansamblu personal de atitudini i al identificrii viitoarei orientri

35

S-i formeze capacitile i motivaiile proprii nvrii permanente.

Prin ciclu curricular, se exprim un concept bazat pe stadiul de dezvoltare psiho-pedagogic al elevilor i care ofer un set coerent i clar de obiective de nvare, reflectate la nivelul programelor colare. Specificitatea dominantelor curriculare ale fiecrui ciclu n parte este important att pentru proiectarea curriculum-ului, ct i pentru profesori, elevi, prini etc. Curriculum-ul nucleu i Curriculum-ul la decizia colii sunt cele dou segmente principale care concur la formarea Curriculum-ului Naional. Curriculum-ul nucleu este (general) obligatoriu pentru toate colile i toi elevii, reprezentnd segmentul prin care nvmntul public sper s asigure egalitatea anselor. Acesta reprezint unicul sistem de referin pentru examinarea extern admis n sistem i constituie baza standardelor naionale de performan i de evaluare. Curriculum-ul la decizia colii vizeaz zona opional a Curriculum-ului Naional i se concretizeaz prin: Segmentul opional al disciplinelor obligatorii. Disciplinele propriu-zis opionale. descongestionarea materiei; creterea posibilitilor de opiune pentru elevi i profesori; asigurarea parcursurilor individuale de nvare; creterea posibilitilor unitii colare n a-i determina propriul curriculum; posibilitatea utilizrii flexibile a segmentului neobligatoriu din programe n funcie de nevoile locale de educaie i formare; obligativitatea stabilirii unor standarde coerente de performan; obligativitatea formrii resurselor umane (profesori i manageri).

Avantajele acestui mod de abordare a organizrii curriculare sunt:

n continuare, putem spune c ariile curriculare reprezint grupaje de discipline, precum i de domenii i obiecte opionale, fiind neschimbate pe ntreaga durat a colii (segmentului colar). Ponderea lor pe cicluri i clase variaz n timp. n acest sens, obiectele de studiu sunt pri ale ariilor curriculare i pot fi obligatorii sau opionale. Programele colare stabilesc obiectivele i coninuturile propriu-zise ale nvrii la nivelul obiectelor de nvmnt. Acestea regleaz att procesul de predare-nvare ct i realizarea manualelor i altor materiale suport destinate procesului de predare-nvare. Programa colar ar trebui s cuprind, printre altele: modelul curricular al disciplinei; obiectivele cadru ale disciplinei; obiectivele de referin; activitile de nvare recomandate; coninuturile sugerate pentru autorii de manuale; standardele de performan pe ciclu curricular (ciclul achiziiilor

36

fundamentale, ciclul de dezvoltare, ciclul de observare/orientare). Pe baza planului-cadru gndit la nivel naional, este evident c fiecare coal i poate decide propria schem orar, n funcie de proiectul curricular pe care-l realizeaz. Se poate astfel contura personalitatea colii, ntr-o societate care-i propune s respecte i s valorizeze diversitatea, n contextul respectrii standardelor internaionale, ale unei educaii de calitate i acordrii unor anse realmente egale tuturor tinerilor. 1.2. Elaborarea ofertei curriculare

Oferta curricular general este o component a culturii curriculare naionale, o parte integrant a curriculum-ului naional. Proiectarea i elaborarea curriculum-ului nu este apanajul unei elite, un sistem educaional puternic trebuind s fie preocupat de formarea iniial i continu a unui contingent numeros i bine pregtit de cadre didactice capabile de a proiecta i elabora un curriculum. O asemenea ofert trebuie s urmreasc compatibilitatea sistemului de nvmnt (romnesc) cu alte sisteme de nvmnt performante din lume, n acelai timp cu mrirea impactului sistemului de nvmnt asupra reformei societii romneti. Oferta curricular a fiecrei uniti colare este un atu important pentru rezonana colii n microclimatul socio-economic n care s-a integrat. Pornind de la finalitile fiecrui ciclu de pregtire, oferta curricular a unei uniti colare trebuie s in cont de urmtoarele elemente: nivelul de studiu; profilurile i specializrile existente; baza didactico-material; resursele umane; preferinele prinilor i elevilor; specificul local; standardele ocupaionale; contextul socio-cultural etc. Decizia privind modul n care va fi abordat acest segment de curriculum aparine deopotriv ofertanilor (colii, adic profesori, manageri) ct i beneficiarilor (elevi, prini, reprezentani autorizai ai comunitii locale). Curriculum-ul la decizia colii poate fi astfel orientat spre: Curriculum-ul nucleu aprofundat, util n cazul claselor mai slabe. Acesta poate cuprinde numrul maxim permis de ore din plaja orar pentru o atingere integral i efectiv a obiectivelor i coninuturilor din trunchiul comun. Curriculum-ul extins, util n cazul claselor foarte bune. Acesta cuprinde de asemenea numrul maxim de ore din plaja orar, dar n scopul extinderii obiectivelor i coninuturilor din trunchiul comun;

37

-

Curriculum-ul elaborat n coal, util pentru a exploata resursele i tradiiile locale, sau pentru a ntmpina cerinele i exigenele de instruire ale elevilor (prinilor, comunitii, etc.).

Putem spune c aspectele formative i informative cuprinse n curriculum-ul la dispoziia colii vor constitui obiectul evalurii interne. Didactica pentru nvmntul gimnazial i liceal se refer, n principal, la obiectivele formative (generale) ale studiului informaticii i legturii acesteia cu alte discipline, metodele i mijloacele didactice specifice disciplinei, principiile didactice clasice aplicate n predarea informaticii, planurile de nvmnt, programele colare, manualele colare .a.m.d. Ultimele trei puncte le vom analiza chiar n capitolul de fa. 1.3. Planurile de nvmnt

Planurile cadru precizeaz disciplinele de nvmnt n succesiunea lor pe ani de studiu i tipuri de coli sau nivele. Sunt stabilite, pentru fiecare disciplin n parte, numrul de ore pe sptmn i ani de studiu, precum i numrul de ore de aplicaii practice de laborator, acolo unde este cazul. Acestea au un caracter unic i obligatoriu pentru fiecare stadiu de pregtire sau tip de coal, cuprinznd obiectele de studiu din fiecare clas (perioad de studiu). ntr-un moment de reorganizare a mecanismului de achiziii de cunoatine, conceperea unui curriculum este o ntreprindere greu de realizat innd cont de faptul c se impune renunarea la lucruri depite dar i pstrarea unor soluii viabile. La baza elaborrii planurilor cadru stau urmtoarele principii (atenie, nu este vorba despre principiile didactice, care vor fi discutate n Capitolul 3): a) Principiul seleciei culturale (alegerea domeniilor cunoaterii i gruparea lor n arii curriculare), care vizeaz armonizarea dintre particularitile personalitii elevului, aptitudinile i interesele sale personale (exprimate prin opiunea pentru o anumit filier i specializare), diversitatea domeniilor cunoaterii, sau perenitatea componentelor de baz ale personalitii i a valorilor asociate acestora, proprii unei societi democratice. b) Principiul coerenei. Acesta vizeaz caracterul omogen i echilibrat al parcursului colar, avnd n vedere integrarea vertical i orizontal a ariilor curriculare n cadrul fiecrei filiere, profil i specializare, exprimat n raporturile procentuale ntre ariile curriculare i disciplinele de studiu.

38

c) Principiul funcionalitii presupune organizarea parcursului colar pe cicluri curriculare, care s respecte caracteristicile de vrst, interesele i motivaiile elevilor. Acest principiu, coroborat cu strategiile de organizare intern a curriculum-ului, a determinat structurarea procesului de nvare pe cicluri curriculare (periodizri ale colaritii), care se suprapun peste structura sistemului de nvmnt, cu scopul de a focaliza obiectivele majore ale fiecrei etape colare i de a regla prin modificri curriculare procesul de nvmnt. Ciclurile curriculare asigur continuitatea n momentul trecerii de la o treapt de colarizare la alta prin conexiuni explicite la nivelul curriculum-ului, corelarea structurii curriculare cu vrsta psihologic, transferul de metode i procedee didactice. d) Principiul egalizrii anselor, care vizeaz oferta de oportuniti echivalente de continuare a colarizrii n condiiile unor parcursuri colare difereniate. Acest principiu solicit un raport adecvat ntre trunchiul comun i disciplinele la decizia colii. e) Principiul flexibilitii parcursurilor individuale, este concretizat prin oferta de pachete opionale, la nivel central sau local pentru fiecare arie curricular. Noul curriculum face loc opiunilor elevilor, permite o real instruire multidisciplinar, o interdisciplinaritate efectiv n abordarea coninuturilor, orientnd formarea elevilor n direcia celor patru capaciti de baz ale viitorului specialist n informatic, dintre care pot fi amintite: formarea gndirii algoritmice (capacitatea de abordare sistemic a problemelor); capacitatea de abstractizare; capacitatea de comunicare imediat i eficient; capacitatea de exploatare a facilitilor oferite de tehnologiile informaionale moderne. Descentralizarea curricular ncurajeaz parcursurile individuale de nvare i spulber mitul obligativitii i uniformitii parcurgerii coninuturilor, oferind cadrelor didactice o flexibilitate de decizie i aciune. n acest sens, organizarea planului de nvmnt pentru gimnaziu ca un plan cadru, cu arii curriculare coninnd un trunchi comun (discipline i ore comune pentru toi elevii) i un curriculum la dispoziia colii (cu parcursuri difereniate n funcie de resursele unitii colare), au plasat cumva disciplinele de informatic ntr-o postur mai marginalizat. 1.4. Programele colare (analitice, curriculare)

39

Programele colare au trecut printr-un proces complex de elaborare i revizuire n viziune curricular, presupunnd o reproiectare interactiv a obiectivelor, coninuturilor, activitilor de nvare i a principiilor i metodelor de evaluare. Programele colare (analitice) stabilesc coninutul disciplinelor (de informatic), pentru fiecare an de studiu i materie, pe nivele, filiere, profiluri i specializri, precum i pe forme de nvmnt. Acestea precizeaz ce cunotine, priceperi, deprinderi trebuie s-i nsueasc elevii n anul de studiu respectiv i care este succesiunea n care trebuiesc dobndite acestea. Programele sunt elaborate de ctre Comisia de specialitate a MECT, sub coordonarea Consiliului Naional pentru Curriculum (CNC), din care fac parte cadre didactice cu experien din nvmntul universitar, profesori de liceu cu rezultate deosebite n activitatea de la catedr, inspectori colari din inspectoratele judeene i ai MECT, psihopedagogi i cercettori din Institutul de tiine ale Educaiei (ISE). Realizate n concordan cu noile planuri cadru, urmrind o descongestionare raional a coninuturilor, actualele programe colare reprezint o adevrat revoluie didactic n ceea ce privete conceptele de formare a competenelor de nivel superior, de nvare n clas, de studiu n grup, de nvare asistat de calculator, de autodocumentare etc. O program colar adecvat este rezultatul unui exerciiu colectiv, desfurat sub semnul unui profesionalism specific, dar nu exclude inovaia curricular local, la nivelul individului sau colectivului didactic. Este imperios necesar parcurgerea urmtoarelor etape: elaborarea individual (propuneri de program), care se face de ctre colectivele de catedr ale unitilor de nvmnt sau de ctre cadrele didactice, individual; analiza propunerilor i elaborarea colectiv; aceasta presupune stabilirea formei finale a unei propuneri de program de ctre echipe de lucru, stabilite, de regul, de ctre Comisia de specialitate a MECT; prezentarea i argumentarea n faa Comisiei de specialitate a MECT a formei stabilite de ctre echipele de lucru. Dup o perioad de cteva sptmni, rgaz n care fiecare membru analizeaz programa rezervat subcomisiei din care face parte, aceasta este rediscutat i i se aplic modificrile necesare. Programele astfel finalizate sunt supuse aprobrii CNC. Elaborarea programelor colare trebuie s ndeplineasc anumite cerine de ordin tiinific, psihologic, didactic i metodic. Programa colar pentru un obiect de studiu trebuie s conin mcar: O not informativ cu privire la scopurile i obiectivele predrii, indicaii relative la ordonarea materiei i repartizarea orelor pe capitole, subcapitole, teme .a.m.d.

40

ndrumri cu privire la folosirea manualelor, materialului bibliografic etc. Materia de predat, detaliat i prezentat n succesiunea abordrii ei, numrul Modaliti de folosire a manualelor i a materialului documentar

de ore afectat lucrrilor scrise, recapitulrilor, evalurii, ore la dispoziia profesorului .a.m.d. complementar (culegeri de probleme, documentaii de firm, manuale de utilizare .a.m.d.). Programa actual nu prevede un numr fix de ore pentru fiecare tem n parte aceasta fiind lsat la aprecierea profesorului, n funcie de particularitile claselor i de condiiile specifice de predare. Preocuprile privind elaborarea programelor colare pentru disciplinele de Informatic sunt ndreptate spre mbuntirea programelor n sensul punerii de acord a coninuturilor cu cerinele sociale. Astfel, se dorete s se realizeze o pregtire a elevilor n direcia satisfacerii cerinelor necesare integrrii rapide a absolvenilor n activitatea economic. Dinamica coninuturilor este o cerin esenial pentru programa colar a disciplinelor de informatic, necesar meninerii pasului cu progresele realizate n domeniu. Trebuie s remarcm i faptul c exist o tendin (cu efecte nu tocmai benefice dup opinia noastr) de realizare a unei programe la un nivel tiinific foarte ridicat. Nu trebuie scpat din vedere nici un moment faptul c o program colar, conceput i aprobat, este obligatorie pentru toi elevii, iar acetia nu sunt toi foarte dotai i motivai. Elaborarea curriculum-ului este ns un proces continuu, care marcheaz perioade de schimbri profunde, dar care intete ndelungi perioade de stabilitate. Noul curriculum i propune s realizeze stabilitatea printrun echilibru ntre componenta naional (care vizeaz trunchiul comun) i componenta local (care vizeaz oferta curricular a colii). Elaborarea curriculum-ului local devine astfel o component esenial a activitii didactice, o rezultant a eforturilor reunite a conducerii colii, cadrelor didactice, elevilor, prinilor precum i a altor parteneri sociali viabili.

2. Teoria instruiriiVom ncepe aceast seciune cu o luare de atitudine asupra unei probleme suficient de controversate. 2.1. Manualele colare

Crearea pieei libere a manualelor colare i trecerea de la manualul unic la cel alternativ a nsemnat un pas nainte prin nlturarea unei politici de monopol. Dezideratul

41

realizrii a (cel puin) trei manuale alternative la fiecare disciplin este o intenie de a atinge un standard minim de diversitate i calitate. Manualul colar reprezint mijlocul didactic de baz folosit n procesul de nvmnt, este profesorul la purttor al elevului i principalul material bibliografic al acestuia (dei n Informatic lucrurile nu stau ntotdeauna tocmai aa). Manualul exemplific (printre altele) detaliat coninutul programelor colare, funcia lui principal fiind desigur aceea de informare a elevului, mijlocul su principal de documentare. Autorii de manuale trebuie s in seama c acesta ar trebui nu numai s-l ajute pe elev s nvee (Informatic), ci i s-l obinuiasc cu munca/studiul individual. Manualul trebuie s ndrume elevul spre o gndire independent i s-l determine la continuarea efortului creator. Trebuie n acelai timp s nu-l inhibe, sau s-l orienteze (voit sau nu) n anumite direcii. Desigur c o mare parte dintre funciile manualului pot fi preluate n nvmntul de Informatic de ctre calculator. Acesta poate fi privit i ca manual i ca profesor, exercitndui att funcia de comunicare de cunotine ct i cea de verificare, dar nu nc n mod exhaustiv i pe aceea de evaluare permanent a gradului (relativ) de acumulare a cunotinelor. Dac discutm despre documentaiile de firm, opinm c acestea nu se ridic (i nici nu trebuie) la nivelul didactic al manualelor colare, rolul lor fiind pur informativ i destinat nu neaprat specialitilor sau viitorilor cunosctori. Tehnicile de nvare i evaluare a nivelului atins, corectarea deprinderilor i completarea cunotinelor (simultan cu descoperirea lipsurilor), nu le poate realiza dect profesorul. Manualul are nc un rol deosebit i anume acela de msur a gradului de profunzime n abordarea noiunilor, precum i a domeniului ca atare. El ne poate indica pn la ce grad de complexitate i de detaliu trebuie ntreprins demersul didactic. Apariia manualelor alternative scoate n eviden, odat n plus, diversitatea punctelor de vedere n aceast privin. Rolul manualului ca mijloc de comunicare de cunotine se diminueaz continuu n nvmntul modern, locul lui fiind luat de alte mijloace didactice, mai eficiente, mai atractive: mijloacele audiovizuale specifice Informaticii, calculatoarele cu echipamente periferice speciale, sisteme multi-media, utilizarea unor suporturi de mare capacitate i cu posibiliti rapide de acces i de (re)gsire a informaiei (casete audio-video, CD-uri, DVD-uri, teletextul, INTERNET-ul, telefonia mobil etc.). Credem c profesorul i manualul, ca surse didactice consacrate, nu pot fi dect parial nlocuite. Toate mijloacele anterior enumerate sunt doar auxiliari mai mult sau mai puin eficieni, n funcie de domeniul i disciplina abordat. Transformrile societii romneti din ultimii ani, dezvoltarea i rspndirea Informaticii, impun o pregtire diversificat a tinerilor n acest domeniu. Disciplina Informatic, din cadrul profilului Matematic-Informatic trebuie astfel s asigure dobndirea unor cunotine de informatic la nivel de cultur

42

general, necesare continurii studiului i a unor cunotine cu caracter aplicativ utile n societatea n care vor tri. n cadrul acestui profil sunt n general prevzute (la disciplina Tehnologia Informaiei, din cadrul trunchiului comun), 2, 3, 4, respectiv 4 ore (n clasele a IX-a, a X-a, a XI-a, respectiv a XII-a). Pornind de la faptul c nu exist domeniu de activitate unde s nu se prelucreze i s nu se transmit informaii att n cadrul domeniului respectiv ct i spre exteriorul lui, informaia este foarte preioas, ea trebuie stocat, prelucrat i transmis n condiii care s asigure corectitudine i exactitate, adic la un nivel profesional. Indiferent de profesia pe care o va alege un tnr, cu siguran va avea nevoie de cunoaterea modului de utilizare a unui instrumentar informatic. Volumul cunotinelor i deprinderilor necesare va depinde desigur de domeniu, de exigenele i cerinele concrete. Este ns o nevoie stringent de iniierea tinerilor din toate colile n utilizarea calculatoarelor la un nivel profesional, pe care l numim azi, doar, nivel de cultur general. Dezvoltarea gndirii algoritmice este un prim obiectiv la realizarea cruia Informatica contribuie esenial i eficient. Asemenea Matematicii, Informatica dezvolt gndirea (raionamentul) care n coal, dar i n viaa de zi cu zi, are un rol esenial n procesul de nvare, n formarea caracterului i a personalitii. Aceasta nu se leag doar de cunotinele de programare, ci i (aa cum am menionat deja) de cunotinele referitoare la gestionarea bazelor de date, la utilizarea editoarelor de texte etc. Informatica, prin specificul ei, este esenial legat de lucrul individual cu un calculator i contribuie la dezvoltarea deprinderii de a lucra individual. Pe de alt parte, prin intermediul reelelor de calculatoare este posibil un schimb de informaii mult mai eficient dect prin orice alt metod clasic. Educarea elevilor n spiritul unei activiti desfurate n grup, n colaborare, se finalizeaz prin predarea Informaticii orientat pe proiecte. Realizarea unor aplicaii complexe impune lucrul n grup, modularizarea programului i pstrarea contactelor cu ceilali membri ai grupului. n coal se pot crea condiii similare lucrului din viaa real unde activitile nu se desfoar izolat. Aplicaiile, proiectele, dar i producia propriu-zis sunt ntreptrunse cu o serie de faze de lucru n care calculatorul este un instrument de nenlocuit. Obinuirea elevilor cu responsabiliti privind finalizarea propriei munci i asigurarea nlnuirii unor elemente realizate n paralel, i va pregti pentru o activitate pe care cu siguran o vor ntlni n viitor. Educarea elevilor pentru realizarea unor produse utilizabile, dezvoltarea spiritului inventiv i creator, apare ca un obiectiv impus de sistemul economic n care trim. Indiferent de coninutul aplicaiei, ceea ce realizeaz elevul, trebuie s funcioneze, trebuie s fie utilizabil. Altfel spus, trebuie s aib toate calitile unui produs comercial. Datorit implicaiei pe care Informatica o are azi n toate profesiunile, rezult caracterul ei

43

interdisciplinar. Informatica nu poate fi privit numai ca o disciplin independent i nu poate fi inut ntre bariere create artificial. n diverse domenii de activitate, rezolvarea problemelor concrete impune foarte des o faz de modelare. Informatica este printre puinele discipline care ofer instrumentar adecvat pentru nvarea modelrii. De asemenea, Informatica pune la dispoziie cele mai spectaculoase posibiliti de simulare virtual care este o parte a modelrii (neclasic i necostisitoare). Elevii trebuie s neleag conexiunile dintre Informatic i societate i s fie capabili s se adapteze dinamicii schimbrilor determinate de aceste conexiuni. Prezentm n continuare o comparaie ntre caracteristicile curriculum-ului anterior i cele ale curriculum-ului actual. Curriculum-ul anterior: A fost centrat pe coninuturi. Formularea obiectivelor viza n mod direct atestarea profesional a absolventului. Coninuturile nvrii erau aceleai pentru toi elevii. Absena cooperrii ntre elevi n realizarea unei aplicaii era o regul. Existau coninuturi didactice fixe, neadaptabile la resursele locale. Centrarea pe raionalizarea activitilor de nvare, n funcie de obiectivele cadru i de obiectivele de referin. Formularea obiectivelor este realizat n termeni de competene i de capaciti individuale. Curriculum-ul la decizia colii ofer o palet larg de activiti prin care elevul i poate acoperi sfera proprie de interese. Se permite ncurajarea cooperrii ntre elevi prin activiti de grup cu asumarea de roluri individuale pentru realizarea unei aplicaii. Coninuturile sunt adaptabile la resursele locale.

Curriculum-ul actual permite:

n cele de mai jos prezentm doar o parte (nu neaprat actualizat) a ceea ce exist i a ceea ce se dorete a se ntmpla n anii urmtori. Pentru informaii suplimentare i puneri la zi se pot consulta adresele: http://cnc.ise.ro, http://www.edu.ro/pinf.html, http://www.coe.int/, http://www.edu.ro/ptehinf.html, http://www.edu.ro/download/strategiepreuniv.pdf,

44

Organizarea pe ani de studiu a disciplinei Informatic: An de studiu Trunchiul comun 1 or curs Algoritmi elemente limbaje programare Curriculum la decizia colii

Clasa a IX-a

(Propuneri) 1 or laborator 2 ore laborator i Sisteme de operare Programare avansat de i aplicaii de Limbaj de programare concret Limbaj de asamblare concret Tehnoredactare (Word, Latex) Foi de calcul HTML Grafic pe calculator Sisteme de operare Aplicaii multimedia Programare avansat Limbaj de programare concret Limbaj de asamblare concret Tehnoredactare (Word, Latex) Foi de calcul HTML Grafic pe calculator Sisteme de operare Aplicaii multimedia Programare orientat pe obiecte Programare avansat Limbaj de asamblare Tehnoredactare Foi de calcul HTML Grafic pe calculator Sisteme de operare Aplicaii multimedia Programare orientat pe obiecte Teoria grafurilor de programare

Clasa a X-a

Metode i tehnici Programare de programare modular Recursivitate Metoda Backtracking

Clasa a XI-a

Teoria grafurilor

Alocare dinamic Aplicaii cu grafuri i arbori

elementare Limbaj de programare

45

Reele de calculatoare Programare pe INTERNET Clasa a XII-a Baze de date Proiectarea ntreinerea de date Aplicaii de proiectare i Programare avansat bazelor Limbaj de programare Limbaj de asamblare Tehnoredactare Foi de calcul HTML Grafic pe calculator Sisteme de operare Aplicaii multimedia Programare pe obiecte Teoria grafurilor Reele de calculatoare Programare pe Internet Aplicaii de proiectare Baze de date Criptografie Analiz numeric Metodologia de aplicare a programei pentru disciplina Informatic trebuie s in cont de faptul c studiul Informaticii la profilul Matematic-Informatic are att un caracter teoretic ct i practic fiind organizat dup cum urmeaz: n trunchiul comun, din totalul de (dou) ore aprobate, o or cu caracter teoretic se poate desfura n clas sau laborator cu ntreg colectivul clasei, iar cea de a doua or cu caracter practic se va desfura n laboratoarele de informatic, pe grupe de 10-15 elevi, fiecare grup fiind asistat de un profesor; n curriculum-ul la decizia colii cele dou ore se vor organiza n laborator pe grupe de 10-15 elevi fiecare grup fiind asistat de unul sau doi profesori n funcie de specificul modulului ales (de exemplu, modulul de Grafic pe calculator poate fi predat de o echip format dintr-un profesor de desen i unul de specialitate).

46

Profilul Matematic-Informatic poate funciona n licee care dispun de minim un laborator de Informatic dotat corespunztor. Numrul de laboratoare trebuie s asigure acoperirea orelor de laborator solicitate att de trunchiul comun ct i de curriculum-ul la decizia colii. Programa pentru disciplina Informatic, profilul Matematic-Informatic, este orientat pe obiective, profesorul avnd posibilitatea de a alege activitile specifice atingerii acestora. Coninutul nvrii pentru curriculum-ul obligatoriu este conceput astfel nct s asigure un bagaj minim de cunotine i deprinderi din domeniul informaticii n timp ce curriculum-ul la decizia colii poate oferi module derivate din materia studiat, teme care nu sunt incluse n programa de trunchi comun sau teme integratoare pentru arii curriculare cu aplicabilitate n Informatic. Extensiile de program marcate cu * pot fi abordate n orele din trunchiul comun sau n curriculum-ul la decizia colii n funcie de nivelul elevilor i de dotarea existent. Ceea ce urmeaz sunt doar exemplificri (deduse din indicaiile MECT). OBIECTIVE CADRU (pentru modulul Informatic) 1. Dezvoltarea deprinderilor de utilizare a unui sistem de calcul i a unor produse soft de larg rspndire. 2. Dezvoltarea gndirii algoritmice, a spiritului inventiv i creator. 3. Dezvoltarea deprinderilor necesare activitilor individuale i n echip. 4. Contientizarea conexiunilor dintre Informatic i societate.

INFORMATIC Clasa a IX-a A. Obiective de referin i exemple de activiti de nvare Dezvoltarea deprinderilor de utilizare ale unui sistem de calcul i ale unor produse soft de larg rspndire Obiective de referin 1. S cunoasc componentele unui calculator i rolul lor.

47

2. S cunoasc modul de utilizare a unui calculator. 3. S defineasc noiunea de sistem de operare i funciile lui. 4. S cunoasc elementele de interfa dintre sistemul de operare i utilizator. 5. S utilizeze un program de asisten a sistemului de operare studiat (ex. Norton Commander, File Manager, Explorer, etc.) 6. S cunoasc i s foloseasc accesoriile sistemului de operare. 7. S creeze documente simple cu ajutorul unui editor de text. 8. S creeze imagini simple cu ajutorul unui editor de imagini. Exemple de activiti de nvare 1. Prezentarea structurii unui sistem de calcul. 2. Explicarea funciilor unui sistem de calcul. 3. Explorarea resurselor fizice i logice ale unui sistem de calcul. 4. Clasificarea componentelor fizice i logice n funcie de rolul lor. 5. Explicarea funcionrii diferitelor componente hard i soft. 6. Exerciii de utilizare a tastaturii i mouse-lui. 7. Utilizarea unui calculator (ca sistem independent sau n reea). 8. nvarea unor comenzi necesare deschiderii/nchiderii sesiunii de lucru. 9. Prezentarea noiunii de sistem de operare, a funciilor lui i a rolului acestuia n funcionarea calculatoarelor. 10. Prezentarea modului de organizare a datelor pe suport magnetic i a principalelor operaii asupra fiierelor i directoarelor. 11. Prezentarea elementelor de interfa dintre sistemul de operare i utilizator i folosirea Help-ului pentru autoinstruire. 12. Prezentarea facilitilor oferite de programele de asisten a sistemului de operare; 13. Exemplificarea i exersarea modului de utilizare a unui program de asisten a sistemului de operare. 14. Prezentarea accesoriilor sistemului de operare. 15. Prezentarea editorului de text ales. 16. Redactarea documentelor tip scrisoare, cerere, adeverin, curriculum vitae etc. 17. Prezentarea editorului de imagini ales. 18. Combinarea elementelor de text i a imaginilor n acelai document.

48

Dezvoltarea gndirii algoritmice, a spiritului inventiv i creator Obiective de referin 1. S descrie n termeni algoritmici anumite activiti. 2. S analizeze enunul unei probleme (s identifice datele de intrare i datele de ieire. S aleag tipul datelor, s descopere relaiile existente ntre date). 3. S reprezinte un algoritm cu ajutorul schemelor logice i/sau pseudocodului. 4. S respecte principiile programrii structurate n procesul de elaborare a algoritmilor. 5. S utilizeze un mediu de programare (Pascal sau C). 6. S implementeze algoritmii reprezentai prin scheme logice i/sau pseudocod n limbaj de programare. 7. S prelucreze date structurate la nivel de componente i la nivel de structur. 8. S lucreze cu fiiere text. Exemple de activiti de nvare 1. Discuii despre activiti cotidiene i modelarea acestora sub forma unei secvene bine definite de pai. 2. Combinarea unor activiti elementare (pai) pentru obinerea anumitor activiti complexe n funcie de scopul propus. 3. Explicarea conceptului de algoritm i a caracteristicilor algoritmilor. 4. Explicarea diferenei existente ntre informaii care se materializeaz n date concrete i cele care determin calea de rezolvare a unei probleme. 5. Descrierea unui algoritm n limbaj natural. 6. Prezentarea obiectelor cu care opereaz algoritmii (date, variabile, operaii, expresii). 7. Descompunerea datelor n date de intrare i de ieire (eventual, de lucru). 8. Descrierea etapelor rezolvrii unei probleme din punct de vedere algoritmic. 9. Prezentarea elementelor constitutive ale unei scheme logice i a funciilor asociate lor. 10. Prezentarea vocabularului legat de pseudocod i scheme logice. 11. Exersarea descrierii acestora cu ajutorul schemelor logice i n pseudocod. 12. Prezentarea structurilor de baz: structura liniar (secvena), alternativ i repetitiv. 13. Exersarea scrierii unor algoritmi simpli, folosind structuri lineare, alternative i repetitive. 14. Prezentarea mediului de programare (faciliti de editare, de compilare i de rulare).

49

15. Familiarizarea elevului cu noiunea de limbaj de programare i cu modalitatea de descriere a acestuia (diagram de sintax sau metalimbaj). 16. Prezentarea i exemplificarea elementelor de baz ale limbajului de programare. 17. Activiti de dezvoltare a deprinderilor de abstractizare i organizare a informaiilor n diverse structuri de date. 18. Utilizarea intrrii i ieirii standard. 19. Exersarea scrierii unor programe simple. 20. Codificarea structurilor de control nvate (structura liniar; instruciunile de atribuire i instruciunile compuse; structura alternativ; structura repetitiv). 21. Exerciii de transpunere a pailor unui algoritm n structuri de control specifice. 22. Proiectarea/modelarea unui algoritm i implementarea acestuia. 23. Folosirea facilitilor mediului n depanarea programelor. 24. Prezentarea structurilor de date standard. 25. Exerciii ce dezvolt deprinderile de abstractizare, necesare definirii, crerii i descrierii unor structuri statice de date. 26. Implementarea structurilor de tip tablou, nregistrare etc. 27. Exerciii de prelucrare a datelor pe suport extern, n fiiere text. 28. Exerciii de manipulare a fiierelor text. 29. Evidenierea analogiilor i diferenelor ntre citirea/scrierea utiliznd dispozitivele standard de intrare/ieire i fiiere text. Dezvoltarea deprinderilor necesare activitilor individuale i de echip Obiective de referin 1. S participe la munca n echip i s execute n cadrul grupei sarcinile ce i revin n funcie de aptitudinile individuale. 2. S participe activ la dezbateri, s respecte prerea celorlali, s asculte cu rbdare i s exprime propriile preri argumentate. 3. S finalizeze individual sau n echip o aplicaie. Exemple de activiti de nvare 1. Identificarea coninuturilor activitii ce urmeaz s se desfoare.

50

2. Dezbateri pe tema fixrii rolurilor n echip n funcie de interesele i aptitudinile individuale. 3. Formularea unor probleme care s poat fi realizate n grupuri de elevi pe baza unor discuii preliminare i analizarea problemei. 4. Discuii de abordare a problemelor care apar pe parcursul desfurrii activitilor. 5. Verificarea nelegerii rezolvrii unei probleme n ansamblul ei de ctre toi membrii grupului. 6. Prezentarea i dezbaterea aplicaiilor realizate. 7. ncurajarea discuiilor purtate ntre elevi, exprimarea i ascultarea prerilor fiecruia. 8. Educarea elevilor n ideea c activitatea unui informatician se finalizeaz cu un produs care trebuie s funcioneze conform condiiilor impuse de beneficiar, s fie nsoit de o documentaie, s fie verificat, testat i evaluat dup nite criterii standardizate. 9. Discuii cu elevii asupra necesitii validrii datelor. 10. Evidenierea importanei realizrii unor produse program fiabile, cu interfa prietenoas. Contientizarea conexiunilor dintre Informatic i societate Obiective de referin 1. S cunoasc impactul social, economic, etic i moral al Informaticii. 2. S identifice probleme din cadrul altor discipline n care intervin cunotine de programare sau de utilizare a calculatorului. 3. S cunoasc legislaia n vigoare cu privire la dreptul de autor al produselor soft i la msurile de protecie a datelor. 4. S perceap interdependena ntre dezvoltarea instrumentelor de calcul, respectiv a conceptelor informaticii i nevoile societii, prin perspectiva istoriei. Exemple de activiti de nvare 1. Discutarea impactului social, economic, etic i moral al Informaticii. 2. Enumerarea unor domenii n care sunt folosite instrumente informatice. 3. Lansarea n execuie a unor aplicaii specifice altor discipline. 4. Implementarea unor algoritmi simpli cu aplicaii n matematic, fizic etc.

51

5. *Discutarea articolelor incluse n legea copyright-ului i a semnificaiilor acestora. 6. *Cunoaterea prevederilor legale cu privire la accesarea neautorizat sau distrugerea intenionat (virusarea) datelor. 7. *Lecii despre evoluia instrumentelor de calcul, despre inventatori i informaticieni celebri.

B. Coninuturile nvrii Vom exemplifica acest lucru tot la nivel general, conform indicaiilor M.E.C.T. acceptate n acest moment. Toate acestea pot fi comparate cu cerinele discutate n Prefa i Introducere, fiind oricum foarte perisabile n timp. 1. Rolul i funciile sistemelor de calcul 1.1. Structura unui sistem de calcul. 1.2. Funciile unui sistem de calcul. 1.3. Msuri de protecie a muncii n timpul lucrului cu calculatorul. 2. Principalele funcii ale unui sistem de operare (Ms-Dos, Windows, Unix) 2.1. 2.2. SO). 2.3. 2.4. 2.5. 2.6. etc.). 2.7. 3. Algoritmi 3.1. 3.2. 3.3. Enunul unei probleme, date de intrare i de ieire, etapele rezolvrii unei probleme. Noiunea de algoritm, caracteristici. Obiectele cu care lucreaz algoritmii (date, variabile, expresii, operaii). Utilizare sistem (scandisk, arhivatoare, programe antivirus). Programe de asisten (Norton Comander, File Manager/Windows Explorer, WinSCP, etc.). Editoare de texte ( Edit, Notepad, Wordpad etc.). Editoare de imagini (Art Studio, Paint, AdobePhotoShop), formate de imagini. Accesorii de sistem (agend, calculator, set de caractere, elemente multimedia Concepte de baz i caracteristici generale ale unui sistem de operare (SO) Elemente de interfa (elemente specifice de comunicare dintre utilizator i

4. Principiile programrii structurate

52

4.1.

Structuri de baz; descrierea acestora cu ajutorul schemelor logice i n pseudocod.

4.2. Aplicaii. 4.2.1. Probleme care prelucreaz date numerice. 4.2.2. Probleme care prelucreaz date nenumerice. 5. Elementele de baz ale limbajului de programare 5.1. Noiuni introductive. 5.1.1. Structura programelor. 5.1.2. Descrierea sintaxei cu ajutorul diagramelor de sintax. 5.2. Vocabularul limbajului. 5.2.1. Setul de caractere. 5.2.2. Identificatori. 5.2.2. Separatori i comentarii. 5.3. Tipuri simple de date (standard). 5.4. Constante. 5.5. Variabile. 5.6. Expresii. 5.7. Citirea/scrierea tabelelor. 6. Structuri de control 6.1. Structura liniar (secvenial); instruciunile de atribuire i instruciunea compus. 6.2. Structura alternativ; instruciuni de decizie i selecie. 6.3. Structuri repetitive; instruciuni repetitive. 7. Mediul limbajului de programare studiat 7.1. Prezentare general. 7.2. Editarea programelor surs. 7.3. Compilare, rulare, *depanare. 8. Tipuri structurate de date 8.1. Tablouri. 8.2. iruri de caractere. 8.3. Tipul nregistrare. 8.4. *Alte tipuri specifice limbajului. 9. Fiiere 9.1. Tipul fiier (definire, operaii). 9.2. Fiiere text.

53

10. Aplicaii practice 10.1. Etape n realizarea unei aplicaii. 10.2. Cerine n realizarea programelor. 10.2.1. Interfa prietenoas. 10.2.2. Protecie la date incorecte. 10.2.3. Criterii de optimalitate. 10.3.Exemple de aplicaii. 10.3.1. Determinare minim/maxim. 10.3.2. Probleme de divizibilitate. 10.3.3. Sortare. 10.3.4. Cutare. 10.3.5. Probleme de prelucrare a datelor din fiiere text. 10.3.6. Prelucrri de iruri de caractere. Putem trece la prezentarea pe scurt a celuilalt modul important, evident tot pe un exemplu concret. OBIECTIVE CADRU (pentru modulul Tehnologia Informaiei) 1. Utilizarea surselor informaionale i a mijloacelor de procesare n scopul prelurii, prelucrrii i prezentrii informaiei 2. nelegerea dezvoltrii tehnicii i a implicaiilor tehnologiei informaiei asupra mediului i societii 3. Valorificarea termenilor de specialitate n comunicare 4. Dezvoltarea capacitii de cooperare n scopul realizrii unei aplicaii

Clasa a VIII-a A. Obiectivele de referin i exemple de activiti de nvare Utilizarea surselor informaionale i a mijloacelor de procesare n scopul prelurii, prelucrrii i prezentrii informaiei

54

Obiective de referin 1. S comunice ideile n forme ct mai variate. 2. S neleag nevoia de a ntreba i s contientizeze rolul factorului uman n obinerea unor informaii corecte. 3. S identifice mijloacele tehnice de preluare, prelucrare i transmitere a informaiei * i s descrie modul de utilizare a acestora. 4. S clasifice i s pregteasc informaia n vederea prelucrrii ei i s disting diferitele caliti ale datelor n procesul de prelucrare. 5. S aleag cele mai potrivite ci i aplicaii pentru obinerea i/sau transmiterea datelor. 6. S pun n eviden operaii specifice procesului prelucrrii manuale de date. modern. 8. S dea dovad de sim practic, etic i estetic n abordarea unor aplicaii. 7. 7. S identifice oportunitatea recurgerii la prelucrri automate realizate cu tehnologie

Exemple de activiti de nvare 1. Prezentarea informaiei prin diversele moduri de reprezentare (text, imagine, grafic, sunet, coduri numerice etc.). 2. Antrenarea elevilor n discuii care s se finalizeze cu identificarea ct mai multor forme de reprezentare a informaiilor. 3. Selectarea elementelor necesare realizrii unui anumit obiectiv avnd n vedere urmrile posibilelor erori. 4. Prezentarea mijloacelor tehnice de preluare, prelucrare i transmitere a informaiei (telefon, copiator, aparate de fotografiat, televizor etc.). 5. Familiarizarea cu modul de utilizare a aparatelor de tehnologie modern, identificarea modului n care acestea influeneaz viaa. 6. Diverse exemplificri de prelucrare a datelor n care s se evidenieze diferena dintre datele de intrare i cele de ieire - date care urmeaz s fie prelucrate, date rezultate din procesul de prelucrare (sondaje de opinie, chestionare, tabele, grafice, sinteze etc.). 7. Interpretarea, analiza i afiarea informaiei verificnd totodat corectitudinea i plauzibilitatea ei. 8. Realizarea unor prelucrri manuale de date urmrind finalitile, formele i etapele fiecrei aplicaii.

55

9. Exemplificarea unor aplicaii care, n lipsa echipamentelor tehnologice, nu s-ar putea realiza la nivelul cerinelor actuale. 10. Compararea diferitelor produse (texte, desene) realizate de elevi n funcie de forma i coninutul acestora. nelegerea dezvoltrii tehnicii i a implicaiilor tehnologiei informaiei asupra mediului i societii Obiective de referin 1. S prezinte i s explice semnificaia informaiei n societate. 2. S cunoasc impactul social, economic, etic i moral al utilizrii tehnologiei informaiei. 3. S interpreteze efectele inovaiilor i ale descoperirilor din domeniul tehnologiei informaiei (ca avantaje i dezavantaje). 4. S enumere domeniile de cunotine din cadrul altor discipline n care se pot utiliza instrumente de tehnologia informaiei. 5. S utilizeze instrumentele tehnologiei informaiei i comunicrii (editare de text, comunicare prin pota electronic, etc.). 6. S foloseasc instrumentele ajuttoare pe parcursul elaborrii temelor de lucru individuale. 7. S cunoasc legislaia n vigoare cu privire la dreptul de autor al produselor soft i la msurile de protecie a datelor. 8. S cunoasc istoricul instrumentelor informatice i a Informaticii ca tiin. Exemple de activiti de nvare 1. Discuii purtate pe teme care contientizeaz noiunea de informaie pe baz de exemple din viaa elevilor. 2. Exemplificarea contextelor sociale n care informaia contribuie la ameliorarea standardelor, luarea deciziilor etc. 3. Punerea n eviden a unor situaii practice n care informaiile trebuie stocate n vederea prelucrrii, modalitile de pstrare necesitnd reprezentarea acestora sub o form concret.

56

4. Selectarea elementelor necesare realizrii unui anumit obiectiv avnd n vedere urmrile posibilelor erori. 5. Discutarea impactului social, economic, etic i moral al utilizrii tehnologiei informaiei; 6. enumerarea unor domenii n care sunt folosite instrumente de tehnologia informaiei; 7. studiu de caz, investigaie pentru sesizarea aspectului calitativ al muncii de prelucrare automat a datelor. 8. Discuii privind avantajele i dezavantajele care apar ca urmare a utilizrii tehnologiei informaiei. 9. Exerciii de identificare a oportunitii utilizrii tehnologiei informaiei pentru mbogirea cunotinelor i mrirea eficienei activitilor ntlnite n cadrul altor discipline. 10. Redactarea unei scrisori, expedierea ei prin pota electronic. 11. Utilizarea editorului de text, a foilor de calcul, a aplicaiilor tip baze de date, INTERNET-ului pentru activiti ntlnite n cadrul altor discipline. 12. Exemplificarea folosirii facilitilor de autodocumentare specifice (Help) puse la dispoziie de mediul de lucru. 13. Discutarea articolelor incluse n legea copyright-ului i a semnificaiilor acestora. 14. Istorisiri despre evoluia instrumentelor tehnologiei informaiei, despre personaliti celebre din domeniu. Valorificarea termenilor de specialitate n comunicare Obiective de referin 1. S utilizeze corect simbolurile, prescurtrile i terminologia specific domeniului informatic. 2. S recunoasc semnificaia i sfera de utilizare a unor termeni din domeniul tehnologiei informaiei. Exemple de activiti de nvare 1. Gsirea unor sinonime pentru termenii de specialitate asimilai care s probeze nelegerea acestora. 2. Analiza etimologiei cuvintelor noi.

57

3. Crearea unui vocabular de termeni de specialitate. 4. Realizarea unor clase de noiuni asociate domeniilor de utilizare a tehnologiei informaiei. Dezvoltarea capacitii de cooperare n scopul realizrii unei aplicaii Obiective de referin 1. S participe la munca n echip i s execute n cadrul grupei sarcinile ce i revin n funcie de aptitudinile individuale. 2. S participe activ la dezbateri, s respecte prerea celorlali, s asculte cu rbdare i s exprime propriile preri argumentate. Exemple de activiti de nvare 1. Identificarea coninuturilor activitii ce urmeaz s se desfoare. 2. Dezbateri pe tema fixrii rolurilor n echip n funcie de interesele i aptitudinile individuale. 3. Formularea unor probleme simple care s poat fi realizate n grupuri de elevi pe baza unor discuii preliminare i analiza problemei. 4. Discuii de abordare a problemelor care apar pe parcursul desfurrii activitilor. 5. Verificarea nelegerii rezolvrii unei probleme n ansamblul ei de ctre toi membrii grupului. 6. Prezentarea i dezbaterea aplicaiilor realizate. 7. Se vor ncuraja discuiile purtate ntre elevi, exprimarea i ascultarea prerilor fiecruia. Desigur c putem continua cu Coninuturile nvrii, dar credem c este suficient. 2.2. Structura leciei Forma fundamental de organizare individualizat a procesului de instruire este lecia, indiferent de durata sa temporal. La coninutul propriu-zis al unei lecii se adaug aplicarea metodelor de predare pe care profesorul le va alege ct i obiectivele pe care acesta i le

58

propune. Nu poate fi considerat lecie ceva care nu leag ceea ce s-a studiat nainte, cunotinele anterior dobndite, de cunotinele care trebuiesc transmise n continuare. Lecia are un caracter unitar prin coninutul ei, prin procedeele ce se aplic, prin gradul de participare a elevilor la procesul instructiv-educativ. Aa cum preambulul trebuie s conin o prezentare clar a ceea ce urmeaz, orice lecie trebuie ncheiat printr-un rezumat, o recapitulare a ntregului volum de cunotine abordate pe ntreg cuprinsul leciei i o fixare, prin care s se finalizeze activitatea ntreprins. Ar trebui anticipate necesitatea introducerii unor noi noiuni i planul de abordare a leciilor urmtoare. Considerm c o asemenea unitate de nvare ar trebui s dureze 90-100 minute, fr ntreruperi. Lecia nu este numai o form de organizare a activitii de predare/nvare i o succesiune de etape bine stabilite i (de dorit) realizate. Evenimentele imprevizibile, apariia unor particulariti specifice care trebuie stpnite sunt inevitabile. O cerin metodic este clasificarea leciilor: de comunicare/transmitere de cunotine, de studiu individual, de descoperire, de verificare, de recapitulare etc. Delimitrile nu sunt ns stricte, fiecare lecie fiind o mpletire (care se dorete armonioas) de metode i tehnici care concur la realizarea obiectivelor propuse, raportul n favoarea uneia sau altei dintre metode fiind greu de stabilit n final i cu att mai mult iniial. Vom puncta totui cteva dintre momentele eseniale ale desfurarii unei lecii, subliniind relativitatea acestora (ca dimensiuni de timp; ca importan; ca ordine): Momentul organizatoric impune, n primul rnd, verificarea prezenei i a condiiilor de desfurare (existena materialului didactic necesar, incluznd aici calculatoare, soft etc.). Ideal ar fi ca aceasta s fie fcut n pauza dintre ore i de ctre un personal specializat. Din acest motiv, pauzele ar trebui s fie de minimum 20 minute. Ideal ar fi verificarea temei de acas i identificarea dificultilor ntmpinate n efectuarea ei. Elevii sunt apoi ascultai din materia predat n lecia anterioar, cutndu-se s se nlture anomaliile de nelelegere aprute n procesul de asimilare. Se pred lecia nou (sau, echivalent, dac este vorba de fixarea a ceva anterior). Se fixeaz cunotinele (noi) prin (alte) exerciii. Se stabilete tema pentru acas.

O lecie poate fi apreciat ca necorespunztoare dac, de exemplu, se pierde timpul cu momentul organizatoric, inclusiv cu verificarea temei de acas i cu msurile luate de profesor privitoare la nerealizarea acesteia. Cel mai mult timp trebuie afectat comunicrii

59

cunotinelor noi i fixrii acestora prin exerciii. Tema pentru acas nu trebuie dat n grab (n pauz sau cnd se sun). Observaie. Volumul de munc necesar efecturii temelor pentru acas trebuie s se nscrie n limite rezonabile (exist suficiente recomandri legale pentru sarcinile suplimentare). Un numr mai mare de exerciii duce la lucru de mntuial, copieri, abandonarea ntregii teme, refuz fa de abordarea temei. Tema trebuie s fie n coresponden cu posibilitile elevilor i legat de nsuirea i aplicarea cunotinelor predate. Ea trebuie dat difereniat, atunci cnd ntre elevii aceleai clase sunt diferene mari n ceea ce privete capacitatea sau pregtirea lor. Tema trebuie s fie nsoit de explicaii ajuttoare, de indicaii potrivite. Cnd tema presupune artificii de calcul sau cere o pricepere deosebit, trebuie ca elevilor s li se atrag atenia asupra acestui aspect (de exemplu, prin exerciii cu *, adic dificile). Muli elevi nva pe de rost metodele de rezolvare a unor probleme i i formeaz abloane pe care le aplic automat. Cu siguran i algoritmii importani, rezultat al analizei i cercetrii ndelungate, trebuie reinui, dar uznd-se de logica intern a acestora. Profesorul are (i) obligaia s nvee pe elevi cum s-i fac tema, nu s creeze un climat care determin ca necesitate apariia meditatorului (mediator pgubos ntre elev i profesor i nu o prelungire a acestuia din urm, n cazuri extreme). Temele de acas i ating scopul doar dac pot fi controlate n permanen de ctre profesor. 2.3. Calitatea cunotinelor asimilate Procesul de comunicare al cunotinelor trebuie s aib drept efect formarea de reprezentri corecte despre lucruri i fenomene reale, nsuirea de noiuni care ajut la nelegerea legilor care reglementeaz raporturile dintre fenomenele realitii i care permit exprimarea acestor raporturi ntr-un mod clar. Formalismul excesiv este unul dintre pericolele care pndesc procesul instructiv/educativ i el se manifest prin: Lipsa legturii evident exprimate dintre form i coninut. Memorarea mecanic a cunotinelor i predominarea formei exterioare asupra esenei coninutului (schimbarea notaiei poate provoca uneori adevrate tragedii). Predominarea memorrii asupra nelegerii. Supremaia ablonului asupra inventivitii. Ruperea teoriei de practic.

60

Evitarea formalismului excesiv se realizeaz mai ales printr-o nelegere deplin a fenomenului abstractizrii, o urmrire i o contientizare a scopului, a nsemntii abordrii temei i o subliniere a consecinelor realizrii ei. Trebuie s limitm folosirea abloanelor, chiar dac exist situaii identice care se repet. Raionamentul logic trebuie s ne nsoeasc paii n permanen. Exemplu. Dac ne referim la prezentarea sintaxei unui limbaj de programare, utilizarea diagramelor de sintax () poate fi un impediment n nelegerea limbajului (dei experiena proprie ne-a furnizat i cteva aplicri cu succes). Iat cum este prezentat sintaxa structurii alternative multiple de tip CASE printr-o astfel de diagram:

Ca alternativ profesorul poate opta pentru varianta: case () of val1: ; val2: ; ............................... valn: else end; unde este o expresie de tip ordinal, val1, val2, ...,valn sunt valori sau intervale de valori de acelai tip cu , iar , ,..., , sunt instruciuni simple sau compuse. poate fi i vid, caz n care lipsete i cuvntul rezervat else.

61

Un alt impediment n calea nelegerii (generat de abstractizare) se constat la elevii slabi care la construirea primelor programe ntr-un limbaj de programare, din dorina lor justificat de a menine pasul cu ceilali elevi din clas, depun un efort suplimentar nvnd pur i simplu pro