Blog infoarena

CUBRID Bug Bash

pauldb
Paul-Dan Baltescu
07 septembrie 2011

Începând cu data de 1 septembrie, în cadrul comunităţii CUBRID are loc concursul CUBRID Bug Bash. Concursul ţine până la sfârşitul lunii, iar scopul principal este de a identifica şi raporta cât mai multe defecte software (bugs) ce ţin de o parte din tool-urile folosite în dezvoltarea RDBMS-ului CUBRID. Premiile se anunţă foarte interesante:

  • pentru cel mai tare contribuitor: Apple iPod Touch 32GB
  • pentru următorii 6 contribuitori: $50 Amazon/iTunes Gift Card
  • pentru cei mai tari 3 retweeteri/bloggeri: $50 Amazon/iTunes Gift Card

Evaluarea concursului va fi realizată de către echipa tehnică CUBRID care va clasifica obiectiv defectele/problemele semnalate în funcţie de severitate (minor, major, critic). În urma acestei clasificări, fiecărui bug/issue semnalat i se va acorda un punctaj, iar câştigătorul concursului va fi cel care va însuma cel mai mare punctaj la final.

Pentru necunoscători, CUBRID este un RDBMS open-source dezvoltat de o echipă din România care işi propune în perioada următoare să devină o alternativă a mult mai folositului MySQL. Echipa CUBRID a mai organizat concursuri apropiate ca tematică de cele desfăşurate în cadrul comunităţii inforarena şi în trecut.

Pentru mai multe detalii legate de acest concurs, consultaţi pagina competiţiei.

 Comentarii (0)

Festivalul de Tehnologii Informatice 2011

pauldb
Paul-Dan Baltescu
03 iulie 2011

Asociaţia GREPIT organizează  în perioada 25 – 31 august 2011, la  Botoşani, „Festivalul de Tehnologii Informatice 2011”. Festivalul reprezintă o oportunitate de învăţare şi schimb de experienţă pentru tinerii pasionaţi de IT.

În cadrul festivalului vor avea loc următoarele evenimente principale: ateliere de lucru foto-video, schimburi de experienţă IT şi Concursul „GREPIT”, ediţia a VI-a. Concursul se va desfăşura pe toată perioada festivalului. Secţiunile competiţionale vor fi: design şi dezvoltare web, software (utilitar, mobil şi jocuri), media (stop motion şi video). Începând cu 18 mai, se vor putea realiza înscrieri pentru participarea la etapa finală a evenimentului. Acestea se vor realiza prin intermediul formularului pentru înscrieri de pe saitul www.grepit.info, urmând instrucţiunile oferite de către organizatori. Participarea, ca şi concurent, este permisă doar tinerilor cu vârste cuprinse între 14 şi 20 de ani, indiferent dacă sunt elevi sau nu. Lucrările pot fi realizate de către echipe alcătuite din cel mult 2 membri, în funcţie de complexitatea lucrării.

Atelierele de lucru foto-video şi schimburile de experienţă IT îşi propun instruirea participanţilor şi împărtăşirea cunoştinţelor în domeniul media şi cel al tehnologiilor informatice de către specialişti în domeniu, dar şi de către participanţi, cu scopul de a-şi dezvolta mai departe propriile aplicaţii care au fost prezentate în cadrul Concursului “GREPIT”, ediţia a VI-a.

Faţă de ediţiile anterioare, anul acesta participanţii au ocazia să ia parte la un program de mentorat online, care se va desfăşura  începând cu 1 iulie. Prin intermediul mentoratului, GREPIT  îşi propune consilierea tinerilor care doresc să realizeze un proiect realizabil, de calitate.

Ultima zi pentru înscrieri este 14 august. Rezultatul preselecţiei va fi afişat pe 16 august, în urma jurizării lucrărilor de către un juriu. Cei selectaţi pentru etapa finală vor participa la evenimentele din cadrul Festivalului de Tehnologii Informatice 2011, unde vor avea cazarea şi masa asigurată de către organizatorii evenimentului. La sfârşitul evenimentului, participanţii vor fi iniţiaţi în direcţia dezvoltării abilităţilor de comunicare interactivă, de dezbatere şi dialog competitiv, de promovare şi susţinere a unei idei. Concomitent se urmăreşte încurajarea şi dezvoltarea unor abilităţi de lucru în echipă, dar şi formarea de grupuri de studiu şi lucru în domeniul tehnologiilor informatice.

„Concursul GREPIT promovează ideile geniale, inovaţia, originalitatea şi calitatea lucrărilor, dar şi libertatea şi gândirea critică. Cred că concursul organizat de Asociaţia GREPIT are o contribuţie serioasă la orientarea tinerilor programatori şi dezvoltarea competenţelor viitorilor profesionişti în IT., a declarat Lucian Apostol, organizator al Festivalului.

Partenerii principali ai acestei iniţiative sunt TEHNE - Centrul pentru Inovare în Educaţie şi Fundaţia Naţională pentru Dezvoltare Comunitară.

Despre  GREPIT

GREPIT este o iniţiativă dedicată dezvoltării competenţelor tinerilor pasionaţi de calculatoare, prin simularea unui mediu competiţional dar şi colaborativ, provocator şi fascinant, similar cu domeniul IT din secolul XXI. Mai multe informaţii despre GREPIT sunt disponibile la adresa: www.grepit.info/despre.

Pentru mai multe informaţii, îl puteţi contacta pe preşedintele asociaţiei GREPIT, Doru Ştefănescu, la numărul de telefon 0747 164 414 sau la adresa de email [email protected] !

 Comentarii (0)

F11 Competition 2011

pauldb
Paul-Dan Baltescu
02 martie 2011

In perioada 1 martie - 31 mai 2011 va avea loc o nouă ediţie a concursului naţional F11 Competition, organizat de Facultatea de Informatică Iaşi. Concursul se adresează atât studenţilor, cât şi elevilor şi are 3 secţiuni principale: Tehnologii Web, Algoritmică şi Artă digitală. Pentru mai multe informaţii, vă invităm să citiţi descrierea detaliată a evenimentului:

Susţinut de companii software de renume precum Amazon, Code40, Continental, Embarcadero, Microsoft, Movial, Syncro Soft şi The Red Point, concursul naţional de informatică F11 Competition a fost lansat! Premiile deja depăşesc suma de 2000 de euro!
 
Vom beneficia de:
- sesiuni de training ale companiilor partenere, în care aveţi ocazia să cunoaşteţi cele mai noi tehnologii;
- cursuri introductive în care aveţi ocazia să aflaţi despre mediul academic la Universitatea A. I. Cuza, Iaşi;
- oportunitatea unui stagiu de practică (internship) la companiile partenere.
 
Concursul se desfăşoară în 2 etape:
- etapa de pregătire/dezvoltare - 1 Martie - 20 Mai - care se desfăşoară online, pe situl F11 Competition;
- etapa finală - 27 Mai - 29 Mai - se desfăşoară la Facultatea de Informatică, Universitatea A. I. Cuza din Iaşi.
 
Echipele de 1-3 elevi şi/sau studenţi pasionaţi de tehnologii Web au la dispoziţie o serie de propuneri de proiecte cuprinzând imaginarea de soluţii de ghidare a utilizatorilor pe baza realităţii îmbogăţite (augmented reality) până la dezvoltarea de platforme de organizat evenimente sau aplicaţii de navigare pentru dispozitive Android. Termenul-limită de implementare este 20 mai, iar echipele pot alege un mentor. Echipele care realizează cele mai bune proiecte vor fi invitate să-şi prezinte lucrările la Iaşi în faţa unui juriu prezidat de dr. Sabin Corneliu Buraga, şi să participe la o probă de Fast Development în care să implementeze o aplicaţie Web.
 
Prima rundă a secţiunii referitoare la Algoritmică propune pentru început rezolvarea a două probleme interesante care pot fi soluţionate până cel târziu 14 martie. Vor urma runde de pregătire până pe 20 Mai. Problemele vor fi evaluate automat, iar soluţiile, testele şi rezultatele vor fi publicate după fiecare rundă. Cele mai bune echipe vor concura live, într-o probă de Fast Insight cu probleme algoritmice.
 
Pentru secţiunea Artă digitală, este propusă o temă referitoare la crearea soluţiei de design al unui eveniment de interes, inclusiv conţinutul materialelor promoţionale aferente. Termenul-limită este 20 mai. Lucrările vor fi incluse într-o expoziţie, iar echipele vor realiza o temă pe loc în cadrul unei probe Fast Creativity.
 
La a treia ediţie, concursul este organizat de Asociaţia Studenţilor Informaticieni Ieşeni şi Facultatea de Informatică Iaşi, sub egida Universităţii A. I. Cuza Iaşi, în parteneriat cu Inspectoratul Şcolar Judeţean Iaşi.
 
Detalii sunt oferite de situl F11 Competition.
Pentru informaţii suplimentare, întrebări, propuneri, contactaţi-ne la [email protected] sau pe forumul infoarena.
 
Vă aşteptăm!

 Comentarii (1)

UBBots 2011

pauldb
Paul-Dan Baltescu
06 ianuarie 2011

Pe data de 9 ianuarie 2011, incepand cu ora 12:00, are loc UBBots 2011 - Ziua Robotilor Inteligenti la Universitatea Babes-Bolyai, Cluj-Napoca. Evenimentul are loc la adresa: Cladirea Campus FSEGA, parter, str. Teodor Mihali 58-60, Cluj-Napoca.

La expozitie participa echipe formate din studenti din anul III de la Facultatea de Matematica si Informatica. In cadrul evenimentului vor fi prezentate urmatoarele proiecte: Robot care pune gresie, Robot postas, Robot care sterge praful, Robot care culege pet-uri de pe lac, Robot care planteaza copaci, Robot care stinge incendii, Robot care traseaza linii de trafic rutier si Robot care serveste masa. Robotii implicati in aceste proiecte sunt: IRobot, Lynx Arm, Lego, Robotino si IntelliBrainBot.

Expozitia este organizata de profesorii Mihai Oltean, Laura Diosan, Ovidiu Serban si Liviu Stirb si este sprijinita de Facultatea de Matematica si Informatica a Universitatii Babes-Bolyai.

Mai multe informatii gasiti pe site-ul evenimentului.

 Comentarii (1)

Cum fac altii

greco
Tiberiu-Lucian Florea
28 februarie 2008

Atunci cand vrei sa te apuci de un lucru sau sa imbunatatesti un anumit proiect, unul din primii pasi pe care trebuie sa ii faci e studiul modului in care alti oameni au reusit deja sa atinga obiectivele pe care ti le propui. Desi noi, cei din comunitatea infoarena, nu avem functii in Ministerul Educatiei, parerea mea e ca putem sa ne gandim ce putem face pentru "imbunatatirea" olimpiadei de informatica din Romania.

Sa vedem, deci, ce tari stau mai bine ca noi din acest punct de vedere. Statele Unite ale Americii au un concurs destul de cunoscut elevilor romani, care permite oricui sa participe online la probele sustinute "proctored" (sub supraveghere) de elevii americani. Cu siguranta, concursul USACO a avut un impact puternic in Romania: foarte multa lume a trecut prin programul de pregatire de pe site-ul lor, majoritatea celor care spera sa ajunga la ONI participa constant la rundele online, si cel putin 3 romani (poate mai multi, de 3 stiu eu) au fost invitati, in urma rezultatelor foarte bune, sa participe la faza finala din America. Personal, nu cred ca USACO e un model prea bun pentru olimpiadele din Romania, din mai multe motive. In primul rand, foarte putini americani studiaza informatica ("programming", cum ii zice USACO), si numarul celor care-si incearca sansele la acest concurs e unul destul de mic. Din acest motiv, conducatorul lotului american (Rob Kolstad) poate sa tina legatura cu multi dintre concurenti de-a lungul anilor, sa discute cu parintii si profesorii lor, si sa creeze cel mai bun concurs in raport cu interesul national. Foarte ciudat e ca nu se stie de la inceput ce pondere are fiecare proba, stabilirea constantelor pentru calculul formulei finale fiind una din atributiile aceluiasi Kolstad, dupa ce concursul s-a incheiat!

Nici nu vreau sa-mi imaginez ce fel de scandaluri ar iesi in Romania in urma unei astfel de abordari, mai ales avand in vedere ca la noi unii parinti sunt mai preocupati de rezultatele concursurilor decat copiii lor, si sunt gata oricand sa faca circ atunci cand simt ca cineva a comis vreo nedreptate fata de ei. De altfel, nici mie nu-mi place ideea in sine. In America, acolo unde pana si admiterea la facultate se face in urma unui proces subiectiv, asa ceva e tolerabil. Dar in Romania, avand in vedere istoria ultimilor 60 de ani, nu putem aplica eficient un astfel de sistem.

Doua tari la care privim de multa vreme cu respect (pentru rezultatele obtinute) sunt China si Rusia. Ajungem, ca de obicei, la concluzia ca in tarile in care traiul este un chin (rusii de rand traiesc in saracia pe care le-au adus-o comunismul si apoi acapararea tuturor resurselor tarii de catre oligarhia sustinuta de Kremlin, iar chinezii au fost "imblanziti" de catre sistemul politic represiv si inuman), apar si talentele extraordinare. Pe langa generalizarile despre o presupusa inteligenta colectiva a natiunilor, se pare ca daca esti deznadajduit si ti se pare ca nu prea ai cum sa scapi de soarta dura, faci tot ce-ti sta in putinta ca sa exploatezi o ocazie atunci cand ea apare. Sa revenim totusi la olimpiade. Din pacate, nu avem atat de multe informatii despre cele din Rusia si China. Exista diverse informatii care s-au scurs, insa numai cei care cunosc limba rusa au acces la problemele si solutiile de la rusi, in timp ce pentru celelalte s-ar putea ca nici macar limba chineza sa nu fie de ajuns. Conform lui Zhu Zeyuan , guvernul chinez a desfiintat site-ul IOI Forum, acolo unde se discutau si probleme din tara lor, tocmai pentru a-i impiedica pe straini sa acceada la ele. Ceea ce stim, insa, e ca problemele din ambele parti sunt foarte grele si interesante, si ca ambele tari se bazeaza pe organizarea unui numar ridicat de tabere de pregatire, a caror eficienta a fost demonstrata. De asemenea, China alege participantii la IOI cu un an inainte, pentru a le da suficiente ocazii sa se pregateasca si sa aduca glorie patriei. Parerea mea e ca ar trebui, eventual cu ajutorul celor care inteleg limba rusa, sa studiem mai mult ceea ce se intampla la ei si sa vedem ce se poate adapta in Romania. Sa-i lasam pe chinezi in pace, pentru ca in Romania nu vom manca niciodata orez de placere si nici nu vom spune ca mersul pe bicicleta e hobby-ul nostru national, imbinand utilul cu placutul. Suntem pur si simplu prea diferiti de ei.

In Europa sunt mai multe locuri in care ne-am putea uita. Croatii si slovacii, printre altii, se descurca destul de bine in ceea ce priveste organizarea olimpiadelor. Totusi, parerea mea e ca polonezii dau cel mai bun exemplu . Site-ul lor, tradus partial in engleza, e o resursa indispensabila pentru cei care vor sa rezolve probleme care sa le dezvolte creativitatea. Multi dintre noi au stat zile / saptamani / luni gandindu-se la cate o problema de acolo, constatand ca de fapt se rezolva cu o idee simpla, dar greu de gasit. Nu cred ca e vreun alt concurs care sa sintetizeze mai bine ceea ce inteleg eu prin ideea de "olimpiada de informatica" (desi mai demult gandeam altfel, si mi se parea ca un concurs ca al lor e prea "incorect" fata de cei care se pregatesc mult - vorbim despre asta intr-un alt post).

Olimpiada poloneza are 3 faze cu subiecte unice pe tara. De multe ori, cea mai grea e "etapa locala", insa elevii au la dispozitie aproape o luna pentru a se gandi la subiectele propuse. Aceasta standardizare a evaluarii a insemnat o simplificare a intregului proces competitional, si "mai simplu" inseamna de multe ori "mai bun", sau cel putin "mai logic". De ce sa te concentrezi pe un sistem complicat, cand poti sa te concentrezi pe subiectele propriu-zise? Problemele au un grad mare de originalitate, in spatele lor sunt idei adevarate (nu reformulari ale altor cerinte mai vechi), si solutiile sunt foarte ingenioase. De asemenea, cei care pricep limba poloneza isi pot comanda "blue book"-urile, acele carti care contin toate solutiile, explicatiile si "rezervele" care nu s-au dat, sumarizand intreaga activitate dintr-un an de zile. Nu exista solutii redactate in 3 randuri care sa faca o simpla trimitere la alte carti, iar ceea ce se obtine astfel reprezinta o resursa cu totul deosebita pentru cei care vor sa se puna la curent cu tot ce a miscat in anii precedenti in concursurile poloneze de informatica. Primii clasati la faza finala (ca si in multe alte tari dezvoltate, nu exista separare pe clase si nici macar sistemul juniors / seniors ca la croati) primesc premii foarte consistente de la sponsorii destul de puternici si interesati. Cei mai buni primesc si dreptul de a participa la CPSPC (Czech - Polish - Slovak Preparation Contest), un concurs foarte puternic, dar fara o miza deosebita. Un fel de lot la comun pentru 3 tari. In afara faptului ca obtinerea unui loc de IOI necesita si un pic de noroc (pt. ca se bazeaza pe rezolvarea a numai 5 probleme in etapa a 3-a), mi se pare ca avem foarte multe de invatat de la ceea ce au facut si fac in continuare polonezii. Mereu vor exista cateva aspecte de imbunatatit, si acest lucru e normal!

Oricum, ca sa n-o mai lungim prea mult. Cine sunt cei interesati de imbunatatirea sistemului competitional la informatica? Si ce pot face ei in sensul acesta? Pentru ca e frumos sa discutam, dar e si mai frumos sa tragem niste concluzii, sa redactam niste planuri, si sa mergem cu ele la "factorii de decizie", incluzand aici oficialitatile din minister si potentialii sponsori. Isi doreste cineva destul de mult sa avem si noi o olimpiada mai buna, din toate punctele de vedere?

 Comentarii (16)

La inceputul sezonului competitional

greco
Tiberiu-Lucian Florea
21 februarie 2008

Dupa cum ne anuntase Cosmin, sezonul olimpiadelor scolare a inceput si elevii talentati din toata tara se pregatesc de fazele din ce in ce mai avansate ale concursului national de informatica. Locala s-a terminat deja, si fiecare noua proba creste nu doar nivelul problemelor propuse spre rezolvare, ci si intensitatea emotiilor participantilor. Desi unii elevi buni au trait o mica tragedie nereusind sa se califice pe judet (daca va incalzeste cu ceva, am trecut si eu prin asta si am considerat-o pana la urma ca pe o experienta pozitiva - desi de-abia dupa cativa ani am ajuns la aceasta concluzie), majoritatea celor care s-au pregatit serios pe parcursul anului se gandesc acum la etapa judeteana, poate cea mai stresanta dintre toate.

Oricat de neimportant vi se pare acest sfat in comparatie cu modalitatile de asimilare a algoritmilor avansati, nu stiu cum sa va fac sa-l intelegeti cat mai bine: Abordati olimpiada cu o atitudine pozitiva. Nu va ganditi la lucrurile pe care le-ati putea pierde, ci la cele pe care le aveti de castigat.

Nu trebuie neaparat s-o recunoasteti fata de altii, dar noi, fostii "olimpici", o stim prea bine: de multe ori va ganditi mult mai mult la ce s-ar intampla in cazul unui esec decat la urmarile pe care le-ar avea un eventual succes. Priviti atat OJI cat si ONI ca pe acele momente ale anului in care sunt sanse sa-i dezamagiti pe cei din jurul vostru (parinti, profesori, colegi), si sa simtiti ca tot efortul investit s-a dus pe apa sambetei. Si asta va face sa va consumati inutil cu sentimente negative (nu esti afectat doar atunci cand te vezi "sub linie", ci mai ales in orele / zilele / saptamanile in care te intrebi cum ar fi ca dupa atata munca o greseala stupida sau lipsa de inspiratie pe moment sa produca o astfel de nenorocire). O afirm cu maxima convingere, avand in vedere ca eu insumi am trecut prin asta, si nu o data. Ii aud, de asemenea, pe elevii de azi spunand lucruri ca: "am facut prost, dar macar nici X de la mine din liceu nu s-a calificat". Unde credeti ca poate duce acest stil de "competitie"?

Fiti un pic sinceri cu voi insiva: in ce context va ganditi la iminenta judetenei? Daca o puneti alaturi de excursia pe care o veti face la munte cu clasa, sau cu jocul super-tare care se va lansa luna viitoare, e bine. Perspectiva olimpiadei va bucura, deoarece e o activitate pe care o faceti in primul rand din placere, asa cum si trebuie. Dar nu cumva intrati intr-o stare de frenezie, incercand sa invatati un milion de noi metode de rezolvare a problemelor (care nu va vor intra in cap peste noapte, din moment ce ingrasarea porcului in ajun chiar NU functioneaza), facand calcule si pronosticuri despre sansele concurentei si gandindu-va la toate lucrurile care ar putea merge prost? Bineinteles, nu va recomand sa va relaxati total cu convingerea ca nu mai puteti schimba nimic, dar opriti-va un moment pentru a va gandi la ceea ce faceti si la ce impact are starea asta de neliniste sufleteasca asupra voastra.

In urma fazei judetene a olimpiadei, nu puteti pierde nimic. Daca credeti ca puteti pierde participarea la olimpiada nationala, asta arata ca ati comis o greseala provenita din infumurare: cum ati putea pierde un lucru pe care acum nu-l aveti? Va considerati deja calificati? Foarte rau. "Olimpiada" inseamna ca fiecare are sansa lui, si ca nu exista castigatori sau pierzatori stabiliti anterior concursului.

Poate ca observatiile de aici nu sunt pe placul tuturor, dar ele nu au aparut, cu siguranta, din senin. Nu esti un om rau, slab sau prost daca te concentrezi mai mult pe evitarea esecului decat pe obtinerea reusitei. Participantii la concursurile de informatica au foarte multe calitati pe care altii si le-ar dori, dar de multe ori lucrurile pe care ei le realizeaza sunt sub adevaratul lor potential. Lasati altora fatalitatea, superstitiile si gandul rau pus caprei vecinului si priviti cu incredere la oportunitatile pe care fazele superioare ale olimpiadei vi le ofera.

Spor la treaba!

 Comentarii (7)

Categorii: concursuri

Putina istorie ACM ICPC SEERC

Cosmin
Cosmin Negruseri
29 octombrie 2007

Alt titlu la care m-am gandit pentru acest post este "In cate moduri poti sa propui niste probleme busite".
In fiecare an sunt probleme cu problemele de la regionala ACM la care participa studentii romani, iar anul asta s-a vazut mai clar din rezultate si nu din studierea testelor. Va ziceam intr-un post anterior ca un set de probleme bune este unul in care fiecare problema e rezolvata de cel putin o echipa, dar nici o echipa nu rezolva toate problemele. Anul asta sapte echipe au rezolvat toate problemele, una reusind sa le rezolve in doua ore si patru minute, cand timpul total al concursului e de cinci ore.

Putina istorie a problemelor bushite de-a lungul timpului:

In 2002 problema Sly Number implica rezolvarea unui sistem de ecuatii liniare modulare. Un concurent a testat cu backtracking testele comisiei si nici unul nu ii dadea rezultatul asteptat. In timpul concursului, o echipa a rezolvat problema respectiva, facand probabil aceiasi greseala ca si solutia comisiei.

In 2004 la problema City Game, se cerea determinarea dreptunghiului de arie maxima ce contine doar caracterul F pe o matrice ce contine caractere de F si R. Intre teste era unul care specifica o matrice de 100 de randuri si 100 de coloane, dar avea doar 98 de randuri. Daca aveai norocul ca partea de citire din program sa fie implementata ca si cea a comisieri, puteai rezolva problema ... Multe echipe s-au blocat in problema asta clasica, incercand sa isi gaseasca bugul de implementare care era de fapt in testele comisiei. De asemenea in acelasi an s-a propus problema Alibaba despre care am dubii mari ca ar exista vreo solutie de complexitate mai buna decat O(n^2) desi limita de timp din concurs facea ca o asemenea solutie sa obtina mesajul Time Limit Exceeded. Testele la Alibaba sunt foarte misto, cateva teste mici ce merg cu programare dinamica in O(n^2) si doua teste mari la care merge lejer greedy.

In 2005 s-a propus rezolvarea unui puzzle Sudoku, dar toate testele puteau fi rezolvate punand o cifra in locuri fortate, pentru nici un test nu trebuia facut backtracking. Astfel echipele care fac solutia buna au un dezavantaj fata de echipele care nu isi dau seama ca exista cazuri pe care solutia lor nu merge. Problema Adventurous Driving avea ca limita in enunt n <= 100 iar in teste era un n = 1000. Autorul problemei era mandru de ea, pentru ca doar o echipa a rezolvat-o in timpul concursului.

In 2006 problema Shortest Pair of Paths cerea determinarea a doua drumuri minime disjuncte de la sursa la destinatie. Problema este clasica si se rezolva cu flux maxim de cost minim, dar testele au facut ca o solutie ce gaseste de doua ori un drum folosind algoritmul lui Dijkstra sa mearga. Din nou echipele care au stiut ca problema e mai complicata au pierdut timp implementand solutia mai grea. Alta problema bushita a fost Sherloc Holmes care era un knapsack 2d, dar nu prea incapea in memorie pentru ca n si m erau 10000. Dupa concurs s-a vazut ca testele contineau n si m-ul maxim 300.

Acestea nu sunt singurele exemple.

Sa organizezi un concurs cu multe probleme, la un nivel inalt este foarte greu. Putine regionale reusesc asta. Printre ele sunt ECNA, o regionala din Canada, NEERC, una din Rusia, CEPC, regionala Europei Centrale. Acestea au probleme de calitate, de dificultate mare, cu explicatii de solutii scrise, cu o echipa de organizatori care contin studenti care au fost concurenti. Nu e de mirare ca aceste regionale au aproape in fiecare an o echipa in primele cinci din lume.

Si la TopCoder se intampla ca un concurs sa fie bushit, desi ei isi bazeaza afacerea lor pe asta. Dar pentru a evita greselile, care, avand in vedere ca organizeaza mai mult de un concurs pe saptamana, ar fi normal sa se intample, acestia au o metodologie foarte bine pusa la punct. Fiecare problema este rezolvata de inca trei oameni, altii decat autorul, care isi dau cu parerea atat asupra problemei cat si asupra testelor alese. Un al patrulea om are grija ca textul sa nu aiba ambiguitati. Autorul trebuie sa faca enuntul, testele si un validator pentru teste.

Concursul ACM este un eveniment important care se desfasoara o data pe an, si el ar trebui organizat cu grija, astfel incat concurentii sa nu plece cu impresia ca au fost luati in bataie de joc. Ce trebuie facut pentru corectarea problemelor din trecut ar fi intinerirea comisiei stiintifice, scrierea unui validator de teste, si implementarea a mai multor solutii pentru fiecare problema. Nu pare foarte greu, dar se pare ca nu se invata nimic din esecurile anterioare.

Puteti citi si postul lui Florin Manea, antrenor al echipelor universitatii Bucuresti, despre regionala ACM aici

 Comentarii (6)

Categorii: concursuri

De ce sa participi la ACM ICPC

Cosmin
Cosmin Negruseri
22 octombrie 2007

Am incercat sa gasesc cateva motive pentru un student la informatica, care nu a avut contact cu olimpiadele in liceu, sa participe la concursurile ACM in timpul facultatii. Ce ar fi folositor pentru el in dorinta de a deveni un programator mai bun? Am ajuns la urmatoarea lista:

  • ca sa mai scrii o linie in CV
  • ca sa iti dai seama ca programezi foarte incet
  • ca sa vezi ce greu e sa lucrezi in echipa in conditii extreme
  • ca sa programezi ceva interesant
  • ca sa intelegi algoritmica si structurile de date la un nivel ce trece de superficialitate
  • ca sa cunosti alti oameni cu pasiune mare pentru programare
  • ca sa ti se para banale intrebarile de coding de la interviurile microsoft sau google
  • ca sa inveti chestii mai importante decat ultima tehnologie la moda, cum ar fi identificarea rapida a bugurilor, claritatea codului, proiectarea programului inainte de implementare sau metode de optimizare a timpului si memoriei
  • ca sa rezolvi o problema complet a carei solutie merge pe toate cazurile
  • ca sa inveti ca nu orice problema se rezolva cu "metoda backtracking"
  • ca sa poti scrie un post pe blog

Ce motive aveti voi pentru a participa sau pentru a nu participa la acest concurs?

 Comentarii (15)

Categorii: concursuri

Se apropie ACMul

Cosmin
Cosmin Negruseri
21 octombrie 2007

Pe 25-28 Octombrie se va desfasura la Universitatea Politehnica din Bucuresti faza pe sud estul Europei a concursului ICPC organizat de ACM. Acest concurs este unul in care echipe de trei studenti, fiecare echipa lucrand pe un singur calculator, se infrunta pe parcursul a cinci ore sa rezolve cat mai repede intre sapte si noua probleme.

Solutia unei probleme se ruleaza pe o suita de teste si este considerata corecta doar daca obtine rezultate corecte pentru toate testele. Daca au rezolvat corect o problema, echipa primeste um balon cu culoarea corespunzatoare problemei, daca nu se primesc niste mesaje ca 'Raspuns Gresit', 'Timp de executie expriat', 'Limita de memorie depasita' etc Astfel este usor de a vedea clasamentul sau cea mai simpla problema pe care echipa ta nu a rezolvat-o inca, daca te uiti prin sala la baloanele celorlaltor echipe. Punctajul este alcatuit din suma timpilor trecuti de la inceputul concursului pana la rezolvarea corecta fiecarei probleme, la care se adauga cate 20 de minute penalizare pentru incercarile esuate de a trece testele. Aceasta modalitate de acordare a punctajelor face ca strategia cea mai buna sa fie rezolvarea problemelor simple la inceput. De obicei problemele sunt calibrate cam o treime simple, o treime medii si o treime mai grele, si se urmareste ca fiecare problema sa fie rezolvata de cel putin o echipa, dar sa nu fie o echipa care sa rezolve toate problemele.

Vor mai urma saptamana aceasta cateva posturi legate de ACM ICPC in curand.

 Comentarii (0)

Categorii: concursuri

Interviu cu Mihai Patrascu - partea a doua

Cosmin
Cosmin Negruseri
19 octombrie 2007

Acum zece zile am publicat prima parte a interviului cu Mihai Patrascu . A venit timpul sa publicam si partea a doua. In ea Mihai ne vorbeste de olimpiade, de modul lui de lucru si de interese in afara programarii:

Cum ai recomanda cuiva sa se antreneze pentru concursuri sau sa se pregateasca pentru cercetare?

Cred ca cel mai eficient e sa ajungi sa programezi suficient de bine, si apoi sa te concentrezi pe gandirea teoretica la probleme. De prin clasa a 10a nu programam decat cateva zile inainte de olimpiada sa-mi intru in mana. Restul doar ma gandeam dar nu implementam (economiseste mult timp la pregatire).

Din cauza asta nu am fost niciodata un programator prea rapid... In plus capacitatea mea de debug este aproape nula, asa ca preferam sa scriu foarte incet si fara buguri. N-as avea niciodata sanse la un concurs ca ACM sau top coder :)

Care e secretul reusitei la concursuri sau in cercetare? caracteristicile native, educatia profunda, munca depusa?

Clar ca fara inteligenta nu se poate :), dar toti oamenii care ajung sa faca ceva la olimpiade sunt foarte inteligenti. Cred ca ce face diferenta la un nivel inalt e atitudinea personala. In mod constant erau oameni in lot pe care ii consideram mai destepti decat mine, dar eu eram mai hotarat sa castig, lucram mai mult cand trebuia sa lucrez, ma relaxam mai mult cand trebuia sa ma relaxez etc. Nici ceilalti concurenti, nici comisia nu sunt cu un cap mai sus ca tine -- daca tu ai incredere ca esti tare, atunci chiar esti mai tare.

Cum abordezi o problema, ai o reteta standard (generalizare, simplificare, trecerea prin o lista de tehnici) sau ai cate un "aha" moment?

Nu, simt ca intotdeauna imi vin idei dubioase si fara explicatie. Problemele la care ma prindeam cel mai greu erau chestii clasice ca flux, cuplaj, etc -- pana sa ma gandesc ca de fapt poate se foloseste ceva standard imi lua ceva timp.

Cum se compune o problema de olimpiada?

Foarte greu... Am un dispret pentru problemele bazate pe materie avansata. Ne trebuie probleme noi, cu o rezolvare elementara, nu bazate pe ceva care inveti la facultate. Problemele trebuie sa fie cu adevarat concurs de perspicacitate, si ar trebui sa fie la fel de grele pentru un concurent din liceu si pentru un prof care studiaza algoritmi de 50 de ani... Din pacate, e greu de gasit astfel de probleme, si nu am propus prea multe probleme.

De ce nu ai continuat cu concursurile de programare in timpul facultatii?

Concursurile mi se par prin definitie ceva pentru liceu. La nivelul ala inca inveti, si e bine ca ceva sa te motiveze sa inveti, in timp ce iti ascuti inteligenta in domeniu. La facultate stii mai multe, si pot sa faci alte chestii mai important pentru tine si pentru omenire... Poti sa te angajezi, sa lucrezi in cercetare, etc. Poti sa-ti faci un renume la inceput cu IOI, dar pana la urma succesul in viata depinde de alte chestii.

Asta gandeam inca din liceu, asa ca mi-a fost usor sa renunt. In treacat fie spus, am fost de 2 ori la ACM din inertie, o data cu Craiova, si o data la MIT. Amandoua esecuri lamentabile :) Cu echipa din Craiova problema era ca nimeni nu programa suficient de repede (in frunte cu mine). Cu MIT problema a fost interactiunea mea cu autoritatea :) -- am iesit primul la concursul individual, dar echipa s-a format din locurile 2,3,4 la decizia profilor coordonatori.
Razbunarea mea a fost ca anul ala MIT-ul nu s-a calificat la regionala ;)

La ce alte proiecte software ai lucrat?

Singurul proiect mai mare care l-am facut a fost evaluatorul pentru olimpiade (nu stiu daca se mai foloseste, dar s-a folosit la BOI la Iasi si la cateva nationale). Restul totul au fost programe mici pt olimpiade. Si cand am lucrat pentru companii, am lucrat pe directii de cercetare unde nu trebuie decat programe mici prototip care sa testeze o idee.

Ai vreo metoda dupa care iti imparti timpul sau lucrezi cand si cum ai chef?

Eu profit de libertatea din cercetare pana la punctul unde enervez pe toata lumea :) Daca n-am chef sa fac nimic saptamana asta, nu fac nimic saptamana asta. Ma duc la munte, citesc ceva, nu conteaza. Cand lumea munceste la o lucrare (care implica finalizat tot felul de detalii si scrisul propriu-zis), eu de obicei fac misto de ei :) De obicei nu reusesc nici macar sa scriu pe hartie niste calcule.

Dar daca am o idee de rezolvare in cap si vreau sa scriu o lucrare pentru o conferinta, am o reteta standard. Cu 2-3 zile inainte de deadline, imi iau periuta de dinti, 10-15 sticle de Pepsi Diet, cateva kg de prajituri, si ma duc in birou. Si acolo petrec cele 2-3 zile lucrand (am determinat ca rata optima de somn in birou e cam 2h pe zi). Adrenalina e foarte interesanta.

Citesti bloguri/frecventezi forumuri? Spune-ne cateva exemple.

Chiar am si eu un blog la http://infoweekly.blogspot.com/, in care discut probleme de cercetare in algoritmi. Cred ca unele chestii ar putea fi interesante pentru studentii la olimpiade in ani mai mari, care vor sa se decida ce vor sa faca in viitor. Pot sa vada cateva probleme si sa vada daca ii tenteaza teoria.

De citit, citesc cateva bloguri din teorie, dar nu cu prea multa pasiune (doar ca e util sa te tii la curent). La forumuri nu particip.

Ce interese, hobbyuri, pasiuni care nu sunt legate de programare ai?

A, multe... Desi intotdeauna stau rau cu timpul, asa ca fac mai putine decat as vrea. Imi place foarte mult sa calatoresc, si acum pot sa fac asta cu toate conferintele la care ma duc (am ajuns in 28 de tari pana acum). Imi place sa vorbesc cu lumea, sa descopar culturi noi, si imi place sa citesc mult despre istorie.

Periodic descopar pasiuni pt un nou sport. In liceu mergeam pe munte si jucam badmington, apoi am facut alergari (era o vreme cand alergam 16km pe seara), am jucat rugby (in Divizia 3 din State), mai recent climbing si sailing.

Pe ce te concentrezi acum?

Anul asta voi termina doctoratul... Trebuie sa scriu o teza si sa aplic pentru joburi (in pricipal, o sa aplic pentru joburi de prof la universitati). Asta ia destul de mult timp. In rest, mai lucrez la cercetare, si mai calatoresc.

Cum tii pasul cu cercetarea curenta? Sunt conferintele importante si discutiile cu ceilalti cercetatori (comunitatea din care faci parte), sau e deajuns sa citesti research paperurile ce apar?

Sunt cateva conferinte importante la care ma duc intotdeauna. Problema e ca nu pot sa stau intr-o sala si sa ascult o prezentare (lipsa de concentrare). Asa ca in timpul conferintei ma intalnesc cu prieteni vechi care de asemenea nu vor sa fie prezenti, si mergem la bere sa mai discutam probleme. Ca sa aflu ce se intampla citesc lucrari pe Net.

Cum te vezi in 5-10 ani?

Sper ca cu un job :) Planul este sa lucrez in continuare in domeniu si sa mai rezolv cateva probleme importante. Apoi as vrea sa incerc si sa fondez o companie cu o idee trasnet. Avem multe rezultate valoroase in teorie, care nu se aplica pentru ca lumea nu se gandeste suficient la impactul mai larg si nu gaseste aplicatiile bune. Daca imi vine vreo idee buna la capitolul asta nu voi ezita sa incerc o companie, in paralel cu jobul de prof.

Vrei sa le transmiti ceva celor ce acum incep cu viata competitionala?

E sansa voastra sa aratati lumii ce tari sunteti, si sa deveniti si mai tari pe parcurs. E un drum bun in viata.

Ii multumim lui Mihai pentru un interviu foarte interesant.

 Comentarii (4)

Categorii: concursuri interviu
Vezi pagina: 1 2 (11 rezultate)