Eminescu şi backtracking-ul

Există un mare respect pentru ‘materiile de la şcoală’. Un respect care dă în frică, o frică aproape iraţională pe care ar merita să o reconsiderăm.

În seara asta stăteam la o vorbă cu Radu despre cît de utilă e programarea care se învaţă în şcoală. Venind dintr-un liceu de informatică, te întrebi care este nivelul de cunoştinţe în materie de calculatoare pe care ar trebui să-l ai la finalul liceului. Ştim foarte bine care sunt problemele şcolii româneşti, şi probabil o să repet acelaşi lucru pe care l-aţi mai auzit. Se face prea mult (sau prea puţin) şi degeaba. Se studiază C++ (“auzi, fată, tu te descurci la deceplus plus-ul ăla?”) şi se studiază FoxPro?!?! (nu, acum serios, Fox Pro?!?!?!). De ce(++)? Nu-mi dau seama, poate e un mod de a scoate analfabeţi în materie de calculatoare din liceu.

În urma discuţiei, mi-am dat seama de un lucru: cel mai potrivit mod de a ţine un om în ceaţă e să-i dai mai multe detalii decît îi trebuie. Şi mai am o teorie: că elevii de liceu sunt prea imaturi ca să li se predea algoritmi pe pîine. Pînă la urmă din liceu ies o mulţime de oameni care cred că backtracking e soluţia finală, şi nu înţeleg ce înseamnă timp care creşte exponenţial. Nici nu au de ce, vorbim de nişte copii de 16-17 ani încercînd să lege trei idei. Sunt învăţaţi nişte metode de programare absolut imbecile, elevii sunt obligaţi să recite pe de rost algoritmi semioptimizaţi pe care nu au cum să-i înţeleagă. Şi cel mai rău, li se inspiră o repulsie faţă de o materie care este, în realitate, superbă. Pentru că ce e mai frumos la o problemă decît o soluţie elegantă, şi un algoritm care să exprime acea soluţie?

Backtracking-ul este un fel de Eminescu al programării. Toată lumea învaţă backtracking-ul, dar singurul moment în care îl foloseşti este atunci cînd vrei să arăţi că-l ştii. Este acel element inutil care se insinuează în ideea de şcoală, este acel lucru care se predă doar pentru a fi tocit pe de rost, neînţeles, şi folosit de fiecare dată cînd vrei să te baţi cu pumnii în piept că tu ştii mai bine.

Întotdeauna m-am întrebat care e figura cu Eminescu. Ce au oamenii de nu-l lasă pe bietul Eminescu să se odihnească. De ce revine atît de obsesiv cînd e vorba de şcoală. La fel, toată lumea se plînge că Ştefan cel Mare, Mihai Viteazu şi alţii sunt pomeniţi fugitiv în cărţile de istorie recente. Aici totuşi nu mă plîng pentru că ştiu cît de importantă e retorica de tip ‘naţional’ – nu am avea nazism fără ea, nu? Viaţa ar fi nedreaptă fără extremisme. Dar să nu deviem.

Există, aşadar, un mare respect aproape religios pentru materiile din şcoală. Manualele şcolare sunt incontestabile, precum Biblia; nimeni nu-şi pune problema valorii lor. Un exemplu se cere pentru a ilustra această situaţie. Dau un premiu pentru cel care îmi spune care este cel mai vechi manuscris în limba română? (chiar cu caractere chirilice). Scrisoarea lui X din Cîmpulung, aşa-i? Deschide manualul, aşa scrie acolo.

Blogul nu-mi permite, dar imaginaţi-vă o palmă care pică peste feţele inepte care spun aşa ceva fără să clipească.

Pentru curioşi, cel mai vechi manuscris în limba română este găzduit de muzeul primei şcoli româneşti din Braşov. Din cîte ţin minte e datat pe undeva pe la anul 1000, ceva mai devreme decît scrisoarea respectivă. Problema mare cu acest text este că el e incomod. Există nenumărate comentarii despre scrisoarea lui X din Cîmpulung, şi nu îşi doreşte nimeni să ameţească copiii, nu? Şcoala predă adevăruri absolute. Ori adevărurile absolute trebuie să fie consistente de-alungul timpului, nu?

Soluţia a fost: “hai să stabilim nişte adevăruri absolute, şi să le ţintuim în minţile românilor. Nu o să fie adevărul, dar o să fie o bază comună pe care ştim că putem manevra”.

De-asta vezi oameni atît de agitaţi că Eminescu e contestat. Cum adică, poetul nepereche? Cum adică, eroul Mihai Viteazu a fost doar un aventurier care căuta bani şi faimă? La o adică, România a fost un stat care doar s-a apărat! (depinde cum interpretezi momente precum luptele de la sud de Dunăre din 1877, prezenţa trupelor române la Stalingrad sau momentul în care armata română a salvat temporar de comunism Ungaria, în 1919).

Învăţămîntul românesc e un învăţămînt puternic de stînga, cu un caracter comunist. Învăţămîntul românesc încă e orientat către crearea omului nou, multilateral dezvoltat; cînd colo, din învăţămîntul românesc ies epave cu excepţia (din ce în ce mai) puţinelor cazuri în care elevii chiar reuşesc să mai facă conexiuni. Învăţămîntul românesc nu e orientat spre educarea de oameni care să se integreze într-o societate – din contră, învăţămîntul românesc e orientat spre educarea de profesori de facultate, cu rezerva că spălarea pe creier e necesară pe criterii politice. Învăţămîntul românesc nu a părăsit încă comunismul, şi va mai rămîne acolo cît timp indivizi inconştienţi vor declama grav: “Cuuuuum? Nu se face Eminescu în şcoli? Se scuipă pe mîndria naţională!!!”.

Acum vă întrebaţi de ce o postare despre programare sfîrşeşte tragic în Eminescu? Am întrebat şi eu în stînga şi-n dreapta oameni care sunt (sau par) treji la ore tîrzii precum aceasta despre cînd au pomenit ultima dată de Eminescu, nelegat de şcoală. Nimeni, dar chiar nimeni, nu a avut nevoie de Eminescu în afara şcolii. Eminescu se identifică cu ideea de şcoală. Eminescu e un fel de a spune: “da, îţi dau diplomă de sculer matriţer, dar înainte demonstrează-mi că poţi să stai în mîini timp de zece secunde aplaudînd în acelaşi timp”. Eminescu e util doar pentru ideea de Eminescu, şi atît. Eminescu e un subiect rotund, autocomplet, un sistem închis care, ce e mai trist, nu aduce nici un pic de valoare. Gîndiţi-vă la Eminescu ca la o bilă de plastic într-o piscină. Nu există schimburi între bilă şi piscină. Piscina, din contră, ar fi mult mai curată dacă bila respectivă ar fi scoasă de-acolo, pentru că în jurul ei se strîng tot felul de gunoaie.

Eminescu e un efort lăudabil, dar inutil în afara şcolii.

La fel şi backtracking-ul, şi multe din anacronismele care s-au predat la informatică. Pînă acum nu am văzut nicăieri o soluţie care să vină natural cu backtracking. Am văzut că se pot imagina zeci de probleme care pot fi rezolvate aşa, dar nu am văzut probleme REALE în care backtracking-ul să fie soluţia sine qua non (excepţia notabilă este atacul prin forţă brută, dar dacă cineva îmi spune că de-asta se face un an, doi de backtracking în liceu eu îl mănînc. Fără sare). Mai mult, backtracking-ul e refugiul incompetenţilor, ceea ce îmi întăreşte asemănarea cu Eminescu.

Există un prea mare respect pentru materiile de la şcoală. Un respect care dă în frică iraţională pe care ar trebui să o reconsiderăm. Şcoala nu trebuie să existe pentru a se păstra intactă, ci şcoala trebuie să adauge valoare. Eu sunt sigur că un român de la anul 1930 s-ar fi lipsit de educaţie dacă un an întreg de şcoală i s-ar fi predat Eminescu. De ce? Eu cred că pentru că românii pe la anul 1930 dispuneau de un dram de coloană vertebrală care îi împiedica să investească un an din viaţa lor în Eminescu. Vorbim de o lege simplă a investiţiei: trebuie să primeşti mai mult decît investeşti.

Mă întreb cîţi români se gîndesc la cît investesc în şcoala odraslelor şi cît primesc odraslele lor pentru investiţia lor. Şi mă gîndesc aproape ca un anarhist: cum ar fi dacă oamenii ar învăţa NUMAI ce ar dori ei, fără să mai treacă prin filtrele şcolare inutile. Nu zic ca situaţia şcolară ar fi mai bună, dar mă întreb: situaţia socială şi umană nu ar fi serios îmbunătăţită? Nu ar răspunde o astfel de şcoală mai bine nevoilor curente din societate?

În cele din urmă… de ce se face şcoală? Pentru satisfacţia profesorilor, sau în interesul elevilor?

Gata, destul pe ziua de azi. Ştiu, nu am fost foarte coerent, dar revin după o lipsă îndelungată 🙂 Aşa că aveţi răbdare cu mine.

Comments

Eminescu şi backtracking-ul — 16 Comments

  1. Dorin,
    Cind ai scris acest articol erai suparat, cu siguranta.
    Eminescu si backtrackingul nu au nimic in comun. Eminescu, chiar si pentru marii circotasi, atunci cind stau pe buda si sint sinceri, daca se intimpla sa vrea sa fie, este echivalentul culturii. Algoritmul ala, da, recunosc, nu mi-a ajutat la mai nimic (desi, pe moment, produce o cristalizare a mintii, lucru util pentru un viitor programator). Ce nu vrei tu sa vezi este ca limba romana era alta inainte de E si a ramas complet schimbata in bine, dupa citiva ani de E. E nu mai e un brand pentru ca astazi ti se pompeaza alte branduri si tinerii nu mai au nimic in comun cu el.
    O polemica sterila, in fata calculatorului, dis-de-dimineata, nu are rost. Daca E va muri, si e pe cale sa se intimple, si sufletul romanesc va muri, in buna parte.
    Iar daca E nu-ti mai spune nimic, atunci ar fi bine sa citesti citeva aparitii recente de la o editura celebra, romaneasca, gen “nu toata iarba e la fel”. Atunci, sper, imi vei da putina dreptate!

    si te astept la un vin sa dezbatem problema.

  2. Ceea ce nu am exprimat suficient de clar este faptul că Eminescu în momentul ăsta e masă inertă. La fel şi ideea de algoritmi predaţi în liceu sub nume pompoase.
    Nu neg valoarea lui Eminescu, neg valoarea lui Eminescu predat timp de un an în şcoală. Obligînd copiii să înveţe pe de rost chestii insipide despre Eminescu, şcoala îi face lui Eminescu un mare deserviciu. Eminescu e tern pentru că e de neatins; Eminescu nefăcînd parte din schimburi intelectuale şi-a pierdut valoarea. Eminescu a murit din punctul ăsta de vedere.
    În liceu eu am învăţat C cînd ceilalţi făceau Pascal, şi făceam 2D/3D rendering cînd ceilalţi se luptau cu pointerii în C. Un om pasionat de limba română îl va descoperi pe Eminescu cu mai multă plăcere dacă nu i se va impune din partea şcolii o imagine oficială. Li se ia elevilor şansa de a decide pentru ei înşişi. Sună a comunism? Eu sunt sigur că e efectul lui 😉

  3. Cum? sa nu se mai predea Eminescu? si anii intre care au domnit toti in toate regiunile posibile? si nici backtracking? grija mare ce vorbesti, ca nu te vad in clar…

    da, e aiurea ca modul de prezentare a lucrurilor si motivatia (sau lipsa ei) indeparteaza oamenii de lucrurile care sunt faine. Backtracking are sensul lui, dar se intelege complet, dupa parerea mea, doar in comparatie cu alte metode de cautare oarba. Si problemele de cautare sunt usor de inteles si superb explicate in AIMA, “http://aima.cs.berkeley.edu/” (hint: puzzle si probleme ce aparent se rezolva prin grafuri, dar practica te omoara…). Implementarile de backtracking din Tudor Sorin mi s-au parut intotdeauna faine si usor de stapanit (btw, prezentarea lui TS imi aduce de template design pattern, doar ca nu ii spune pe nume; si nu e, din cauza ca Pascal si C nu sunt pe obiecte; dar tot seamana). Lipseste insa motivatia: de ce as invata? cand aplic? cand sa nu aplic? Oamenii ies din liceu cu impresia ca backtracking e panaceu. O fi, daca singurul limbaj pe care il practici e Prolog. Altfel… antipattern curat.

    La Eminescu nu ma bag, ca am uitat tot ce mi s-a predat. Instructiv de citit, dar cred ca e la fel cu backtracking-ul: supra-prezentat. Nu ca nu ar avea ce, omul a fost genial (poezia “La steaua” era comentata mai demult intr-o culegere a lui Sandu, dpdv al interpretarilor din fizica; adanc substrat in poezia aia…), dar oamenii ies suprasaturati de niste date (nu informatii) de care se dispenseaza la prima cotitura. Nah, am zis ca nu ma bag si m-am bagat.

  4. Bine expus punctul de vedere; exista totusi o diferenta intre cele doua: Eminescu e, dupa spui, o filosofie si multi o sa se agite daca se pune problema sa fie scos din programa. Backtrackingul e acolo in lipsa de altceva mai bun, si n-ar fi prea multe probleme daca ar fi inlocuit cu ceva mai bun.

  5. @lmsasu: motivaţia se formează; vorbim şi de pasiune, nu numai de informaţie. E clar că informatica de liceu trebuie să seducă pentru a atrage mai mulţi oameni pasionaţi, nu să respingă printr-o structură greoaie şi imbecilă pe alocuri. Cît despre Eminescu: nu îi neg calităţile, ci doar plasarea lui în sistemul de învăţămînt.
    @Petru: Mi-e neclar ce caută backtracking-ul în liceu mai ales cînd există atîtea alternative. Vorba lui Radu: cineva mai bine le explica elevilor ce se întîmplă cînd trimit ei un mail. Programarea se poate face şi la modul: “hai să programăm x, y sau z” şi fundamentul de bază al materiilor de programare să fie descoperirea, nu norma, nu dogma.

  6. Eu m-aş băga. 🙂 Dar cred că doar scoţînd backtracking-ul din licee nu rezolv nimic, şi problema e de fapt mult mai sus.

  7. E acolo din motive de incompetenta. Lipsesc multi “cineva” care sa explice. Te bagi? 😛

    (stiu ca ai incercat si ti-am citit parerile – daca era o problema simplu de rezolvat backtrackingul nu mai era de mult in liceu)

  8. eminescu a devenit un mit (literar & national); pe de o parte, s-a scris ENORM despre el, iar pe de alta parte, intr-adevar, scoala l-a ‘impaiat’ in formule-clisee comode, asa incat sa-l percepi pe eminescu pur si simplu, direct, sa-i iei un volum si sa-ncepi sa citesti – de dragul lecturii, ca cercetare sau de curiozitate – pare ceva de neconceput.
    ideea nu e ca eminescu n-a fost mare, ci ca in scoala aproape nimeni nu-si pune problema ‘de ce?’, ca nu se incurajeaza interogarea valorii lui – in mod constructiv -, ca pe elevi nu-i invita/provoaca nici dracu’ la o lectura proaspata si deschisa, dezbarata de parerile criticilor consacrati (vezi monumentalul calinescu, de pilda, pe care elevii mai degraba se multumesc sa-l citeze cu sfintenie decat sa-si arunce propria privire/minte peste versurile lui eminescu; bine, si critica isi are rostul ei, dar in cantitati bine dozate cand vorbim de liceeni care probabil ca nu vor ajunge chiar filologi cu totii – cazul meu, in paranteza fie spus) s.a.m.d. (c-am pierdut sirul.) 😀

  9. Nici nu au de ce – mai ales în ideea că la bac Eminescu tot genial trebuie să rămînă. 🙂 Şcoala nu încurajează spiritul critic, dar nu despre asta vorbeam eu acolo.
    Vroiam să punctez faptul că lucruri bune sunt prezentate într-un mod total idiot şi primează inutilul asupra utilului. Eminescu e doar o victimă, elevii la fel, sunt doar victime… Şi avem un sistem de învăţămînt de victime, în care toată lumea sîngerează. Rău, rău 🙁

  10. ,,Obligînd copiii să înveţe pe de rost chestii insipide despre Eminescu, şcoala îi face lui Eminescu un mare deserviciu.”

    Dar, daca aceeasi scoala i-ar invata pe copii ADEVARUL despre Eminescu?…

    Eminescu interzis. Gandirea politica
    http://www.1-clickshare.com/download.php?file=f5a602f815da0d70d715db1a2f35a306_8437

    Spre Eminescu. Raspuns romanesc la amenintarile prezentului si la provocarile viitorului
    http://www.1-clickshare.com/download.php?file=57628dd92d67d1e4e9717cc74c917dfb_8433

    Cartile acestea au CopyLIBER.

  11. Cred ca inteleg ideea centrala a insemnarii tale. Sunt un extremist uneori si consider ca un deserviciu mare s-a facut scolii in momentul in care au devenit obligatorii 10 clase. Parerile mele pe scurt sunt:
    – daca un elev nu vrea informatica ce cauta la o clasa de informatica (motive subiective exista tone)
    – daca backtracking nu e o solutie buna, de ce brute force este inca folosit?
    – gandirea critica apare atunci cand un sistem este bine cunoscut. spre exemplu muzica si pictura. pana si andy warhol stapanea tehnici clasice, sau david bowie stie sa cante la pian clasic. si alea se invata intr-un regim strict. unde nimeni nu cracneste. se invata pana devine reflex. abia apoi poaate sa apara gandirea critica. altfel toti programatorii ar stapani programarea precum eu pictura si muzica

    @lmsasu: ce vremuri…tudor sorin…
    @petru: exista atatea lucuri care se pot face si daca nu se predau probleme de backtracking, dar nu ar avea farmec in lipsa bad-guy-ului.

  12. @Alexandru: brute force e încă folosit pentru că există metode degenerative de creare a unor chei (de exemplu). Asta înseamnă că nu există bijectivitate, şi nu poţi avea o funcţie inversă. Neexistînd o astfel de funcţie, probabil că singura cale pentru a obţine respectiva cheie va fi încercarea tuturor posibilităţilor (un răspuns negîndit prea mult).
    Desigur că gîndirea critică apare atunci cînd se cunoaşte complet un fenomen. Dar în momentul cînd acel fenomen devine inert, şi e un păcat de moarte să vorbeşti contra lui… nu mai ai nimic să stimuleze gîndirea (critică sau nu)

  13. ai dreptate cu brute-force. vroiam insa sa arat ca a rezolva probleme prin muschi si nu prin creier este totusi o arta. 🙂

    intr-adevar este o crima sa iti contrazici maestrul (profesorul), dar dupa 4 ani il poti baga oriunde. scepticismul ar trebui dobandit din liceu.

    eminescu si backtracking trebuiesc lasate. trebuiesc insa lasate si prezentate portitele criticarii lor.

  14. Aici e necazul meu. Pentru Eminescu şi alte subiecte care au devenit inatacabile nu există critică reală. Şi nici măcar deschidere către ideea de critică.
    “A vorbi despre poet e ca şi cum ai striga într-o peşteră adîncă”. G. Călinescu 🙂

  15. Pingback: Facebook vs. Viață | dorinlazar.ro