Despre concursurile de software
La sfarsitul saptamanii trecute am participat impreuna cu Razvan la concursul Infomatrix 2008 in calitate de membri al juriului la categoria Programming. Infomatrix este un concurs de aplicatii software si harware pentru elevi de liceu, aflat la a 6-a editie. Incepand de anul trecut, concursul este adresat si studentilor. Personal sunt un fan al acestui tip de concursuri si consider ca fara ele am avea mai putini elevi interesati de programare.
Prima data am aflat de un concurs de acest gen cand eram in liceu, in clasa a 9-a, cu 3 zile inainte de organizarea unei "sesiuni de comunicari pentru elevi" asa cum se numea pe atunci. Am aflat mai apoi ca era vorba despre faza judeteana a unui concurs national de software - NoiInfo - ce urma sa se desfasoare la Timisoara. M-am apucat impreuna cu Razvan sa lucram la o aplicatie si n-am dormit noptile pana la concurs, de frica lipsei de timp. Ne-am dus cu programul pe o discheta, ne-am calificat mai departe. Am plecat la Timisoara cu mare entuziasm si ne-am intors cu o mare dezamagire. Am avut prezentarea programata pe la 8 seara, cand juriul ne-a incurajat inainte de a incepe: "daca ati putea sa terminati mai repede, v-am fi recunoscatori". Totul nu a durat mai mult de 5 minute, deoarece juriul probabil era cu gandul mai mult la cina decat la aplicatia noastra.
Ne-am intrebat daca nu cumva am avut asteptari prea mari de la juriu. Prezentasem o aplicatie client-server prin care un calculator se putea controla de la distanta de la un alt calculator. In juriu erau 2 studenti si 2-3 profesori. Daca de la profesori multi participanti nu se asteapta de obicei sa primeasca intrebari prea tehnice (desi cunoastem exceptii notabile), de la cei doi studenti ne asteptam la mai multe cunostinte si mai multe intrebari. Ne asteptam sa ne intrebe cum facem transferul capturilor de ecran, cum compresam fisierele transferate, cate resurse de calcul necesita.. Nu am primit nicio intrebare tehnica. Am primit numai doua intrebari din partea juriului, grabiti spre masa de seara, dupa care prezentarea s-a terminat. Mai mult, desi in formularul de inscriere indicasem nevoia a doua calculatoare legate in retea pentru o prezentare optima, am fost nevoiti sa prezentam aplicatia pe un singur calculator.
In clasamentul final am iesit pe ultimele locuri. Dezamagiti, dar dornici de a obtine sugestii de imbunatatire, i-am abordat pe cei doi studenti. Dupa ce i-am intrebat cum am putea sa ne imbunatatim proiectul a urmat o pauza de cateva secunde, dupa care ne-au raspuns: "mai cititi pe acolo prin MSDN cum se poate face mai bine".
Urmatorul concurs la care am participat a fost faza nationala a InfoEducatie, un concurs care va ajunge anul acesta la a 14-a editie. InfoEducatie este primul si cel mai longeviv concurs de acest gen din Romania. La prima participare am aflat de un nou concept: intrebarile din public. Daca la NoiInfo intrebarile veneau numai din partea juriului, la InfoEducatie intrebarile pot veni din partea tuturor celor prezenti la prezentare. In opinia noastra, acesta este unul din punctele forte ale concursului. Un alt concept de care am aflat la InfoEducatie, a fost acela de copiere a lucrarilor. Am asistat la prezentarea unui baiat de clasa a 7-a care genera executabile pentru self-extract de imagini. Curios fiind de modul de generare a executabilului, l-am rugat sa ne arate codul sursa, pentru a vedea ca nu era scris de el, desi sustinea contrariul.
Povestioara de mai sus ne-a lasat la momentul respectiv un gust amar, calitatea juriului si onestitatea participantilor fiind in opinia noastra cele mai sensibile aspecte ale concursurilor de software de pe la noi. Deoarece ca particpanti ne-am lovit de multe ori de aceste aspecte, am considerat mai tarziu necesara implicarea in astfel de concursuri pentru a incerca sa schimbam ceva.
Desi am participat in juriu la mai multe concursuri de acest gen, observam ca vechile practici ale concurentilor raman neschimbate. Exista printre anumiti participanti mentalitatea ca juriul nu are competenta tehnica pentru a evalua lucrarile si astfel se incearca exploatarea acestei ipoteze. La toate concursurile unde am fost membri ai juriului s-a intamplat sa gasim, din pacate, cel putin o lucrare copiata. Cel mai rau este atunci cand astfel de lucrari iau premii si medalii, asa cum am vazut ca a fost cazul la cateva concursuri.
Ca sa nu fim intelesi gresit, este absolut OK sa se foloseasca cod existent, pentru ca nu vrem mereu sa reinventam roata, atata timp cat acest lucru este specificat si se delimiteaza contributia personala a participantului.
Personal am privit concursurile de software ca pe un mod de dezvoltare personala si profesionala, incepand de la cunostintele de programare si terminand cu abilitatile de prezentare in fata unei audiente largi si intr-un timp limitat. Am dobandit multe cunostinte tehnice lucrand la proiecte pe care le-am prezentat la InfoEducatie, privind an de an concursul si competitia ca pe o sansa de a inova sau cel putin de a acumula noi cunostinte.
Este trist faptul ca singurul castig pe care il vad unii participanti este cel material. Din pacate, acesta este unul pe termen scurt. Multe din proiectele realizate sunt "pentru a lua premiu" si nu pentru a rezolva o nevoie existenta sau pentru acumularea de cunostinte. De asemenea, multi dintre participanti doresc un castig rapid cu un efort minim, timpul alocat dezvoltarii proiectelor fiind tot mai mic. Fenomenul este similar cu cel din mediul online, unde multi viseaza sa faca peste noapte urmatorul YouTube sau Facebook fara prea mult efort.
Exista totusi si exceptii, asa cum este infoarena, un proiect prezentat pentru prima oara in 2003 la InfoEducatie si dezvoltat ulterior in cea mai puternica comunitate online romaneasca pentru cei interesati de algoritmica.
In momentul de fata, firmele se plang ca nu gasesc absolventi bine pregatiti, iar un raport recent spune ca elevii romani sunt tot mai slab pregatiti. Oare daca am incuraja si sprijini mai mult concursurile de creatie software precum InfoEducatie, CIA si InfoMatrix (la liceu) si ImagineCup (pentru facultate), situatia ar fi diferita?
May 27th, 2008 - 17:35
Salut Bogdan, Razvan!
Va multumesc pentru mentiunea cu infoarena!
Si eu, ca si voi, datorez mult concursurilor de informatica. Am fost de 4 ori la InfoEducatie in calitate de participant si am invatat enorm de multe lucruri relativ la cat stiam deja.
Pot sa confirm faptul ca la fiecare concurs la care am participat/jurizat s-au gasit unul-doi care sa vina cu lucrari plagiate.
InfoEducatie are in general parte de jurizare buna. Am participat linistit de fiecare data, nu mi-am facut probleme ca alti concurenti plagiaza si nu sunt prinsi. Asta e in mare parte meritul comisiilor de jurizare – in general foarte bune – dar si datorita faptului ca publicul poate asista si adresa intrebari participantilor.
In 2005 si 2006 am participat ca membru in juriu si am avut grija sa pastrez traditia
Eu recomand elevilor si studentilor sa participe la cat mai multe concursuri de acest gen. Este extraordinar de valoros sa ai ocazia sa gandesti si sa implementezi un proiect cap-coada, dupa care sa vii sa-l prezinti la un juriu si in fata unei audiente. Bonus pentru proiectele facute in echipa (multi-disciplinara)!
De asemenea, recomand elevilor interesati de informatica si programare sa participe la olimpiadele de informatica. Orice programator bun are nevoie de o baza solida de algoritmi si structuri de date. Olimpiadele sunt un mod (dar nu singurul si nici cel mai eficient!) de a construi aceste baze.
Mie mi-ar placea sa vad un fel de concurs care imbina ambele directii – “teoretice” (olimpiade) si “practice” (InfoEducatie/InfoMatrix/CIA etc.).