Difference between revisions of "Pregătirea unui concurs"

From Algopedia
Jump to: navigation, search
(Așteptări de la membrii comisiei)
(Regulament intern al comisiei)
Line 41: Line 41:
  
 
* 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.
 
* 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.
 +
 +
* Membrii trebuie să contribuie cu câteva ore și după concurs, pentru analiza finală (de exemplu, pentru a analiza sursele concurenților ca să vedem cine a reușit să fenteze probleme).
 +
 +
 +
== Regulament de concurs ==
 +
 +
* Sursele tuturor concurenților vor fi publicate după concurs, în domeniul public. Prin înscrierea în concurs, concurenții sunt de acord să renunțe la orice formă de copyright pe sursele lor. Nu neapărat toate variantele trimise vor fi publicate, dar cel puțin cea care determină scorul la fiecare problemă (ultima sau cea cu punctaj maxim, după caz).
  
 
== Metoda de lucru ==
 
== Metoda de lucru ==

Revision as of 10:04, 8 October 2017

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.
  • Membrii trebuie să contribuie cu câteva ore și după concurs, pentru analiza finală (de exemplu, pentru a analiza sursele concurenților ca să vedem cine a reușit să fenteze probleme).


Regulament de concurs

  • Sursele tuturor concurenților vor fi publicate după concurs, în domeniul public. Prin înscrierea în concurs, concurenții sunt de acord să renunțe la orice formă de copyright pe sursele lor. Nu neapărat toate variantele trimise vor fi publicate, dar cel puțin cea care determină scorul la fiecare problemă (ultima sau cea cu punctaj maxim, după caz).

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  
  • Membrii comisiei își pot testa sursele devreme.
  • Comisia poate afla ușor ce metode sunt deja implementate, ce punctaje iau și ce mai este de făcut pentru fiecare problemă.
  • Putem ține și un concurs paralel online.
  • La final, problemele intră automat în arhiva Varena.

Pentru comunicare, folosim e-mailul, care are două mari avantaje:

  1. Este asincron. Nu presupune ore fixe.
  2. 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.
Comisia planifică întâlniri ca să schimbe idei.

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.
(CMS) Organizatorul și laborantul procură calculatoare.
(CMS) Organizatorul caută administrator de CMS. Acesta are nevoie de timp să învețe sistemul.

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.
Autorii problemelor caută oameni pentru mânăreli / alte soluții și escaladeze din timp dacă nu găsesc.

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ță.
(Varena) Administratorul se asigură că nu sunt teme cu deadline în timpul concursului.

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.