This shows you the differences between two versions of the page.
uso:teme:instructiuni-checker [2016/10/08 13:45] razvan.deaconescu created |
uso:teme:instructiuni-checker [2018/10/12 12:07] (current) razvan.serban |
||
---|---|---|---|
Line 4: | Line 4: | ||
Actualizări: | Actualizări: | ||
- | * **19 Septembrie 2016, 23:55** - Publicare | + | * **12 Octombrie 2018, 23:55** - Publicare |
</note> | </note> | ||
===== Descriere ===== | ===== Descriere ===== | ||
- | Mașina virtuală pusă la dispoziție oferă toate setările necesare pentru efectuarea temei precum și setări necesare pentru colectarea de statistici privind dificultatea temei (pentru echilibrarea dinamică a acestora). | + | [[#resurse/mv|Mașina virtuală]] pusă la dispoziție oferă toate setările necesare pentru efectuarea temei precum și setări necesare pentru colectarea de statistici privind dificultatea temei (pentru echilibrarea dinamică a acestora). |
Orice folosire a utilitarului ''uso'' se va face doar prin intermediul utilizatorului ''student'', însă cu drepturi privilegiate (folosind ''sudo'' în fața comenzii). Singura excepție este valabilă pentru comanda ''uso version'', care nu necesită folosirea drepturilor privilegiate. | Orice folosire a utilitarului ''uso'' se va face doar prin intermediul utilizatorului ''student'', însă cu drepturi privilegiate (folosind ''sudo'' în fața comenzii). Singura excepție este valabilă pentru comanda ''uso version'', care nu necesită folosirea drepturilor privilegiate. | ||
Line 15: | Line 15: | ||
Executabilul ''uso'' va fi folosit pentru a obține checkerul fiecărei teme, pentru a verifica temele și pentru a submite codul final în momentul terminării acestora. | Executabilul ''uso'' va fi folosit pentru a obține checkerul fiecărei teme, pentru a verifica temele și pentru a submite codul final în momentul terminării acestora. | ||
- | ===== Identificare mașină virtuală ===== | ||
- | |||
- | La prima rulare, executabilul vă va cere datele de identificare: username-ul folosit la autentificarea pe [[http://cs.curs.pub.ro/|cs.curs.pub.ro]] și grupa din care faceți parte. Deoarece unele taskuri se bazează pe aceste informații, orice modificare a lor poate atrage după sine anularea punctajului și imposibilitatea de corectare, respectiv validare a temei. | ||
- | |||
- | <note warning> | ||
- | |||
- | * Acordați o atenție sporită datelor introduse, deoarece acestea nu se vor putea schimba și vor influența toate temele. | ||
- | * Datele de identificare se introduc o singură dată per mașină virtuală. | ||
- | * Username-ul și grupa trebuie să conțină spații. Exemple: | ||
- | * Corect: | ||
- | * 314CA | ||
- | * 313CD | ||
- | * 1234F | ||
- | * Greșit: | ||
- | * 312CCa | ||
- | * 313 CD | ||
- | * În cazul în care pierdeți mașina virtuală, greșiți introducerea datelor personale la identificarea mașinii virtuale, sau orice alt incident care face ca mașina virtuală să fie inutilizabilă va trebui sa parcurgeți din nou pașii de mai sus pentru a vă identifica username de pe [[http://cs.curs.pub.ro/|cs.curs.pub.ro]] și grupa din care faceți parte, __cu o nouă mașină virtuală__. | ||
- | </note> | ||
===== Sintaxă ===== | ===== Sintaxă ===== | ||
- | Sintaxa folosită de checker este ''uso [ARGS]...'', unde ''[ARGS]...'' reprezintă o listă de parametri opţionali şi poate avea una dintre valorile de mai jos. | + | Sintaxa folosită de checker este ''uso [OPTION]...'', unde ''[OPTION]...'' reprezintă o listă de parametri opţionali şi poate avea una dintre valorile de mai jos. În cazul în care nu s-a specificat niciun parametru ''OPTION'', acțiunea implicită este de a rula parametrul ''check''. |
* **''version''** : Afișează versiunea curentă a executabilului ''uso''. | * **''version''** : Afișează versiunea curentă a executabilului ''uso''. | ||
- | |||
* **''check''** : Verifică tema curentă în întregime și afișează punctajele aferente fiecărui task | * **''check''** : Verifică tema curentă în întregime și afișează punctajele aferente fiecărui task | ||
- | * **''check N''** : Unde ''N'' reprezintă numărul task-ului din enunțul temei | + | * **''check N''** : Unde ''N'' reprezintă numărul task-ului din enunțul |
- | * Acțiunea implicită, în cazul în care nu s-a specificat niciun parametru ''ARG'', este de a rula parametrul ''check''. | + | |
* **''update''** : Actualizează atât checkerul temei curente cât și executabilul ''uso''. Recomandarea este să efectuați ''update'' de fiecare dată când se anunță pe forum faptul că a fost actualizat checker-ul. | * **''update''** : Actualizează atât checkerul temei curente cât și executabilul ''uso''. Recomandarea este să efectuați ''update'' de fiecare dată când se anunță pe forum faptul că a fost actualizat checker-ul. | ||
- | + | * **''start N''** : Descarcă executabilele necesare funcționării unei noi teme. Poate restaura o temă la configurația inițială, doar dacă este specificat în cerința temei. | |
- | * **''start''** : Descarcă executabilele necesare funcționării unei noi teme. Poate restaura o temă la configurația inițială, doar dacă este specificat în cerința temei. | + | |
* O temă este formată din mai multe taskuri. | * O temă este formată din mai multe taskuri. | ||
* Nu trebuie rulat ''uso start'' înaintea fiecărui task. | * Nu trebuie rulat ''uso start'' înaintea fiecărui task. | ||
* Nu puteți începe să lucrați la o temă nouă fără a rula ''uso start'' în prealabil. | * Nu puteți începe să lucrați la o temă nouă fără a rula ''uso start'' în prealabil. | ||
- | + | * **''submit''** : Finalizează tema. | |
- | * **''submit''** : Finalizează tema și vă returnează un cod (32 de caractere [[https://en.wikipedia.org/wiki/Alphanumeric|alfanumerice]]). Codul va trebui ulterior încărcat în formularul (Google Form) aferent fiecărei teme. | + | |
Exceptând parametrii **''version''** și **''check''**, toate celelalte necesită prezența unei conexiuni de Internet. | Exceptând parametrii **''version''** și **''check''**, toate celelalte necesită prezența unei conexiuni de Internet. | ||
- | <note warning>Atât finalizarea temei cu ajutorul comenzii ''uso submit'' cât și încărcarea codului alfanumeric returnat de această comandă în formularul din enunțul temei, sunt obligatorii! Neîndeplinirea uneia din cele două atrage după sine obținerea unui **punctaj nul (0 puncte)** pe tema curentă! | + | <note warning>Finalizarea temei cu ajutorul comenzii ''uso submit'' este obligatorie! |
Chiar și după ce ați încărcat codul, **NU** modificați fișierele corespunzătoare temei! Dacă vor exista probleme în corectarea temei, iar fișierele au fost modificate după submiterea codului, contestațiile **NU** vor mai fi luate în considerare. Puteți în schimb să lucrați pe mașina virtuală fără nicio problemă, __atâta timp cât nu sunt alterate fișierele ori condițiile de funcționare a oricărui task din tema precedentă.__ | Chiar și după ce ați încărcat codul, **NU** modificați fișierele corespunzătoare temei! Dacă vor exista probleme în corectarea temei, iar fișierele au fost modificate după submiterea codului, contestațiile **NU** vor mai fi luate în considerare. Puteți în schimb să lucrați pe mașina virtuală fără nicio problemă, __atâta timp cât nu sunt alterate fișierele ori condițiile de funcționare a oricărui task din tema precedentă.__ | ||
Line 69: | Line 46: | ||
În acest moment considerăm că mașina virtuală este înregistrată corespunzător cu contul de utilizator și grupa corespunzătoare fiecărui student. Dacă această condiție este îndeplinită cu succes, pașii uzuali de lucru pentru o temă se regăsesc mai jos. Altfel, este necesară identificare mașinii virtuale conform secțiunii [[#identificare_masina_virtuala|Identificare mașină virtuală]]. | În acest moment considerăm că mașina virtuală este înregistrată corespunzător cu contul de utilizator și grupa corespunzătoare fiecărui student. Dacă această condiție este îndeplinită cu succes, pașii uzuali de lucru pentru o temă se regăsesc mai jos. Altfel, este necesară identificare mașinii virtuale conform secțiunii [[#identificare_masina_virtuala|Identificare mașină virtuală]]. | ||
- | - se pornește tema cu ''uso start'' | + | - se pornește tema cu ''uso start N'' unde N este tema curenta |
- | - se lucrează la temă | + | |
- se verifică tema cu ''uso check'' | - se verifică tema cu ''uso check'' | ||
- pentru verificarea unui singur task putem folosi comanda ''uso check N'', unde ''N'' reprezinta numărul task-ului | - pentru verificarea unui singur task putem folosi comanda ''uso check N'', unde ''N'' reprezinta numărul task-ului | ||
- exemplu: ''uso check 4'' | - exemplu: ''uso check 4'' | ||
- dacă rezultatele de la pasul anterior nu sunt ok, se repetă pasul 2 și 3 | - dacă rezultatele de la pasul anterior nu sunt ok, se repetă pasul 2 și 3 | ||
- | - altfel, se finalizează tema folosind ''uso submit'', în urma căruia rezultă => cod format din 32 de caractere alfanumerice | + | - altfel, se finalizează tema folosind ''uso submit''. |
- | - se copiază codul în formularul de la link-ul oferit în cerința temei | + | |
- se păstrează fișierele aferente temei - nu se șterg fișiere (pentru o eventuală contestație, dacă va fi necesar) | - se păstrează fișierele aferente temei - nu se șterg fișiere (pentru o eventuală contestație, dacă va fi necesar) | ||
- dacă după trimiterea temei se fac modificări asupra exercițiilor, se repetă pasul 2, 3, 4, 5 și 6 | - dacă după trimiterea temei se fac modificări asupra exercițiilor, se repetă pasul 2, 3, 4, 5 și 6 | ||
Line 82: | Line 57: | ||
- oricând pe parcursul ciclului de mai sus, se poate rula ''uso update''. | - oricând pe parcursul ciclului de mai sus, se poate rula ''uso update''. | ||
- | <note>Puteți submite tema (pasul 4.a), respectiv încărca codul în formular (pasul 5) ori de câte ori doriți (în cazul în care faceți modificări asupra temei), însă **doar înainte de de deadline-ul temei**. De fiecare dată când se rulează ''uso submit'', va trebui să încărcați noul cod returnat în formular. Se va lua în considerara doar ultimul cod submis înainte de deadline. Orice submisie după deadline nu va fi luată în considerare. În cazul în care ați modificat ulterior tema și ați primit un nou cod la rularea comenzii ''uso submit'', dacă uitați să încărcați noul cod în formular, nu veți primi punctajul pe temă.</note> | + | <note>Puteți submite tema (pasul 3.a) ori de câte ori doriți (în cazul în care faceți modificări asupra temei), însă **doar înainte de de deadline-ul temei**. De fiecare dată când se rulează ''uso submit'', va trebui să încărcați noul cod returnat în formular. Se va lua în considerara doar ultimul cod submis înainte de deadline. Orice submisie după deadline nu va fi luată în considerare. În cazul în care ați modificat ulterior tema și ați primit un nou cod la rularea comenzii ''uso submit'', dacă uitați să încărcați noul cod în formular, nu veți primi punctajul pe temă.</note> |
- | **Orice tentativă de copiere duce la aplicarea regulilor împotriva copierii temelor (consultați [[regulament#reguli_de_realizare_a_temelor|regulamentul]]).** | + | **Orice tentativă de copiere duce la aplicarea regulilor împotriva copierii temelor (consultați [[uso:regulament#reguli_de_realizare_a_temelor|regulamentul]]).** |