This shows you the differences between two versions of the page.
sde:teme:tema_ro_1 [2020/02/18 17:47] razvan.serban |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Tema 1 - Utilizare de Linux ====== | ||
- | |||
- | <note> | ||
- | În urma feedback-ului, vă recomandăm următoarele: | ||
- | |||
- | **Studiați secțiunea de [[#cunostinte_evaluate|Cunoștințe evaluate]] și suportul agregat necesar temei.** | ||
- | |||
- | Daca aveti intrebari sau nelamuriri, folosiți issue-urile pe [[https://github.com/upb-fils/sde/issues|Git-ul Sd'E]] | ||
- | |||
- | Căutați pe pagina de issue-uri informația pe care doriți să o obțineți, înainte să puneți o întrebare. De cele mai multe ori, cineva a mai întrebat același lucru. | ||
- | |||
- | În cazul în care doriți să publicați un screenshot, recomandăm folosirea site-urilor pentru partajarea gratuită a imaginilor, precum [[http://imgur.com/|imgur]] sau [[http://www.makeuseof.com/tag/4-imgur-alternatives-for-uploading-sharing-images/|alternativele]] sale, publicând in issue-uri doar link către screenshot. | ||
- | |||
- | Urmăriți atât issue-urile cât și modificările aduse enunțului/checker-ului, modificări ce sunt publicate și explicate în paragrafele de mai jos. | ||
- | </note> | ||
- | |||
- | <note important> | ||
- | Folosiți cu încredere sectiunea de issue-uri de pe [[https://github.com/upb-fils/sde/issues|github.com/upb-fils/sde/issues]] pentru întrebări și neclarități legate de teme. | ||
- | |||
- | În timpul realizării temei, când vă loviți de probleme și aveți nevoie de suportul echipei de Sd'E, parcurgeți și lista de [[sde:teme:intrebari-frecvente|întrebări frecvente întâlnite în cadrul temelor]]. | ||
- | </note> | ||
- | |||
- | ===== Informații generale ===== | ||
- | |||
- | <note warning> | ||
- | Deoarece exista deja resurse la materia USO (aflata tot aici pe [[http://ocw.cs.pub.ro/|ocw.cs.pub.ro]]), vom folosi masinile virtuale si resursele existente acolo. Multe link-uri de pe aceasta pagina va vor indrepta acolo pentru nelamuriri, link-uri de download si diverse intrebari frecvente. | ||
- | </note> | ||
- | |||
- | <note important> | ||
- | Deadline: **01 Martie, ora 23:55**\\ | ||
- | Timp de lucru: **12 zile**\\ | ||
- | </note> | ||
- | |||
- | <note> | ||
- | Actualizări enunț:\\ | ||
- | |||
- | * **Nu există actualizări** | ||
- | </note> | ||
- | |||
- | <note> | ||
- | Actualizări checker:\\ | ||
- | Versiunea curentă: <color red>**versiunea 1.0.0**</color> | ||
- | |||
- | * **Nu există actualizări** | ||
- | </note> | ||
- | |||
- | |||
- | <note tip> | ||
- | Vă încurajăm ca atunci când găsiți soluția la o problemă pe care ați postat-o anterior pe issue-uri să postați și soluția găsită. De asemenea dacă știți răspunsul la întrebările colegilor sunteți încurajați să le răspundeți. | ||
- | |||
- | Singurul lucru de care trebuie să aveți grijă este să nu puneți pe issue-uri rezolvările taskurilor. Puteți să sugerați diferite abordări sau să dați idei celorlalți. | ||
- | </note> | ||
- | |||
- | |||
- | |||
- | ===== Cunoștințe evaluate ===== | ||
- | |||
- | * Instalarea, configurarea, rularea mașinii virtuale si utilizarea checkerului pentru Tema 1 la Sd'E | ||
- | * Navigarea in sistemul de fisiere | ||
- | * Folosirea utilitarului git | ||
- | * Compilarea programelor | ||
- | |||
- | |||
- | ===== Maşini virtuale Tema 1 Sd'E 2019 ===== | ||
- | |||
- | <note tip>Citiţi şi secţiunea despre maşini virtuale - [[:sde:resurse:mv]] </note> | ||
- | <note tip>Username-ul si parola sunt cele de pe [[http://fils.curs.pub.ro|fils.curs.pub.ro]]</note> | ||
- | |||
- | * Versiune pe 32-bit, Debian 9, kernel 4.09: https://repository.grid.pub.ro/cs/uso/2018-2019/teme/USO-409-32bit-Debian9.ova | ||
- | * Versiune pe 64-bit, Ubuntu 18.04 LTS, kernel 4.19-rc8: https://repository.grid.pub.ro/cs/uso/2018-2019/teme/USO-419rc8-64bit-Ubuntu1804.ova | ||
- | |||
- | În funcţie de sistemul de operare pe care îl aveţi instalat pe calculator descărcaţi maşina virtuală aferentă. | ||
- | |||
- | <note important>**IMPORTANT**: dacă ştiţi că aveţi procesoare noi (e.g. AMD Ryzen, Intel CoffeLake, KabyLake etc.) sau pur şi simplu procesorul vostru este pe 64-bit şi aveţi Windows 10 instalat sau Ubuntu >= 16.04 descărcaţi maşina virtuală pe 64-bit. | ||
- | </note> | ||
- | |||
- | **Cum verific dacă sistemul meu e 32-bit sau 64-bit?** | ||
- | |||
- | Vă rugăm să parcurgeţi următoarele tutoriale în funcţie de sistemul de operare instalat pe calculatorul/laptop-ul vostru: | ||
- | |||
- | * [[https://support.microsoft.com/en-us/help/13443/windows-which-operating-system|Tutorial Windows 10]] | ||
- | * [[https://support.microsoft.com/en-us/help/827218/how-to-determine-whether-a-computer-is-running-a-32-bit-version-or-64|Tutorial Windows 8, 7, Vista, XP]] | ||
- | * [[https://www.tecmint.com/find-out-linux-system-is-32-bit-or-64-bit/|Tutorial Linux - câteva idei de comenzi]] - deschideţi un terminal şi rulaţi una din comenzile specificate aici. ''i386'' inseamnă sistem pe 32 biţi, ''amd64'' înseamnă sistem pe 64 biţi. | ||
- | |||
- | |||
- | ===== Testare ===== | ||
- | |||
- | <note tip> | ||
- | |||
- | **Instrucțiuni de utilizare a checkerului ''uso''** | ||
- | |||
- | * Pentru mai multe detalii referitoare la checkerul uso, consultați [[sde:teme:instructiuni-checker|instrucțiunile de utilizare]]. | ||
- | |||
- | </note> | ||
- | |||
- | <hidden> | ||
- | ** Descărcare mașină virtuală și informații despre aceasta** | ||
- | |||
- | * Mașina virtuală și link-ul de unde poate fi ea descărcată se găsesc pe pagina cu informații despre [[sde:resurse:mv|mașina virtuală]]. | ||
- | </hidden> | ||
- | |||
- | **Testarea temei** se va face doar pe mașina virtuală autentificat ca utilizator ''student'', folosind utilitarul ''uso''. Acesta poate fi executat în orice moment pentru a verifica dacă au fost rezolvate corect task-urile. Nu lucrați autentificat ca utilizator ''root'' în sistem, la nicio temă. Din acest motiv există posibilitatea să nu vă treacă testele. Pe de altă parte, nu este o metoda de siguranță să lucrați autentificat ca utilizator root din motive de securitate și/sau permisiuni. | ||
- | |||
- | Utilitarul ''uso'' implementează testele doar pentru task-urile temei curente. Pentru a folosi utilitarul ''uso'', primul pas este să porniți Tema 1 folosind comanda ''sudo uso start 1''. În caz contrar, nu veți avea actualizat checker-ul pentru tema curentă. | ||
- | |||
- | Verificați versiunea checker-ului, afișată la rularea comenzii ''sudo uso version''. Asigurați-vă că aveți ultima versiune înainte de a continua lucrul pentru temă. Versiunea actuală este specificată în secțiunea Informații generale prezentă în enunțul temei. Pentru situațiile în care nu dispuneți de ultima versiune a checker-ului, rulați ''sudo uso update''. | ||
- | |||
- | **Finalizarea temei** se realizează prin rularea comenzii ''sudo uso submit''. | ||
- | |||
- | |||
- | ===== Task-uri ===== | ||
- | |||
- | <note warning>Este interzisă publicarea pe sectiunea de issue-uri a comenzilor sau pozelor care fac parte din rezolvarea parțială sau integrală a temei ori a unui task. La prima abatere studentul primește un avertisment, iar punctajul obținut pe temă îi este redus cu valoarea punctajului pe task-ul respectiv. Începând cu a doua abatere, se va anula întregul punctaj pe tema curentă, temele anterioare sau cele viitoare nefiind afectate. Abaterile rămân valabile pe tot parcursul semestrului, acestea nefiind anulate în momentul în care se publică o temă nouă. Ori de câte ori se încalcă această regulă, se va ține cont de istoricul abaterilor. Abaterile vor fi actualizate în catalog.</note> | ||
- | |||
- | ==== Task 01 (0p) ==== | ||
- | |||
- | **Mașina virtuală Sd'E** | ||
- | |||
- | Primul pas este să rulați mașina virtuală pusă la dispoziție. Informațiile necesare pentru a rula mașina virtuală se găsesc la link-ul de mai jos. | ||
- | |||
- | <note> | ||
- | Descriere și rulare mașină virtuală: https://ocw.cs.pub.ro/courses/sde/teme/tema_ro_1#masini_virtuale_tema_1_sd_e_2019 | ||
- | </note> | ||
- | |||
- | Verificați conexiunea la internet rulând comanda ''ping'' către un site și verificati că site-ul răspunde (Hint: ''man ping'') | ||
- | |||
- | <note warning> | ||
- | Pentru rezolvarea temei aveți nevoie în continuare de conexiune la Internet din interiorul mașinii virtuale, insa rezolvarea temelor nu necesita o conexiune permanenta la Internet. Pentru orice problemă, folosiți sectiunea de issue-uri de pe [[https://github.com/upb-fils/sde/issues|github.com/upb-fils/sde/issues]]. Nu treceti mai departe până nu sunteți siguri că puteți accesa Internetul din interiorul mașinii virtuale! | ||
- | </note> | ||
- | |||
- | ==== Task 02 (0p) ==== | ||
- | |||
- | În acest moment mașina virtuală are acces la Internet, și mașina fizică (//host//) poate comunica cu mașina virtuală (//guest//). Mașina virtuală poate porni într-un timp destul de mare, de până la 120 de secunde. Mașina virtuală are facută o regulă de //port forwarding// care permite connectarea ușoara între mașina fizică și mașina virtuală. | ||
- | |||
- | ==== Task 03 (0p) ==== | ||
- | |||
- | ** SSH ** | ||
- | |||
- | Scopul acestui task este să vă conectați de pe mașina fizică (denumită în continuare //host// sau //mașina gazdă//) către mașina virtuală (denumită în continuare //guest//) folosind protocolul [[https://en.wikipedia.org/wiki/Secure_Shell|SSH]]. Din Linux/macOS puteți folosi utilitarul ''ssh'' (''man ssh''), iar de pe Windows puteți folosi programul [[https://en.wikipedia.org/wiki/PuTTY|PuTTy]], pe care trebuie să-l descărcați de la adresa [[http://www.putty.org/]], secțiunea //Download PuTTy//. Din lista de programe disponibile la adresa anterior menționată, este suficient să alegeți //putty.exe// de sub secțiunea //For Windows on Intel x86//. | ||
- | |||
- | Pentru a finaliza acest task, aveți nevoie de următoarele: | ||
- | |||
- | * Username-ul mașinii //guest// (Implicit ''student'') | ||
- | * Parola username-ului mașinii //guest// (Implicit ''student'') | ||
- | * [[https://en.wikipedia.org/wiki/IP_address|IP-ul]] (adresa) interfeței la care ne conectăm : ''localhost'' (Hint: este ''localhost'' deoarece am folosit port forwarding) | ||
- | * Port-ul interfeței la care ne conectăm : ''2222'' | ||
- | |||
- | Vă puteți conecta de pe mașina //host// către mașina //guest// cu un număr nelimitat de instanțe ale programelor mai sus menționate (''ssh'' sau //PuTTy//). Pe Linux/macOS puteți face acest lucru deschizând pe mașina //host// un nou tab/terminal în care vă veți conecta la mașina //guest// prin SSH. Rulați comanda ''man ssh'' și căutați după parametrul ''-l'' (''L'' mic). Pe Windows puteți face acest lucru deschizând o nouă instanță de //PuTTy// și introducând ca IP ''localhost'' și ca port ''2222''. | ||
- | |||
- | ==== Task 04 (25p) ==== | ||
- | |||
- | ** Checkerul ** | ||
- | |||
- | Tema 1 Sd'E este verificata automat cu ajutorul unui checker, instalat pe mașina virtuală, sub forma executabilului ''uso''. Checkerul trebuie rulat într-un terminal și are nevoie de drepturi privilegiate (''sudo''). Citiți modul în care puteți folosi utilitarul ''uso'' conform [[sde:teme:instructiuni-checker|instrucțiunile de utilizare]]. | ||
- | |||
- | Pentru această temă trebuie să vă înregistrați username-ul și parola de pe [[http://fils.curs.pub.ro]] folosind utilitarul ''uso'' și urmand instructiunile din terminal (care vă vor conduce la [[http://temeuso.cs.pub.ro]]). | ||
- | |||
- | <note tip> | ||
- | |||
- | ''student@usohomework ~ $ sudo uso'' | ||
- | </note> | ||
- | |||
- | <note warning> | ||
- | |||
- | ATENȚIE!!! Toate tastele introduse de la tastatură in mașina virtuală sunt înregistrate. Evitați să introduceți in aceasta orice fel de parole sau date sensibile/personale. | ||
- | </note> | ||
- | |||
- | După înregistrare, începeți lucrul la //Tema 1//. | ||
- | |||
- | <note tip> | ||
- | |||
- | ''student@usohomework ~ $ sudo uso start 1'' | ||
- | </note> | ||
- | |||
- | Pentru a verifica dacă tema rulează corect, rulați checkerul. | ||
- | |||
- | <note tip> | ||
- | |||
- | ''student@usohomework ~ $ sudo uso check'' | ||
- | </note> | ||
- | |||
- | Verificati dupa ca primele 4 task-uri sunt ''OK'' (ar trebui sa fie). | ||
- | |||
- | ==== Task 05 (35p) ==== | ||
- | |||
- | **[5p]** Clonați în directorul ''/home/student'' repository-ul disponibil la adresa ''https://github.com/upb-fils/sde''. Directorul creat după clonare trebuie să aibă numele ''sde''. | ||
- | |||
- | **[25p]** Adaugați în directorul ''sde'' următoarea structură de directoare și fișiere: | ||
- | <code bash> | ||
- | Halloween | ||
- | ├── The Nun/ | ||
- | │ ├── Monastery/ | ||
- | │ │ ├── Finit hic Deo | ||
- | │ │ ├── Crosses/ | ||
- | │ │ ├── Cemetery | ||
- | │ ├── Castle of the Dukes | ||
- | │ └── Evil $pirits | ||
- | ├── Anabelle/ | ||
- | │ ├── Motifs/ | ||
- | │ │ ├── Well.c | ||
- | │ │ ├── Scarecrow.c | ||
- | │ │ └── Staircase.c | ||
- | │ ├── Ghosts/ | ||
- | │ │ └── The Doll | ||
- | │ └── Favourite game/ | ||
- | │ └── Hide & Seek | ||
- | └── Hotel Transylvania/ | ||
- | ├── Holiday/ | ||
- | │ ├── Cruise: 'Legacy' | ||
- | │ ├── Island/ | ||
- | │ └── City of Atlantis | ||
- | ├── Instrument of destruction/ | ||
- | │ ├── Note_sheet.c | ||
- | │ └── Kraken | ||
- | └── Monsters/ | ||
- | ├── Skeleton | ||
- | ├── Mummy | ||
- | └── Werewolf | ||
- | |||
- | </code> | ||
- | |||
- | <note> | ||
- | Directoarele au după nume caracterul ''/'' (slash). | ||
- | </note> | ||
- | <note> | ||
- | Punctajul se ofera de la folderele radacina catre frunze. Asta inseamna ca s-ar putea sa faceti anumite foldere sau fisiere care sa fie in structura si checkerul sa nu le puncteze decat daca faceti intr-o anumita ordine structura. Nu este nici o problema. Atata timp cat intreaga structura va fi creata, puteti sa faceti fisierele sau folderele in orice ordine doriti si veti primi punctaj maxim. | ||
- | </note> | ||
- | |||
- | <note warning> | ||
- | După rezolvarea cerințelor acestui task, nu ștergeți sau modificați conținutul directorului ''~/sde/Halloween/''. Acesta trebuie să râmână în această formă pentru verificările ulterioare ale checkerului. Veți pierde punctele obținute pentru acest task dacă faceți modificări și va fi nevoie de refacerea taskului. | ||
- | </note> | ||
- | |||
- | |||
- | |||
- | ==== Task 06 (12p) ==== | ||
- | |||
- | **[12p]** Aflându-vă în directorul ''sde'', folosiți **o singură comandă** pentru fiecare dintre cerințele următoare: | ||
- | - Faceti o copie a folderului ''Halloween'' din folderul ''sde'' care sa se numeasca ''Copie'' si sa se afle tot in folderul ''sde'' (in folderul ''sde'' vor exista acum ambele foldere: ''Halloween'' si ''Copie''). | ||
- | - In folderul ''Copie'': Mutați fisierul ''Kraken'' din ''Instrument of destruction'' în ''Monsters''. | ||
- | - In folderul ''Copie'': Redenumiți ''Hide & Seek'' în ''Hide and Seek''. | ||
- | - In folderul ''Copie'': Redenumiți ''Evil $pirits'' în ''Evil Spirits''. | ||
- | - In folderul ''Copie'': Adaugați fisierul ''Hunted.c'' în directorul ''Ghosts''. | ||
- | |||
- | <note important> | ||
- | |||
- | Cerințele de mai sus trebuie rezolvate în ordine. | ||
- | </note> | ||
- | |||
- | <note warning> | ||
- | După rezolvarea cerințelor acestui task, nu ștergeți sau modificați conținutul directorului ''~/sde/Copie/''. Acesta trebuie să râmână în această formă pentru verificările ulterioare ale checkerului. Veți pierde punctele obținute pentru acest task dacă faceți modificări și va fi nevoie de refacerea taskului. | ||
- | </note> | ||
- | |||
- | |||
- | |||
- | ==== Task 07 (28p) ==== | ||
- | |||
- | <note warning> | ||
- | Pentru acest task aveți nevoie de fișierul ''boo.c'' aflat la adresa: | ||
- | |||
- | https://raw.githubusercontent.com/upb-fils/sde/master/devoir/devoir1/boo.c | ||
- | |||
- | Hint: ''man wget'' | ||
- | |||
- | </note> | ||
- | |||
- | **[8p]** Creați directorul ''task7'' în directorul ''sde'', și descărcați în acesta fișierul ''boo.c''. | ||
- | |||
- | <note important> | ||
- | Veti avea nevoie de fisierele ''light.o'' ''sound.h'' si ''sound.c'', ce pot fi descarcate de la adresele \\ | ||
- | ''https://github.com/upb-fils/sde/raw/master/devoir/devoir1/light.o'' \\ | ||
- | ''https://raw.githubusercontent.com/upb-fils/sde/master/devoir/devoir1/sound.c'' | ||
- | ''https://raw.githubusercontent.com/upb-fils/sde/master/devoir/devoir1/sound.h'' \\ | ||
- | </note> | ||
- | <note warning> | ||
- | Pentru cei cu masini virtuale pe **64 de biti**, fisierul ''light.o'' poate fi descarcat de la adresa \\ | ||
- | ''https://github.com/upb-fils/sde/raw/master/devoir/devoir1/64/light.o'' \\ | ||
- | </note> | ||
- | |||
- | |||
- | **[15p]** Generati in directorul ''task7'' executabilul ''exec'', folosind atât fișierul obiect ''light.o'', cât și fisierul obiect ''sound.o'' obținut în urma compilării sursei ''sound.c'' implementată anterior. In final trebuie doar ca in directorul ''task7'' să fie generat fișierul executabil ''exec''. | ||
- | |||
- | **[5p]** Folositi comenzi de compilare care să creeze toate fisierele intermediare (denumite ''boo.o'', ''boo.s'') in urma compilarii fisierului sursa ''boo.c''. Aceste 2 fisiere trebuie sa se afle in final tot in directorul ''task7''. | ||
- | |||
- | |||
- | |||
- | ==== Task 08 (0p) === | ||
- | |||
- | Finalizați tema si asigurați-vă că ați submis tema cu ''sudo uso submit''. | ||
- | |||
- | <note tip> | ||
- | |||
- | ''student@usohomework ~ $ sudo uso submit'' | ||
- | </note> | ||
- | |||
- | |||
- | |||
- | ==== Avertisment === | ||
- | <note warning> | ||
- | Este interzis studenților să modifice parametrii de rulare ai mașinii virtuale. Orice tentativă malițioasă de modificare a fișierelor și executabilelor care fac mașina virtuală sa ruleze in parametrii optimi (fișierele si folderele ce nu țin de enunțul temei curente), ne conferă dreptul de a oferi 0 puncte pe temele respectivului student. | ||
- | </note> | ||
- | |||
- | ===== Instrucțiuni de folosire a checkerului ===== | ||
- | |||
- | <note> | ||
- | Actualizări: | ||
- | |||
- | * **12 Octombrie 2018, 23:55** - Publicare | ||
- | </note> | ||
- | |||
- | ==== 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). | ||
- | |||
- | 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. | ||
- | |||
- | 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. | ||
- | |||
- | |||
- | ==== Sintaxă ==== | ||
- | |||
- | 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''. | ||
- | * **''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 | ||
- | * **''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. | ||
- | * O temă este formată din mai multe taskuri. | ||
- | * 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. | ||
- | * **''submit''** : Finalizează tema. | ||
- | |||
- | Exceptând parametrii **''version''** și **''check''**, toate celelalte necesită prezența unei conexiuni de Internet. | ||
- | |||
- | <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ă.__ | ||
- | </note> | ||
- | |||
- | ==== Pași ==== | ||
- | |||
- | <note important> | ||
- | |||
- | Rețineți că 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. | ||
- | </note> | ||
- | |||
- | În acest moment considerăm că mașina virtuală este înregistrată corespunzător cu contul de utilizator corespunzător fiecărui student. Dacă această condiție este îndeplinită cu succes, pașii uzuali de lucru pentru o temă se regăsesc mai jos. | ||
- | |||
- | - se pornește tema cu ''uso start N'' unde N este tema curenta | ||
- | - se verifică tema cu ''uso check'' | ||
- | - pentru verificarea unui singur task putem folosi comanda ''uso check N'', unde ''N'' reprezinta numărul task-ului | ||
- | - exemplu: ''uso check 4'' | ||
- | - dacă rezultatele de la pasul anterior nu sunt ok, se repetă pasul 2 și 3 | ||
- | - altfel, se finalizează tema folosind ''uso submit''. | ||
- | - 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 | ||
- | - __acest lucru este permis doar dacă nu a fost depășit deadline-ul temei__ | ||
- | - oricând pe parcursul ciclului de mai sus, se poate rula ''uso update''. | ||
- | |||
- | <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**. Se va lua în considerara doar ultimul cod submis înainte de deadline. Orice submisie după deadline nu va fi luată în considerare.</note> | ||