Trecerea la „doar limbajul Python” în primele două clase de liceu la profilul matematică-informatică este principala problemă a proiectului de programă de Informatică aflat în dezbatere publică, scrie într-o postare pe Facebook profesorul Marius Nicoli de la Colegiul Național „Frații Buzești” din Craiova, vicepreședinte al Societății pentru Excelență și Performanță în Informatică (SEPI).
Reacția vine în contextul în care SEPI a transmis Ministerului Educației și Cercetării o analiză în care avertizează asupra riscurilor folosirii „exclusiv” a limbajului Python pentru introducerea conceptelor de programare. SEPI organizează Olimpiada Națională de Informatică (ONI) cu Ministerul Educației și Cercetării și coordonează pregătirea loturilor olimpice.
- Reacția profesorului poate fi citită integral mai jos în articol.
Nicoli susține că „studiul la nivel de liceu nu presupune o aprofundare a vreunui limbaj de programare”, ci „înzestrarea copiilor cu noțiuni de bază despre limbaje”, lucru care „se pot face foarte bine în limbajul C++, așa cum s-a făcut și până acum”. El adaugă că „Viitorii specialiști nu se vor rezuma la studiul unui singur limbaj de programare” și că „plecarea cu limbajul C++ are beneficiul că permite trecerea mai ușor spre multe alte limbaje”, în timp ce schimbarea ar afecta și infrastructura deja construită: „Avem comunități valoroase… Există manuale, platforme de pregătire, există experiență acumulată de profesori în timp. De acum aceste instrumente realizate în ani de muncă nu vor mai putea fi folosite”.
Profesorul scrie și despre impactul asupra olimpiadelor, pe care le numește „unul care ne reprezintă”, insistând însă că miza este una mai largă, de sistem. „Olimpiadele internaționale de informatică se desfășoară în special C/C++… Dar ce e important: nu se desfășoară în Python”, afirmă acesta, avertizând că astfel „tăiem acum cred că peste două treimi din masa de selecție”, deoarece „toți cei care iau contact cu C++ pot fi apoi îndrumați spre activități de pregătire”. Concluzia lui: „Efectul, ca rezultate ale României pe termen mediu, nici măcar lung, va fi dezastruos”.
- Profesorul își leagă avertismentul și de poziția României în competițiile internaționale: „România se află în topul mondial la această disciplină cu istorie de peste 40 de ani”, iar „anul acesta” ar fi fost un vârf de performanță – „vârful istoric de 4 medalii de aur la Olimpiada Internațională (toți cei 4 membri ai echipei), alături de Coreea de Sud și China”. El punctează și dimensiunea de echitate educațională: „Olimpiadele se adresează unei minorități, este adevărat, dar, așa cum există preocupare (firească) pentru remedial, tot așa trebuie să avem preocupare și pentru cei care, la o disciplină, au abilități peste nivelul clasei”.
În final, Marius Nicoli critică și transparența procesului, subliniind că în dezbatere este doar o parte. „Avem în dezbatere publică o programă doar pentru clasa a 9-a”, iar acest lucru i se pare „total netransparent” sau „cel puțin ciudat”, pentru că „Natural era să dezbatem totul pe de-a-ntregul …”. El arată că există și o alternativă: „Avem atașată și o altă propunere de programă… Include chiar studierea limbajului Python, la clase mai mari”, într-o logică pe care o numește „principii firești”, în linie cu poziția SEPI, care propune o progresie de la C++ către Python în anii mai mari de liceu.
Redăm integral reacția profesorului Marius Nicoli de la Colegiul Național „Frații Buzești” din Craiova:
„În această perioadă este în dezbatere publică și programa pentru disciplina Informatică (de fapt o parte din ea).
Sunt profesor de informatică de mulți ani și simt că este un moment delicat iar noi suntem acum obligați să analizăm cu toții ce se propune…
Aș vrea din start să îmi definesc poziția: da, sunt identificat în comunitate și prin contribuția la olimpiadele școlare, dar am fost mereu profesor la clasă în primul rând, urmând principiul: “să ajut FIECARE elev să facă un pas înainte la disciplina pe care o predau, în funcție de talentul său”. Nu aș vrea să insist pe rezultatele la clasă, la bacalauteat, la admiterea în facultate sau în carieră, ale elevilor mei de-a lungul timpului, voiam doar să punctez poziția din care fac această analiză.
Așadar aici punctul central nu este olimpiada. Însă, voi analiza mai jos și legat de asta, pentru că nu ne poate împiedica nimeni să nu apărăm și să susținem simbolurile noastre, așa că nu putem rămâne indiferenți.
Deci, problema principală este că la primele două clase de liceu, profilul matematică-informatică, nu se va mai folosi pentru implementare limbajul C/C++, ci doar limbajul Python.
Câteva lucruri de spus despre asta:
- În primul rând faptul că studiul la nivel de liceu nu presupune o aprofundare a vreunui limbaj de programare. Se încearcă înzestrarea copiilor cu noțiuni de bază despre limbaje. Aceste lucruri se pot face foarte bine în limbajul C++, așa cum s-a făcut și până acum.
- Viitorii specialiști nu se vor rezuma la studiul unui singur limbaj de programare și din acest punct de vedere, plecarea cu limbajul C++ are beneficiul că permite trecerea mai ușor spre multe alte limbaje pentru care C++ este bază cel puțin prin elementele principale de sintaxă.
- Avem comunități valoroase care activează de mulți ani și care au dezvoltat o adevărată infrastructură în jurul acestui limbaj. Există manuale, platforme de pregătire, există experiență acumulată de profesori în timp. De acum aceste instrumentei realizate în ani de muncă nu vor mai putea fi folosite.
Sunt mai multe de spus, dar ar trebui intrat mai adânc în detalii tehnice și nu acesta este scopul acum.
Aș vrea să revin și la segmentul olimpiade, pentru că, e dovedit, și el e unul care ne reprezintă și o face cu bine, și ca imagine publică pentru țară dar și pentru felul cum sunt văzuți în general programatorii români.
Olimpiadele internaționale de informatică se desfășoară în special C/C++ sau în alte limbaje. Dar ce e important: nu se desfășoară în Python. Astfel noi tăiem acum cred că peste două treimi din masa de selecție. Pentru olimpiadă nu se identifică doar elevi de la clasele de intensiv. Toți cei care iau contact cu C++ pot fi apoi îndrumați spre activități de pregătire care să le pună în valoare calitățile. O statistică a profilurilor de la care provin olimpicii noștri arată clar asta. Ori, dacă nici nu vor mai lua contact cu limbajul, cel mai probabil îi vom pierde. Efectul, ca rezultate ale României pe termen mediu, nici măcar lung, va fi dezastruos. Este greu să înțelegem această propunere și în contextul actual: România se află în topul mondial la această disciplină cu istorie de peste 40 de ani, anul acesta fiind și cel în care s-a atins vârful istoric de 4 medalii de aur la Olimpiada Internațională (toți cei 4 membri ai echipei), alăuri de Coreea de Sud și China.
Olimpiadele se adresează unei minorități, este adevărat, dar, așa cum există preocupare (firească) pentru remedial, tot așa trebuie să avem preocupare și pentru cei care, la o disciplină, au abilități peste nivelul clasei.
Aș vrea să închei prin punctarea unei situații pe care tehnic nu o înțeleg. Avem în dezbatere publică o programă doar pentru clasa a 9-a. În cazul în care se va aproba, modul de continuare mi se pare nefiresc, indiferent care va fi el: să nu punem în dezbatere și programele pentru ceilalți ani ar fi total netransparent. Pe de altă parte, să facem apoi dezbatere si a lor având un sfert fixat și să ne dăm seama că poate e mai bine să intervenim și asupra acestui sfert e cel puțin ciudat. Natural era să dezbatem totul pe de-a-ntregul …
Avem atașată și o altă propunere de programă, rezultată din efortul unor oameni cu mare experiență în predarea la acest nivel. Include chiar studierea limbajului Python, la clase mai mari. Urmează niște principii firești și totodată vine și servește lucruri spuse aici sau de alti colegi în spațiul public, legate de efectele pe care le va produce programa pusă în dezbatere acum”.
DOCUMENT Propunerile integrale transmise de SEPI către MEC:
VIDEO Prezentarea programei de Informatică și TIC la Ministerul Educației și Cercetării:
DOCUMENTE Programele puse în consultare de MEC pentru disciplina Informatică (sursa):
- Clasa a IX-a, Curriculum de specialitate (CS) pentru filiera vocațională, profilul militar, specializarea matematică-informatică militară:
- Clasa a IX-a, Curriculum de specialitate (CS) pentru filiera teoretică, profilul real, specializarea matematică-informatică:
- Clasa a IX-a, Curriculum de specialitate (CS) pentru filiera teoretică, profilul real, specializarea matematică-informatică, clase cu predarea disciplinei informatică în regim intensiv:
- Clasa a IX-a, Curriculum de specialitate (CS) pentru filiera teoretică, profilul real, specializarea științe ale naturii:
- Proiecție curriculară care prefigurează parcursul disciplinei pentru clasele a X-a – a XII-a:
12 comments
Nu contest nicio secundă utilitatea Python-ului în engineering și în producție. Știu foarte bine cât de puternic este în automatizări, data science, simulări…
Dar aici vorbim de liceu și de obiective educaționale, nu de utilizarea in producție.
La nivel liceal, miza principală nu este „să știe elevul Python”, ci să-și formeze gândirea algoritmică:
– să poată descompune o problemă în pași clari;
– să înțeleagă structuri de date, nu doar să le apeleze;
– să conștientizeze ce înseamnă eficiență, resurse, limitări;
– să stăpânească idei precum recursivitate, backtracking, programare dinamică, grafuri, nu doar să le „importe” dintr-o bibliotecă.
Python este minunat ca instrument, dar exact asta e problema didactică:
foarte multe sunt deja făcute – liste, dicționare, seturi, sortări, colecții, funcții de nivel înalt – elevul este tentat să învețe cum se cheamă funcția, nu cum se construiește algoritmul.
Este același tip de confuzie între unealtă și formare pe care am face-o și în matematică:
– De ce să mai învețe elevul aritmetică, dacă există calculator de buzunar care calculează instant orice sumă sau produs?
– De ce să mai învețe să rezolve ecuații și sisteme, dacă există aplicații în care tastezi datele și primești direct soluția?
– De ce să mai învețe geometrie și trigonometrie, dacă există softuri care desenează și proiectează orice figură 2D sau 3D?
– De ce să mai învețe să traseze grafice de funcții, dacă există deja aplicații în care introduci funcția și apare graficul în două secunde?
Dacă am merge pe logica asta, am putea continua și în alte domenii:
– De ce să mai înveți gramatică și redactare, dacă există autocorrect și „rewrite” la un click distanță?
– De ce să mai înveți o limbă străină, dacă există Google Translate?
– De ce să mai înveți să citești o hartă, dacă există GPS care îți spune „în 300 de metri virați la dreapta”?
-De ce să mai înveți daca exista AI ???
Răspunsul este evident: nu învățăm toate acestea pentru că nu am avea instrumente, ci pentru că procesul de învățare construiește structuri mentale, dezvoltă logică, rigoare, intuiție. Fără ele, omul rămâne doar un operator de butoane, nu cineva care înțelege ce face.
Exact aici e și diferența C++ vs. Python la nivel liceal: un limbaj „comod” și „iertător” poate fi perfect pentru producție sau prototipare rapidă, dar pentru formarea gândirii algoritmice e esențial ca elevul să nu sară direct la „apas butonul și se rezolvă”, ci să priceapă cum și de ce funcționează lucrurile.
Răspunsul e evident: nu pentru că nu ar exista instrumente, ci pentru că, fără acest antrenament mental, elevul devine doar un utilizator de unelte, nu un om care înțelege ce face.
C/C++ este mai „aspru”, mai puțin prietenos, sunt de acord. Dar tocmai asta îl face un limbaj foarte bun pentru formarea riguroasă la profilul matematică-informatică intensiv:
– te obligă să fii atent la tipuri de date, la structuri, la modul în care reprezinți informația;
– nu îți „ghicește intențiile”, ci te obligă să fii precis;
– creează un context în care elevul trebuie să gândească ce face cu memoria, cu timpul de execuție, cu structura algoritmului.
Nu spun că Python nu trebuie folosit în liceu. Din contră: îl văd foarte bine într-un modul aplicat, pentru:
– proiecte interdisciplinare, mici proiecte practice.
Dar să înlocuiești C++ la matematică-informatică intensiv cu Python înseamnă să spui, de fapt, că nivelul de rigoare și de profunzime poate fi redus, pentru că „merge și așa, avem un limbaj mai ușor”.
Și aici e îngrijorarea mea reală, dincolo de orice polemică personală:
liceul nu e locul în care optimizăm confortul sintactic, ci locul în care formăm baze solide.
Dacă începem să confundăm „ușor de folosit” cu „suficient pentru formare”, riscăm să producem generații de utilizatori de biblioteci, nu de oameni care știu să gândească algoritmic.
În producție, Python este extrem de util.
În formare de gândire la 15–18 ani, însă, trebuie să fim foarte atenți ce sacrificăm în numele „simplității”.
—-
În plus, „diavolul se ascunde în detalii”, iar aici cred că se ratează miza reală. Această schimbare nu este doar o discuție tehnică despre un limbaj sau altul, ci are un efect foarte concret: justifică, în practică, eliminarea studiului pe grupe la clasele de matematică–informatică intensiv – asta este intenția ascunsa de fapt!!!.
Până acum, în planurile-cadru și în programe era menționat explicit că partea practică (laboratorul) se desfășoară pe grupe: clasa se împărțea în două, iar profesorul lucra separat cu fiecare jumătate de clasă. Acum această mențiune a dispărut complet. Nu mai apare nicăieri ideea de lucru pe grupe, ceea ce este extrem de grav din punct de vedere didactic.
Realitatea din teren este următoarea:
– majoritatea laboratoarelor de informatică din țară sunt mici, cu 14–15 calculatoare funcționale;
– de multe ori există un singur laborator cu 24–26 de posturi, din care nu toate merg;
– în clasele de 30–32 de elevi, asta înseamnă un număr semnificativ de elevi care „privesc”.
În aceste condiții, timpul real pe care îl poate acorda profesorul fiecărui elev scade dramatic. Nu ai cum să te „împarți” eficient la 30+ elevi în același laborator, să fii lângă ei când au nevoie de explicații, să corectezi, să ghidezi, să urmărești cum gândește fiecare. Eliminarea lucrului pe grupe înseamnă, de fapt, diluarea severă a actului educațional, exact în zona în care ar trebui să fie cel mai intens și mai individualizat.
Mi se pare aberant să faci o programă analitică pentru sute de mii de elevi ca să ai “masă de selecție la olimpiade”. Doar câteva sute de elevi participă la olimpiadele naționale și internaționale de informatică. Cu cei care nu vor olimpiade ce se întâmplă? De aceea România are atâția analfabeți funcționali! Cu așa profesori nu se va schimba nimic!
Limbaj de programare ,în liceu ?! 😃Dar parcă era vorba de aerisirea programei ?
In foarte multe scoli nu se face vre-un limbaj de programare, nu se fac nici macar lucurile de baza de la TIC. Laboratorul de info e un netcaffe.
o multime de profesori prost pregatiti care n-au mai progresat de 20-30 de ani sau mai rau, care nici macar n-au calificare pe respectivul domeniu, doar umplu golurile.
pentru cei care fac performanta, nu doar olimpica asta e o idiotenie de lege scoasa tot din aceeasi groapa cu rahat de unde isi ia ministrul asta ideile sau aproba ideile impuse de altii.
pai si asta vrea sa se studieze in continuare c, c++ , complicate, sau pascal care nu mai e folosit deloc, toata lumea inclusiv facultatile au trecut pe python.
De acord cu comentariul anterior. In definirea oricarei programe ar trebui plecat de la ‘ce vreau sa obtin/produc’, ‘ de ce asta si nu altceva’ si continuat cu ‘ cum ajung acolo’, tinand cont si de resursele reale ( inclusiv capacitatea elevilor, pregatirea profesorilor, dotarea materila reala). Altfel, nu e decat o (noua) prostie.
De fapt, sunt multi „universitari” care cred ca python este varful creatiei in domeniul limbajelor de programare. Marea problema vine de acolo…
Funny fact: care-i rezultatul operatiei 0.1+0.1+0.1-0.3, in python?
Aproximativ 5.551115123125783e-17
Nu-i chiar 0, dar e pe acolo…
Dar 3*0.1-0.1-0.1-0.1? Da 0 sau… -2.220446049250313e-16
Da, este un limbaj romanesc, pentru ca te invata ceva simplu: merge si-asa.
Sunt de acord că programa de informatică trebuia modernizată, iar introducerea Python și a OOP este un pas înainte. Totuși, nu mi se pare potrivit ca Python să fie primul limbaj pentru elevii care vin în clasa a 9-a fără nicio bază, mai ales că în gimnaziu nu se învață aproape nimic serios. C++ rămâne, după părerea mea, un limbaj ideal pentru început, pentru că îți formează o gândire tehnică solidă și face mult mai ușoară trecerea către limbaje precum Java, C# sau chiar Python.
De aceea cred că un echilibru ar fi cea mai bună soluție: clasa a 9-a axată în mare parte pe C++ pentru fundament, iar apoi trecerea treptată spre Python, care într-adevăr este viitorul și merită studiat serios. Sunt de acord cu inițiativa, dar nu cu modul în care este implementată acum. Python e binevenit, dar nu ca prim limbaj.
Și mai e ceva esențial de spus aici: vrei să faci o asemenea schimbare? Atunci explici limpede de ce, vii cu argumente solide și fundamentate, stai de vorbă cu toți cei implicați – profesorii ăia care au muncit zeci de ani cu generații de elevi, de la zero, și au pus bazele sectorului IT din România.
Oamenii ăștia chiar meritau să fie ascultați, meritau un pic mai mult respect. Te consulți cu ei, faci un plan împreună, gândești, pentru că niciunul dintre ei nu vrea răul copiilor. Ei au muncit an după an, pe un salariucu mult sub cat ar fi fost corect, în timp ce voi, politicienii, v-ați ocupat de cu totul altceva.
În schimb, ce vedem acum? Pui în frunte pe cineva care n-are habar despre ce e vorba, dar a auzit la TV sau pe TikTok că vine AI-ul și „face tot”, deci nu mai e nevoie de programatori și, dintr-odată, își imaginează că produce o mare schimbare de paradigmă.
Își adună o echipă de aplaudaci din mediul universitar sau din minister, care încropește o așa-zisă programă cu, în esență, doar două scopuri: să servească interesele celor care vor să împingă în față nou-apăruta olimpiadă de inteligență artificială și să-i permită ministrului să se laude triumfător că a mai tăiat un 0,0000x% din bugetul educației, sub pretextul că Python e un limbaj „ușor” și nu mai e nevoie de studiul pe grupe.
Dintre toate problemele care sunt in învățământul românesc fix asta cu schimbarea programei la mate-info intensiv trecerea de la c++ la Python și desființarea grupelor era cea mai mare urgență. Bravos! Se vad bunele intenții.
Hă-hă, ce jalnic e domnu’ ăsta de zice să nu schimbăm nimic cum că Societatea pentru Excelență și Performanță – la care chiar el e vice preș – iși pierde ”mușterii” și implicit domnia sa nu mai e ”la butoane”.
Alt argument pentru a nu schimba nimic in opinia celui ce-și jelește deja scaunul de șef, e că dacă am face așa, am afecta infrastructura deja construită (manuale și platforme de pregătire deja prăfuite) și că – vezi doamne – nu vor mai putea fi folosite.
Ca o concluzie: cu indivizi ca ăștia, nu am progresa nici un milimetru, o sută de ani de acum incolo.
Așa că treceți domnule ministru la noile tehnologii, promovați-le urgent prin noile programe școlare și aruncați la lada de gunoi vechiturile ce pun frână in calea progresului!
problema nu este asta cu olimpiada cat faptul ca phyton nu dezvolta gandirea algoritmica și nu permite invatarea unui limbaj de programare structurat.
scoala e pt formarea gandirii. nu pt finalitati . dar pt majoritatea. prea mult ..
python se invața in 13 sapt la fac. dar doar de către cei care stiu algoritmica.
algoritmica se invața cu C.