Skip to content

Latest commit

 

History

History
142 lines (121 loc) · 8.8 KB

submission-process.md

File metadata and controls

142 lines (121 loc) · 8.8 KB

Susținerea laboratoarelor

Nota: Rapoartele pot fi expediate in limba franceză/română/engleză, dar numai in .PDF format. Limba în care este scris raportul, nu influențează nota finală.

Cerințe

  • Vii la laborator deja informat despre sarcinile acestuia (fiindcă vei avea test la începutul fiecărui laborator);
  • Codul sursă a proiectului trebuie să fie păstrat pe GitHub; Dacă lucrările de laborator reprezintă o continuitate, atunci e suficient un singur repozitoriu, însă fiecare laborator va avea ramură (branch) de bază aparte. Master conține ultima versiune stabilă, anume master se va analiza în timpul susținerii.
  • Proiectele cu un singur commit (sau foarte puține) nu se acceptă, sau se acceptă cu condiția atenției triple la susținere;
  • Raportul trebuie să fie expediat în formatul PDF și este important să nu fie arhivat.
  • Raportul trebuie să conțină (template în LaTeX în acest repo):
    • Pagina de titlu;
    • Obiectivele laboratorului;
    • Lista de task-uri implementate;
    • Explicațiile necesare despre modul in care au fost implementate task-urile (adaugă referințele necesare);
    • Screenshot-urile care le consideri adecvate raportului (dacă sunt);
    • Concluzii - scurt (fără exagerări, minim 2-3 fraze complexe) și clar despre rezultatele obținute;
    • Bibliografie (dacă este)
    • Titlul fisierului PDF trebuie să fie în formatul <Grupa>_<Nume>_<Prenume>_PAD<nr lab>.pdf
  • Proiectul trebuie să aibă structură rezonabilă. Diferă de la platformă la platformă, însă mai jos este descrierea generică.
  • Instrucțiuni de asamblare (dacă sunt necesare) și rulare a proiectului;

Procesul de elaborare a laboratorului

Tot laboratorul se împarte în 3 părți:

  • Un mic test la începutul laboratorului, pe cunoașterea materialului acestuia; Testul este de 5-10 minute și conține cîteva întrebări de bază asupra laboratorului.
  • O sarcină de bază (demonstrarea unui minim necesar de cunoștințe pentru acest laborator);
  • Sarcini adiționale;

Sunt 2 opțiuni de a susține laboratorul:

  • Testul dat satisfăcător + sarcina de bază implementată în timpul laboratorului garantează nota 5. Îți rămîne doar să faci raportul și să-l expediezi conform descrierii de mai jos.
  • Testul + sarcina de bază implementată în timpul laboratorului + sarcinile opționale, se vor aprecia conform baremului pentru lucrarea de laborator în cauză. Îți rămîne să faci raportul, să-l expediezi și să-l susții (o procedură în care analizăm împreună lucrarea și o apreciem obiectiv).

Implementarea soluției

Utilizarea completă (plagierea) a soluțiilor existente nu este admisibilă (doar decît e specificat contrariul în condițiile laboratorului). Însă utilizarea unor librării care facilitează rezolvarea unei probleme concrete este acceptabilă.

De ex: Dacă modulul built-in a limbajului ales nu oferă o interfață comodă pentru a lucra cu parsarea XML, însă există un third-party modul care oferă o interfață comodă, atunci utilizarea acestuia este binevenită.

Recomandări: Nu uita despre documentarea codului. Utilizează denumiri explicite și coerente. Folosește guidelines (set de recomandări/reguli) a limbajului în care programezi. Dacă o secțiune de cod implementează ceva mai specific, încearcă să izolezi asta în funcție și să o documentezi.

GIT (VCS - version control system)

Drept VCS va fi utilizat Git. Ca provider de serviciu va fi utilizat github.com Utilizarea VCS are ca scopuri:

  • transparența în implementarea proiectului;
  • colaborarea eficientă;
  • facilizarea revizuirii proiectului.

Procesul de lucru:

  • Te întregistrezi pe github;
  • Creezi un repozitoriu public nou (alegi .gitignore conform stack-ului tehnologic utilizat). Mai multă info Dacă dorești să lucrezi în repozitoriul privat, atunci îmi expediezi un email la adresa [email protected] cu subiectul [PAD][] și în text indici: email-ul cu care te-ai înregistrat pe github, numele/prenumele și denumirea repozitoriului;
  • Clonezi repozitoriul pe calculatorul tău;
  • Adaugi un README.md file cu denumirea obiectului și proiectului;
  • Faci commit
  • Structurezi proiectul (conform descrierii de mai jos);
  • Commit and push to master;
  • Faci un branch nou pentru laboratorul respectiv si te schimbi pe dinsul (man git-checkout);
  • Continui implementarea, făcînd commit-uri la fiecare pas logic (dar nu mai mult de 3 fișiere sau 50 lines of code într-un commit);
  • La fiecare etapă semnificativă, push la ramura curentă pe server (dacă ai conexiune la internet). Scopul este ca pe server să ai ultipa copie a lucrului tău;
  • Dacă este necesar, adaugă descrierea la instrucțiuni/use-case-uri specifice și altă informație utilă despre implementare în cauză în README.md;
  • La finisarea lucrării, fă „merge” la schimbările din ramura laboratorului în master. Apoi fă un tag nou care să aibă denumirea L<nr lab> și push la master pe server;

Astfel procesul tău de lucru va fi transparent la maxim și colaborarea în proiect va fi posibilă foarte ușor.

Referințe:

Structurarea proiectului

Dacă platforma aleasă are o structură recomandată, atunci aceasta trebuie folosită. În caz contrar structura trebuie să fie următoarea:

.
├── .gitignore <-- gitignore specific for the project
├── README.md <-- readme of the project
├── requirements <-- folder with readme for project specific requirements
└── src <--- folder with source code

Nu ezitați să vă consultați dacă nu sunteți siguri la acest capitol.

Expedierea raportului și susținerea

După ce ai implementat task-urile și ai făcut raportul, asigură-te că în repozitoriul se află versiunea actuală a proiectului pe master, trimite-mi un e-mail:

  • Atașează raportul în formatul PDF,
  • Subiectul email-ului [PAD][<grupa>][Lab<nr lab>][Nume Prenume],
  • Linkul către repozitoriul cu lucrarea de laborator,
  • Adresa destinatarului: [email protected]
Deadline-uri și penalizări

Este binevenit să prezinți laboratorul la începutul următorui laborator (de exemplu: să prezinți laboratorul Nr1, cînd vom avea perechi pentru laboratorul 2). Dacă te reții cu mai mult de 2 laboratoare, atunci șansele pentru nota maximă, se vor diminua semnificativ (de ex prezinți laboratorul Nr1 după ce am trecut laboratorul 3).

Notă: Este mai bine să prezinți la timp laboratorul incomplet, decît laboratorul aproape complet, însă cu o întîrziere mare.

Plagierea se sancționează cu anularea laboratorului pentru tine și atenție sporită pentru toate susținerile ulterioare. Dacă simți că nu reușești să faci laboratorul la timp cu puterile proprii, fii activ, adresează întrebări și alege sarcinile care crezi că le reușești. În așa mod, cu siguranță vei avea notă satisfăcătoare + vei căpăta mai multe cunoștințe, decît din plagiere.

Important: Încercînd să prezinți o lucrare străină, ca fiind proprie, vei cheltui mai mult timp și efort, decît să faci cinstit sarcina de bază + testul.

Note:

  • Prezentarea laboratorului în LaTeX nu este obligatorie(dar se va aprecia cu +1), se poate de prezentat și in varianta simplă PDF
  • Cu cît mai multe detalii vei atașa la laboratorul tău, cu atît mai puține întrebari îți voi adresa in timpul prezentării.
  • Dacă careva din noțiuni/cuvinte nu îți sunt cunoscute - google it.
  • Dacă ai careva întrebări și nu le-ai găsit pe net, întreabă de colegii tăi.
  • Dacă nici una din opțiuni nu lucrează pentru tine, expediază-mi un email cu întrebarea ta. Totuși, te-aș sfătui sa găsești singur ieșire din situație, asta te va ajuta in viitoarea ta carieră.
  • Majoritatea noțiunilor si a documentației va fi in limba engleză, pentru a facilita verificarea acesteia.