Pregătirea unui concurs
Contents
Ce înseamnă o problemă?
Crearea unei probleme de concurs înseamnă mai mult decât o sursă care să ia 100p.
În primul rând este nevoie de o idee. Acest pas durează cât durează, arta nu poate fi grăbită. Sperăm că membrii comisiei au fiecare 1-2 idei.
Apoi, prin implementare înțelegem următoarele.
- Autorul scrie o implementare de 100p și una ineficientă, dar cât mai corectă (cât mai greu de greșit).
- Altcineva scrie o soluție de 100p.
- Doi oameni diferiți (posibil aceiași de mai sus) scriu două mânăreli.
- Autorul descrie în mare generatorul de teste. Cel puțin o altă persoană își dă acordul sau propune îmbunătățiri.
- Autorul și o altă persoană stabilesc limitele pentru punctaje parțiale.
- Autorul descrie, pe o pagină, soluția, pentru a o publica ulterior.
Ca timp, asta înseamnă, estimativ:
- 2 ore redactarea enunțului (pot fi și imagini, asta durează);
- 10 ore pentru cele 4 implementări;
- 3 ore pentru generatorul de teste și generarea testelor;
- 1 oră pentru încărcarea pe evaluator, ultimele teste etc.;
- 2 ore pentru descrierea soluției;
Total: 18 ore per problemă.
Regulament intern al comisiei
- Avem nevoie de membri cu și fără drept de vot. Fără a jigni pe nimeni, nu toți dorim același lucru de la un concurs, iar asta se reflectă în voturile pe probleme. Unii vor să arate ce probleme dure pot ei să producă. Alții vor să testeze dacă concurenții cunosc un algoritm în particular. Cu un vot 100% democratic, lucrurile se vor duce mereu pe acest făgaș.
- Membrii trebuie să contribuie cu volumul de muncă așteptat de la ei (estimativ 40-60 de ore).
- Membrii trebuie să contribuie din timp (vezi calendarul), nu în ultimele 3 zile. Altfel vor fi înlocuiți.
- Membrii trebuie să trimită surse didactice, citibile, comentate. Este foarte dăunător să propagăm conceptul (greșit) că singurul scop al unui program este să facă ce trebuie. Dacă concursul este internațional, toate numele de variabilă și comentariile trebuie să fie în engleză.
- Membrii trebuie să fie disponibili, pentru două întâlniri în persoană. Facem excepție pentru membrii care nu locuiesc în București, dar și ei trebuie să fie disponibili pentru o videoconferință.
- Membrii trebuie să îi informeze pe restul despre progresele făcute și planuri de viitor, printr-un e-mail la 2-3 zile (vor primi mementouri prin e-mail pentru asta).
- Membrii trebuie să anunțe cât mai repede dacă își dau seama că nu mai pot contribui, din orice motive.
- Dacă sunt autorii unei probleme, membrii trebuie să fie disponibili pe telefon sau în persoană în timpul concursului, în afară de cazul în care altcineva acceptă această răspundere.
Metoda de lucru
Problemele, pe măsură ce se conturează, vor sta pe Varena (chiar dacă evaluarea concursului se va face pe alt sistem). Problemele vor fi denumite cu nume de cod, căci numele problemelor sunt vizibile public. Sursele trimise trebuie să conțină, într-un comentariu, numele autorului și metoda de rezolvare.
Motivație |
---|
|
Pentru comunicare, folosim e-mailul, care are două mari avantaje:
- Este asincron. Nu presupune ore fixe.
- Ajunge la toți membrii simultan, spre deosebire de telefon.
Eticheta pe e-mail este:
- Dacă un mesaj este pentru tine, răspunde în maxim 24h. Nu ține lumea în loc.
- Probleme separate în threaduri separate.
- Dacă vrei să contribui la o problemă, familiarizează-te cu discuțiile de pe threadul ei.
- Dacă ai discuții telefonice cu alt membru și rezultă ceva de interes pentru toți, trimite și un e-mail pe listă.
Cronologie propusă
termen | responsabil | activitate |
---|---|---|
3 luni | organizatorul | Stabilește câte probleme dorim și la ce nivel (orientativ - OJI, ONI, lot). |
3 luni | organizatorul | Începe să caute oameni pentru comisie. Le explică clar ce volum de muncă se așteaptă de la ei și la ce termene. Aceasta se aplică și pentru participanții vechi, „autoconfirmați”. |
2 luni | comisia | Componența comisiei se cam știe. Membrii se gândesc independent la probleme. |
2 luni | mediu | Organizatorul stabilește mediul pe care se va face evaluarea. (CMS) Organizatorul stabilește numărul de sisteme necesare și alocarea lor pe zile. |
1,5 - 1 luni | comisia | Are minim o întâlnire de două ore, preferabil două, la distanță de o săptămână, în care dezbate idei. Identifică 1-2-3 probleme de care este sigură, pentru care implementarea poate începe. |
1,5 luni - 1 săptămână | comisia | Lucrează la implementări. Membrii comisiei își anunță periodic progresul. |
1 lună | mediu | (CMS) Un server este funcțional și rămâne funcțional permanent. |
4 săptămâni | comisia | Setul de probleme este definitivat. Se asignează oamenii la probleme. |
2 săptămâni | organizator | (CMS) Organizatorul compilează listele de concurenți. |
1 săptămână | comisia | Implementarea este finalizată. |
1 săptămână | organizatorul | Team leaderii se întâlnesc pentru traduceri. Neclaritățile sunt colectate și trimise comisiei. |
3-4 zile | comisia | Comisia corectează neclaritățile. |
3-4 zile | organizatorul | Team leaderii definitivează traducerile. |
3 zile | mediu | (CMS) Administratorul creează conturile concurenților. (CMS) Administratorul creează 10 conturi generice pentru situații de urgență. |
2 zile înainte | organizatorul | Tipărește și multiplică subiectele. |
1 zi | mediu | (Varena) Administratorul Varena mută serverul pe UPS. |
în dimineața concursului | mediu | Laborantul pornește firewall-ul. Trebuie tăiat accesul la orice în afară de mediu (și cplusplus.com dacă concursul e pe varena). |
în timpul concursului | mediu | (Varena) Administratorul golește tabela ia_tokens oricând apar tokeni, ca să nu intre în modul Captcha. |