Revizia anterioară Revizia următoare
IAP #15: Task tagging
![]() |
Data | 2009-11-26 |
---|---|
Autor(i) | |
Stare | In constructie |
Abstract
Se propune crearea unui sistem prin care fiecarei probleme ii vor fi asociate informatii sub forma de taguri si a unui sistem de cautare bazat pe aceste taguri.
Motivatie
Arhiva de probleme devine din ce in ce mai mare si din ce in ce mai greu de navigat. Un astfel de sistem ar ajuta utilizatorii sa filtreze mult mai usor probleme in functie de mai multe informatii.
Propun ca urmatoarele informatii sa fie asociate fiecarei probleme:
- Autorul sau autorii problemelor (daca o problema a fost propusa de catre mai multi autori, fiecare autor va avea un tag separat).
- Concursul (si runda) la care a fost data problema. Pentru problemele date la concursuri pe infoarena ar fi bine de mentinut si un tag cu grupa de varsta la care a fost data problema (din nou, daca o problema a fost data la mai multe grupe de varsta, fiecare grupa de varsta va avea un tag separat).
- Spre exemplu tagurile asociate problemei vrejuri ar fi "Algoritmiada 2010", "Algoritmiada 2010, Runda 1", "Algoritmiada 2010, Runda 1, 9-10"
- Cunostintele necesare rezolvarii problemelor. In aceasta categorie intra orice fel de algoritm classic cunoscut (un punct bun de plecare ar fi Training Path).
- Propun sa impartim aceste taguri in doua categorii: "Generale" (Grafuri, Programare Dinamica, Greedy, Structuri de date, Geometrie) si "Specifice" (Deque, Arbori echilibrati, Codul Gray, Minimal enclosing circle). Tag-urile generale nu iti ofera foarte multe informatii care ar putea strica farmecul problemelor, in timp ce cele "specifice" iti zice exact ce algoritm este necesar pentru rezolvarea problemei. Fiecare din tagurile "specifice" se va incadra intr-o categorie denumita de un tag general.
- In momentul in care utilizatorul deschide o problema, tagurile sunt ascunse by default. Daca acesta vrea un hint de rezolvare, ii aratam intai toate tagurile generale. Daca vrea si mai multe hinturi, ii aratam toate tagurile.