O analiza interesanta a invatamantului pre-universitar de informatica din Romania si legatura sa cu limbajele de programare (mai ales Java) de Prof. Irina Athanasiu (Universitatea Politehnica Bucuresti)
Cartea la care se face referinta in textul interviului este:
  • Limbajul Java. O perspectiva pragmatica., de Irina Athanasiu, Bogdan Costinescu, Andrei Octavian Dragoi, Florentina Irina Popovici, Editura: Computer Libris AGORA, 1998
O lectura placuta,
Marius Hancu

Interviu cu Irina Athanasiu aparut in numarul din august 1998 al revistei "Gazeta de informatica"

De ce Java ? si mai ales de ce inca o carte despre limbajul Java ?

Deoarece tot ce se intampla acum in lumea calculatoarelor este pentru Internet, legat de Internet sau accesibil din Internet. Java este limbajul de programare care devine incet, incet un standard de-facto in toate aceste cazuri. Numele Java este asociat acum cu o colectie de tehnologii legate de Internet si Intranet. In strainatate exista un numar imens de carti legate de limbajul Java. In urma cu cateva luni existau cam 500 de titluri in limba engleza. Presupun ca de atunci au mai aparut cateva... In limba romana a aparut in 1996 o carte in editura Computer Press Agora (autor Eugen Rotariu) si o serie de traduceri nu neaparat semnificative.

"Limbajul Java - o perspectiva pragmatica" reprezinta in acelasi timp o introducere in limbajul Java si o colectie de retete" gata sa fie utilizate de catre cei care vor sa dezvolte diferite tipuri de aplicatii in Java. In general, o carte de "retete" este usor perisabila, pentru ca de cele mai multe ori este legata de o versiune de software pentru care "retetele" respective functioneaza optim. Ceea ce am incercat sa realizam in aceasta carte a fost o imbinare de concepte si solutii, in acest mod chiar daca o anumita interfata de programare a devenit depasita prin aparitia unei noi versiuni mai performanta sau mai eleganta, conceptele raman aceleasi.

Credeti ca nivelul cartii este accesibil elevilor de liceu?

Nu se poate da un raspuns ferm: da sau nu. Pentru ca pregatirea elevilor de liceu este foarte neomogena. Daca luam in considerare faptul ca la un moment dat in programa de invatamant pentru liceele de informatica figureaza limbajul C si chiar limbajul C((, raspunsul ar trebui sa fie da. Daca luam in considerare ceea ce stiu majoritatea elevilor dupa parcurgerea disciplinelor respective as raspunde cu nu.

De fapt poate merita sa discutam o problema mult mai delicata si anume a planului de invatamant pentru disciplinele de informatica in liceu. Mie nu imi este clar ce urmaresc cei care se ocupa de acest subiect. Pe hartie si in majoritatea cazurilor pe langa elevi se "consuma" toate cuvintele legate de stiinta calculatoarelor. Daca se compara programa de liceu cu cea universitara pentru multe subiecte se constata ca programa din liceu este chiar mai ambitioasa decat cea universitara. Ce inteleg din asta elevii si care sunt conceptele cu care pot sa opereze, asta este altceva.

In mod corespunzator atunci cand vin la facultate multi absolventi de licee informatice au impresia ca tot ce se spune este familiar, simplu dar ca profesorii sunt chitibusari atunci cand nu considera ca un proiect este bine realizat numai pe criteriul "merge", sau cand pretind unui student care poate sa programeze "orice" stapanirea unor concepte fundamentale.

De multe ori studenti care nu au absolvit licee informatice au rezultate mai bune decat cei care au absolvit licee informatice, pentru ca nu au obiceiuri proaste, sau notiuni vagi de uitat. Si cand vorbesc de rezultate mai bune nu ma refer exclusiv la cele scolare ci si de rezultate obtinute la interviuri de angajare pentru firme reprezentative.

De cate ori am incercat sa deschid o discutie pe acest subiect cu persoane care se ocupa de planurile de invatamant din licee raspunsurile au fost de doua tipuri (care reprezinta de fapt variatiuni pe aceeasi tema): "Nu ati vazut ce bine se descurca elevii romani la olimpiadele internationale de informatica (" sau "In clasa cu care lucrez eu am elevi care stiu ((( si care s-ar plictisi daca le-as face mai putin". Dupa parerea mea ca si in cazul olimpiadistilor de matematica sau fizica scoala nu prea are legatura cu rezultatele acestora. Poate doar ca nu i-a incurcat, le-a motivat absentele la orele de romana si le-a mai ridicat mediile la istorie. Majoritatea performerilor sunt fie autodidacti, fie rezultatul pregatirii facute cu profesori de specialitate entuziasti, dar in afara orelor de clasa. In acelasi timp genul de pregatire pe care o necesita participarea la un concurs de informatica nu este chiar ceea ce se cere in viata adevarata. De cele mai multe ori o rezolvare "in forta bruta" este solutia cea mai buna intr-un concurs la care conteaza numarul de probleme rezolvate si timpul de rezolvare. In viata adevarata problemele sunt mai putin ciudate, in schimb conteaza aspecte de genul: eficienta si claritatea programelor, portabilitatea, reutizabilitate, calitatea documentatiei, utilizarea unor metodologii coerente de proiectare a programelor, etc.

Daca ne referim la programa de liceu pentru disciplinele de informatica cred ca ar trebui sa fixam stacheta undeva mai jos, astfel incat majoritatea elevilor sa poata sa o sara (pentru ca daca nu pot sa o sara, elevii sau chiar profesorii, vor trece pe dedesubt, dar tot vor trece). Sa fixam niste obiective in legatura cu ce ne asteptam sa stie (sa poata sa faca) un elev "mediu" cand devine absolventul unui liceu informatic si pornind de aici sa stabilim cum arata planurile de invatamant. Mie mi se pare ca modul in care a functionat pana acum acest proces, a fost de tipul: "se poarta tehnologia client server, unde putem sa introducem acest subiect in planul de invatamant (", fara sa se cerceteze daca elevii stapanesc conceptele pe care se bazeaza aceasta tehnologie sau nu, sau mai mult daca vor ajunge sa o utilizeze sau nu.

Dupa cate stiu acum se lucreaza la reforma curriculara pentru invatamantul pre-universitar. Sper ca cei care sunt implicati in aceasta actiune sa aiba curajul sa "simplifice" planul de invatamant, care sa nu mai fie un galop ambitios peste toate subiectele posibile.

Ati recomanda Java ca "prim limbaj" de invatat in scoala? Altfel spus: cum apreciati "valoarea didactica" a limbajului in comparatie cu Pascal sau C (sau altele) ?

Se poate programa "bine" sau "prost" in orice limbaj de programare. Cred ca problema este cum se utilizeaza limbajul respectiv pentru a ilustra ce inseamna programare. In urma cu cativa ani intr-o serie de universitati americane se utiliza drept prim limbaj de programare un limbaj functional: scheme. Exista mai multe argumente pentru o astfel de solutie. In primul rand corespondenta imediata intre conceptele fundamentale si constructiile din limbaj, simplitatea sintaxei. Un argument ne neglijabil a fost si cel referitor la faptul ca exista o sansa foarte mica a cunoasterii limbajului de catre studenti. Din acest motiv studentii capatau direct obiceiuri bune. Dar ca in orice limbaj de programare si in limbajele de functionale se poate programa urat, ineficient, etc.

In universitatile romanesti s-a utilizat multa vreme limbajul Pascal ca prim limbaj de programare. Fiind un limbaj care a fost dezvoltat pentru a permite o programare "curata" limbajul are toate datele pentru a fi folosit pentru educatie. Problema este ca in viata adevarata limbajul este destul de putin utilizat, limbajele preferate deocamdata de catre industria software fiind C sau C++.

Problema este ca cele doua limbaje au fost construite in alte scopuri decat cele educative. Sa consideram urmatorul subiect de test grila, dat la un examen de licenta:

int *f(void) { int x= 1; return &x;}

Care este efectul atribuirii

 *f() = 1;
a)atribuirea are efecte laterale nepredictabile care pot  conduce 
la erori de executie
b=...

Posibilitatea existentei unui astfel de subiect pentru care raspunsul corect este a, indica faptul ca se consuma prea multa energie pentru a explica / intelege aspectele "umbroase" ale limbajului.

Avantajul limbajului Java din acest punct de vedere este ca este un limbaj mult mai curat decat C sau C(( fiind in acelasi timp un limbaj orientat pe obiecte. Consider ca Java este foarte bun ca prim limbaj de programare (eventual ca prim limbaj de programare orientat pe obiecte) cu conditia ca sa nu se incerce o prezentare exhaustiva a limbajului si mai ales a tuturor aplicatiilor sale. Daca programa analitica a unui curs de initiere in programare s- ar baza pe intregul cuprins al cartii noastre, rezultatele ar fi catastrofale, pentru ca intelegerea unor capitole ca: fire de executie, interfata grafica, aplicatii de retea, etc. se bazeaza pe cunostinte de sisteme de operare, grafica, retele care depasesc cu mult cunostintele unui elev sau student care se gaseste la primul sau curs de programare.

Limbajul Java este deja utilizat cu rezultate foarte bune in numeroase universitati americane ca prim limbaj de programare.

In rezumat raspunsul la intrebarea " Ati recomanda Java ca "prim limbaj" de invatat in scoala?" este da, dar...

Pana nu demult, limbajele de programare erau doar "unelte", mai mult sau mai putin "expresive", de nivel mai mult sau mai putin inalt s.a.m.d. De ce se bucura Java de atata atentie?

Java este un studiu de caz foarte bun nu numai pentru stiinta calculatoarelor dar si pentru marketing. Daca nu ar fi fost cea de a doua componenta, Java ar fi fost doar inca o incercare de a propune un nou limbaj de programare, asa cum au existat sute sau poate mii de incercari de care nu isi mai aduce aminte nimeni. Calitatile intrinseci ale limbajului nu ar fi fost suficiente pentru succesul pe care il inregistreaza limbajul. "Norocul" acestei incercari se bazeaza pe potrivirea dintre aparitia sa si extinderea interesului pentru Internet. Limbajul a fost promovat printr-o campanie de marketing foarte sustinuta ca fiind "solutia" pentru programarea in Internet. Faptul ca toate informatiile necesare pentru utilizarea sa: documentatie (de buna calitate), programele pentru dezvoltarea de aplicatii (compilator, depanator, generator de documentatii, etc.), bibliotecile au fost de la inceput accesibile in Internet, a permis ca solutia sa fie testata de foarte multa lume. Aceasta testare a condus la aparitia unor solutii tehnologice noi, astfel ca numeroase solutii tehnologice noi legate de Internet si Intranet au aparut intai ca solutii in Java.

Este interesant si faptul ca Java a fost "incercat" si ca limbaj de programare pentru aplicatii care nu au neaparat legatura cu Internet-ul, in idea potabilitatii asigurate de catre solutia Java. Si rezultatele obtinute sunt incurajatoare.

Ca profesor intr-o facultate de specialitate, cum apreciati invatamantul de specialitate la nivel liceal?

Intr-un anumit fel am raspuns anterior la intrebarea pe care mi-o puneti. Am norocul sa fiu profesor intr-o facultate care aduna multi dintre cei mai buni absolventi de liceu din Romania. Din acest motiv probabil ca nu pot sa fie obiectiva in ce priveste calitatea invatamantului liceal. Consider ca invatamantul liceal trebuie apreciat prin prisma rezultatelor absolventilor "obisnuiti" si nu prin cea a varfurilor, care s-ar fi descurcat si se descurca oricum, in special in domenii de tip tehnic pentru care este posibila o pregatire individuala in afara scolii. Ceea ce poate merita sa fie amintit este modul in care a evoluat in timp invatamantul de specialitate la nivel liceal. In ciuda faptului ca in mod evident cantitatea de cunostinte in domeniu acumulate in liceu a crescut nu acelasi lucru as putea sa il spun despre calitatea acestor cunostinte. A crescut numarul studentilor care inca din anul intai pot sa "butoneze" orice, in schimb a scazut numarul celor care au rabdare sa se gandeasca inainte de a "butona". Evident ca evolutia tehnologica a incurajat aceasta abordare, dar mie mi se pare ca ceva se pierde. Si ca efectul acestei pierderi se va constata mai tarziu, cand evolutiile tehnologice vor conduce poate la solutii foarte diferite de cele curente si pentru care pregatirea superficiala de acum nu vor permite o adaptare usoara.

Credeti ca performantele obtinute de elevii romani la olimpiadele internationale (de informatica) reflecta nivelul invatamantului romanesc?

Nici vorba. Elevii performanti (din punct de vedere olimpiade de informatica) nu au practic legatura cu scoala. Nu numai ca pregatirea pentru olimpiade nu se face la clasa, dar se face in paralel cu ce se intampla la clasa. Nu mai stiu care este situatia acum, dar in urma cu cativa ani, performerii erau scutiti, in mod tacit desigur, de o serie de obligatii scolare. In fond a considera ca rezultatele la olimpiadele internationale de informatica reflecta nivelul invatamantului romanesc ar fi ca si cum am spune ca rezultatele gimnastelor din lotul national reflecta nivelul pregatirii fizice a elevilor din Romania.

Tot ce se poate spune, este ca exista copiii talentati, motivati destul si care pusi in anumite conditii de pregatire, sunt in stare de performante foarte bune.

Cum ati comenta plasarea Romanei pe un loc codas (locul 33) in Europa, in urma unui sondaj privind calitatea invatamantului pre- universitar?

Unele dintre cauzele plasarii invatamantului pre-universitar pe un loc atat de catastrofal au origini mai vechi. Ani de zile performanta in invatamantul pre-universitar era considerata echivalenta cu rezultatele la matematica. Nu erai bun la matematica, nu erai bun la nimic. Iar matematica respectiva nu era accesibila, in modul in care era prezentata, la un nivel real de intelegere pentru majoritatea elevilor. Sondajul respectiv se bazeaza nu pe cunostinte reproduse din manual ci pe capacitatea de a rezolva probleme, unele din ele cu un pronuntat caracter practic. Ori asa ceva sigur nu se face in invatamantul romanesc in orice caz nu in cel pre-universitar.

Exista desigur si cauze mai noi. Multi ii blameaza pe profesori care nu isi fac datoria, pe elevi care si-au pierdut interesul pentru scoala, etc. Sunt raspunsuri prea simpliste.

Ceea ce s-a intamplat la ultimul examen de bacalaureat sau la cel de admitere la liceu spune in fond acelasi lucru ca si sondajul de care aminteai. Faptul ca la unele dintre marile licee din tara nu s-au completat locurile si la unele nici nu au existat destui candidati indica o scadere dramatica a nivelului pregatirii acestor elevi. Este foarte grav faptul ca un procent semnificativ de elevi nici macar nu si-au mai pus problema sa continue studiile la nivelul liceului, mi se pare ca reprezinta o pierdere semnificativa pentru viitorul nostru. Toate aceste elemente trebuie sa constituie un grav semnal de alarma pentru toata lumea, inclusiv pentru cei care nu sunt implicati direct in problemele scolii. Pentru ca se va pierde rapid in cativa ani unul dintre avantajele semnificative pe care le aveam in privinta calitatii fortei de munca. Disparitia analfabetismului, nivelul relativ ridicat de pregatire intelectuala a unei parti semnificative din populatia tarii, existenta unor specialisti foarte buni in multe domenii sunt realizari care se vor pierde cu mult mai repede decat au fost castigate.

Si cred ca nu este pur si simplu vorba de bani, de saracie. Este ceva care tine de modul in care este privita scoala in general (un consumator de fonduri), de statutul profesorilor in societate (inca niste bugetari care trebuie platiti). Indiferent de cat de motivati ar putea sa fie elevii, daca profesorii nu sunt la nivelul asteptarilor, orice motivare se stinge. In schimb, un profesor cu har poate sa schimbe viata unor elevi. Cred ca secretul sta acum mai mult decat oricand in calitatea corpului didactic.

Sigur ca foarte multi profesori buni au plecat din scoala, ca multi din cei ramasi sunt foarte nemultumiti si isi fac orele conform acestor nemultumiri. Probabil ca atitudinea acestora nu se va schimba nici daca salariile vor fi de doua trei ori mai mare (am citit undeva, ca in urma unui sondaj similar cu cel de care ma intrebi, s-a stabilit ca profesorii din Romania sunt printre cei mai nemultumiti din lume fara sa aiba cele mai proaste conditii din lume). Solutia este sa fie atrasi in invatamant profesori noi, tineri care sa isi doreasca acest statut, aceasta meserie. Nu mi s-a parut ca cineva incearca sa faca ceva in directia aceasta. Se discuta mult despre reforma invatamantului, dar nu este clar cine va face aceasta reforma, pentru ca numai niste planuri de invatamant perfecte si niste manuale perfecte nu vor clinti nimic din ce se intampla acum in invatamantul pre-universitar.


Ajustat html de M. Jalobeanu, 2 octombrie 1998

Inapoi