Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo-ca-cd:intern:regulament [2020/08/28 11:08]
florin.mihalache [Teme]
poo-ca-cd:intern:regulament [2021/10/19 21:50] (current)
florin.mihalache [Teste săptămânale]
Line 22: Line 22:
 ==== Laboratoare ==== ==== Laboratoare ====
  
-  * Responsabilii de laboratoare trebuie să: +  * Responsabilii de laboratoare trebuie să realizeze todo-urile din template-ul de pe [[https://​trello.com/​c/​Dotu6PEA/​3-lab-checklist-template|trello]]. Ele sunt legate de mici corecturi legate de formatare dar șde exerciții sau exprimări. În 2020 o să păstrăm majoritatea ​exercițiilor nemodificatele actualizăm/schimbăm doar pe cele neclare ​sau inutile.
-    * citească cu atenţie tot textul laboratorul şsă corecteze eventualele greşeli (inclusiv diacritice lipsă) +
-    * schimbe ​exerciţiile ​sau să îmbunătăţească explicaţiile ​exerciţiilor lăsate neschimbate din alţi ani (mulţi studenţi se plângeau că nu înţeleg enunţurile) +
-    * verifice şi să actualizeze linkurile (dacă e cazul) +
-    * îmbunătăţească textul laboratoruluifie prin adăugarea de noi noţiuni, fie prin scoaterea unor lucruri care nu erau necesare, sau prin refacerea unor explicaţii +
-    * evite folosirea excesivă de bold (prezentă până acum în laboratoare) +
-    * folosească plugin-ul ​//notes// pentru punerea în evidenţă a unor noţiuni, ​sau a unui scurt rezumat al laboratorului +
-    * corecteze linkurile interne in caz ca acestea sunt relative la root (see [[:​poo-ca-cd:​intern:​conventii#​text |Convenţii]]. Daca ele sunt puse relativ la root, mutarea paginilor va insemna refacerea tutoror linkurilor.+
   * Scheletul laboratorului (dacă există) trebuie adăugat şi în repository atunci când este publicat laboratorul   * Scheletul laboratorului (dacă există) trebuie adăugat şi în repository atunci când este publicat laboratorul
-  * Soluţiile:+  * Soluţiile ​
     * trebuie să fie puse în repository în acelaşi timp cu scheletul     * trebuie să fie puse în repository în acelaşi timp cu scheletul
-    * trebuie publicate la două săptămâni după laborator 
     * ar trebui să conţină comentarii care să explice studenţilor mecanismele utilizate     * ar trebui să conţină comentarii care să explice studenţilor mecanismele utilizate
     * ar trebui să ofere javadoc si sa respecte coding style-ul     * ar trebui să ofere javadoc si sa respecte coding style-ul
-  * Fiecare laborator are un card pe [[https://​trello.com/​b/​WXVoJ9cy/​laboratoare-si-teste|trello]] ​în care se trec lucrurile ce ar trebui schimbate/adăugate în anul următor+  * Dacă observați mici greșeli ​pe parcursul semestrului le puteți modifica direct. Dacă e ceva mai important/​mai mult de schimbat atunci puteți să îl notați pe card-ul de [[https://​trello.com/​b/​WXVoJ9cy/​laboratoare-si-teste|trello]] ​al labului respectiv. 
 +  * Link-ul la **canalul de YouTube** pentru videoclipurile explicative este [[https://​www.youtube.com/​channel/​UCDK7oxEhsHCXYNySF1cbYnA|acesta]]. Credenţialele pentru cont sunt următoarele: 
 +    * e-mail: ''​oop.cs.pub@gmail.com''​ 
 +    * parola: ''​DristorIsLove69''​ 
 + 
 +**Editare document note:** 
 +  * daca un student de-al vostru nu apare in catalog, va rog sa il adaugati voi si sa resortati dupa grupa si nume. (select all in afara de primele doua randuri, Data -> sort range -> sort by Column B, adaugati si sort by Column A). Aceasta situatie se intampla de obicei cu studentii restantieri. 
 +  * folositi FILTER VIEWS atunci cand completati note sau doriti sa filtrati documentul ([[https://​drive.google.com/​drive/​folders/​0B-km9KMJHUFnNzlBUUt6OU00M3M|screenshots]] folosire filtre. 
 +  * folositi NOTES nu COMMENTS. De ce? Textul notes-urilor se muta o data cu celula respectiva, la comments nu, si este foarte probabil sa mai fie mutari, mai ales la inceput. In plus, cand dati un comment intr-un document owner-ii primesc notificari pe mail.
  
  
Line 42: Line 42:
  
 (pe scurt, pentru mai multe info, ping Adriana on Slack) (pe scurt, pentru mai multe info, ping Adriana on Slack)
 +
 +
 +
 +Pre-online (dar multe sunt inca aplicabile):​
  
   * La POO nu diferă în totalitate materia de la lab vs cea de la curs (e.g. ca la pm, asc), deci ne bazăm că ei au auzit de noțiunile din lab de la curs, deci nu explicam jumătate de oră ca la alte materii, ci doar 10-15 min.   * La POO nu diferă în totalitate materia de la lab vs cea de la curs (e.g. ca la pm, asc), deci ne bazăm că ei au auzit de noțiunile din lab de la curs, deci nu explicam jumătate de oră ca la alte materii, ci doar 10-15 min.
Line 51: Line 55:
     * nu trebuie menționat absolut tot din lab, eventual le mai explicați și în timpul exercițiilor     * nu trebuie menționat absolut tot din lab, eventual le mai explicați și în timpul exercițiilor
     * Le puteți permite să vă arate la laboratorul următor ce nu termină în laboratorul curent, dar nu acceptați să vedeți exerciții pe mail sau de la cineva care a lipsit.     * Le puteți permite să vă arate la laboratorul următor ce nu termină în laboratorul curent, dar nu acceptați să vedeți exerciții pe mail sau de la cineva care a lipsit.
 +
  
   * **Testele**: ​   * **Testele**: ​
Line 56: Line 61:
     * discutați pe scurt soluția cu ei dupa test și înainte de a începe explicațiile laboratorului     * discutați pe scurt soluția cu ei dupa test și înainte de a începe explicațiile laboratorului
     * evaluați-le până la urmatorul laborator..why?​ dacă observați că au făcut foarte mulți o anumită greșeala sau vedeți că nu au înțeles un concept, e bine sa mai insistati pe el, să îl mai explicați o data în următorul lab (E.g. vedeți că au probleme cu static). Defeats the purpose of the tests să le evaluați pe toate la finalul semestrului.     * evaluați-le până la urmatorul laborator..why?​ dacă observați că au făcut foarte mulți o anumită greșeala sau vedeți că nu au înțeles un concept, e bine sa mai insistati pe el, să îl mai explicați o data în următorul lab (E.g. vedeți că au probleme cu static). Defeats the purpose of the tests să le evaluați pe toate la finalul semestrului.
 +
  
   * **Social skills**: ​   * **Social skills**: ​
-    * friendly si sa îi ajutați pe toti pe tot parcursul labului, ​ să nu stați izolați la laptop pe tot parcursul laboratorului și doar la final să le vedeți exercițiile.+    * friendly si sa îi ajutați pe toti pe tot parcursul labului, să nu stați izolați la laptop pe tot parcursul laboratorului și doar la final să le vedeți exercițiile.
     * dacă vedeți că unii sunt nesiguri pe skillurile lor, se deprimă, se panichează,​ try to be there for them, să le arătați că they can do it.     * dacă vedeți că unii sunt nesiguri pe skillurile lor, se deprimă, se panichează,​ try to be there for them, să le arătați că they can do it.
     * nu fiți aroganți cu ei     * nu fiți aroganți cu ei
  
   * Sa îi încurajați să folosească documentația claselor de Java, nu copy-paste fără să gândească de pe stackoverflow.   * Sa îi încurajați să folosească documentația claselor de Java, nu copy-paste fără să gândească de pe stackoverflow.
-  * Sa îi incurajați să întrebe pe forum și pe mail nu să vă bată la cap pe facebook. +  * Sa îi incurajați să întrebe pe forum, pe teams sau pe mail pentru ca sa nu să vă bată la cap pe facebook. 
-  * Dpdv al organizării,​ la primul laborator este suficient să le ziceți de regulamentul de pe wiki, pagina de organizare cu echipa și calendarul. Să le spuneți care sunt obiectivele materiei (java dar si lots of oop, design patterns, coding style, no-gui stuff because it sucks (different wording pls)).+  * Dpdv al organizării,​ la primul laborator este suficient să le ziceți de regulamentul de pe wiki, pagina de organizare cu echipa și calendarul. Să le spuneți care sunt obiectivele materiei (java dar si lots of oop, design patterns, coding style, no-gui stuff. 
 + 
 +Sfaturi in plus fata de cele de mai sus pt **online**:​ 
 + 
 +   * Fiți cu **video on** voi asistenții,​ chiar dacă studenții nu o sa fie. Puneți-va background fake dacă nu doriți să vi se vadă ce e prin camera 
 +   * **Explicațiile** 
 +     * ei au la dispoziție videouri cu explicații însă e indicat să începeți și voi discuții cu ei pe teams, mai mult de tip Q&A axat pe ce nelamuriri au, ce ar dori sa le explicați din lab/​exerciții 
 +     * le puteti axa mai mult pe partea de exerciții, e util chiar sa dați screen pentru a le explica anumite exemple/​părți 
 +     * la primul lab e indicat să începeți prin a le arăta resursele utile de pe wiki, lucruri de oragnizare, nu vă lungiți însă prea mult 
 +   * **Code review** 
 +     * nu întârziați cu el, ei au deadline de 48 de ore, e bine ca și voi să vă uitați pe codul lor până la următorul lab 
 +     * le dați nota după ce au adresat comentariile,​ iar dacă nu au timp sau nu vor, le puteți pune nota pentru cât au făcut 
 +     * nu vă sfiiți să le dați si //​nit//​-uri,​ aka comentarii despre lucruri de code style sau pentru a face codul mai citibil 
 +     * păstrați un ton neutru în comentarii și prietenos, este foarte ușor de greșit și de părut ironic/​agresiv în scris 
 + 
 + 
  
  
Line 83: Line 105:
 Pentru fiecare temă, tester-ul se publică o dată cu publicarea enunţului (chiar dacă nu este încă pus pe vmcheker). Pentru fiecare temă, tester-ul se publică o dată cu publicarea enunţului (chiar dacă nu este încă pus pe vmcheker).
  
-:!: Verificarea temelor de copiere se va face atunci cand se corectează temele, de catre responsabilii fiecărei teme. +:!: Verificarea temelor de copiere se va face atunci cand se corectează temele, de către ​responsabilii fiecărei teme. 
  
 Instrucțiuni pt configurarea temei pe vmchecker: Instrucțiuni pt configurarea temei pe vmchecker:
Line 89: Line 111:
   * [[https://​groups.google.com/​d/​msg/​poo_asist/​bDv5vEXUoOc/​CpMySIJM_WYJ]]   * [[https://​groups.google.com/​d/​msg/​poo_asist/​bDv5vEXUoOc/​CpMySIJM_WYJ]]
   * [[https://​groups.google.com/​d/​msg/​poo_asist/​9TepsUL2lPU/​jk_iopAbJcoJ]]   * [[https://​groups.google.com/​d/​msg/​poo_asist/​9TepsUL2lPU/​jk_iopAbJcoJ]]
 +
 +=== Dezvoltarea unei teme și planificarea ei ===
 +== Dacă tema este una nouă, făcută de la zero ==
 +  - să vă apucați din timp - iulie pentru prima temă și august pentru proiect (ambele etape).
 +  - faceți 1-2 meetings prin care să stabiliți tematica temei. Aici trebuie sa decideți și cum s-ar plia tematica pe principiile POO, mai ales pe moștenire, care trebuie să apară obligatoriu în prima temă (și în restul temelor), și cum pot fi aplicate design patterns (la proiect / temele 2 și 3). Ideea trebuie să fie cât mai practică, să se muleze pe chestii din viața reală (fără boardgames sau jocuri, s-a dovedit la ”Sheriff of Nottingham” că nu este o tactică bună, deoarece studenții stau mai mult să înțeleagă regulile jocului decât să gândească implementarea).
 +  - să vă faceți un canal de Slack privat echipei temei / proiectului.
 +  - lead-ul temei / proiectului să împartă task-uri celor care contribuie la temă / proiect, adică să spună cu ce ocupă fiecare (implementare,​ teste, cerință).
 +  - să se facă meetings regulate (din 2 în 2 săptămâni,​ cu eveniment în Google Calendar pentru toți din echipa temei / proiectului),​ în care se va discuta statusul curent și ce ar mai trebui făcut.
 +  - implementarea trebuie pusă pe un repository privat, la care să aibă acces doar cei care contribuie la temă / proiect, pentru a evita leak-uri (de exemplu un membru random din echipă să ia tema, să o modifice și să o vândă). Implementarea va putea fi făcută publică în cadrul echipei doar după deadline-ul hard. Aceasta nu va fi niciodată publică studenților,​ având în vedere că tema / proiectul pot fi reciclate în viitor.
 +  - cei de la implementare vor lucra pe un branch separat (fiecare cu branch-ul său), fiecare va face pull request.
 +  - lead-ul și cu cei de la implementare vor verifica funcționalitățile codului temei / proiectului,​ încât logica codului să fie corespunzătoare cerinței. La final, după ce codul este terminat, se vor verifica manual testele, pentru a vedea dacă este ceva greșit în logica codului.
 +  - cei de la implementare vor redacta cerința, având în vedere că ei știu cel mai bine implementarea,​ și vor da către restul echipei temei / proiectului la review amănunțit (de redactat cerința într-un Google Docs, pentru a putea adăuga fiecare comentarii și sugestii de schimbare).
 +  - când tema / proiectul (fiecare etapă) este lansat, trebuie configurat vmchecker-ul. În acest caz, vă inspirați din configurația temelor din trecut de pe vmchecker. La prima temă trebuie să creați instanța pentru anul universitar,​ pașii sunt [[https://​github.com/​rosedu/​vmchecker#​add-a-new-instance | aici]].
 +  - să verificați forumul zilnic și să răspundeți cât mai repede posibil (nu lăsați o intervenție fără răspuns, răspundeți prompt în maxim 4-6 ore la aceasta). Dacă aveți un răspuns complex, de care nu sunteți siguri, să vă consultați cu echipa temei respective pe Slack. Pe forum răspundeți obiectiv, clar și concis, fără mișto-uri și aroganțe sau că nu puteți răspunde la întrebarea respectivă (mai puțin dacă are direct legătură cu implementarea lor, aici le puteți răspunde în privat), așa ceva nu este permis (și nici nu vreți să fiți faimoși pe Overheard).
 +  - faceți un meeting între deadline-ul soft și cel hard pentru corectarea temei / etapei de la proiect, unde veți stabili baremul, cine corectează teme și asignarea temelor fiecărui corector. Să vă apucați imediat după deadline-ul hard. Este de preferat să dați rezultatele la maxim o săptămână (poate două) după deadline-ul hard, pentru a avea la timp feedback pentru temele viitoare. ​
 +
 +== Dacă tema este una reciclată din trecut ==
 +  - trebuie analizate ce a mers prost în trecut la tema respectivă din feedbacks și din intervențiile de pe forum, ale căror răspunsuri vor fi integrate în cerința adaptată a temei respective.
 +  - nu faceți tema respectivă mai grea decât în trecut sau mai ambiguă (exemplu: versiunea din 2019 a temei ”Sheriff of Nottingham” a fost mult mai grea decât versiunea din 2018 și cu mai multe probleme).
 +  - dacă a fost o temă cu foarte multe probleme (de exemplu ”Sheriff of Nottingham”):​ ori reciclați alta, ori faceți alta de la zero. Nu merită să chinuim studenții cu o temă care a cauzat multe probleme.
 +  - punctele 3 - 12 de mai sus.
  
 === Corectare teme === === Corectare teme ===
-  ​va conectați la poo@elf.cs.pub.ro+<note tip>​[[https://​docs.google.com/​document/​d/​18o39iKbdhEZUm80emU_fY2jiFPHM6nqwkldyZfEahiM/​edit|Aici]] aveți un ghid detaliat pentru corectarea temelor.</​note>​ 
 +  ​vă conectați la poo@elf.cs.pub.ro
     * structura de foldere care vă interesează: ​ vmchecker-storer/​repo/​tema{N}/​studentX/​current ​     * structura de foldere care vă interesează: ​ vmchecker-storer/​repo/​tema{N}/​studentX/​current ​
     * in folderul ''​current''​     * in folderul ''​current''​
Line 97: Line 141:
       * ''​run-stdout.vmr''​ - output-ul checker-ului       * ''​run-stdout.vmr''​ - output-ul checker-ului
     * **Recomandare:​** pentru fiecare temă, scrieți feedbackul într-un alt fișier, iar după ce corectați toate temele mutați conținutul în fișierele grade.vmr corespunzătoare (pot apărea schimbări de barem pe măsura ce corectați). Scriptul de copiere îl găsiți în repository în directorul moss/.     * **Recomandare:​** pentru fiecare temă, scrieți feedbackul într-un alt fișier, iar după ce corectați toate temele mutați conținutul în fișierele grade.vmr corespunzătoare (pot apărea schimbări de barem pe măsura ce corectați). Scriptul de copiere îl găsiți în repository în directorul moss/.
 +    * **Recomandare:​** pentru a putea naviga ușor prin directoarele și prin fisierele din mașina virtuală de pe VMChecker, puteți să vă conectați prin SSH la mașina virtuală folosind Visual Studio Code, prin opțiunea de [[https://​code.visualstudio.com/​docs/​remote/​ssh-tutorial | Remote SSH]], astfel puteți să vă uitați ușor pe fișierele din temă când o corectați și să treceți observațiile legate de temă.
  
  
Line 103: Line 148:
   * Fiecare asistent trece notele semigrupelor sale la sfârşitul fiecărei săptămâni   * Fiecare asistent trece notele semigrupelor sale la sfârşitul fiecărei săptămâni
  
-==== Teste săptămânale ====+==== Teste săptămânale ​(OUTDATED) ​====
   * Se dau din materia laboratorului precedent   * Se dau din materia laboratorului precedent
   * **Scopul lor este de a verifica înțegerea noțiunilor din labul precedent, nu să le dăm întrebări capcană care să le testeze inteligența sau timpul de răspuns.** ​   * **Scopul lor este de a verifica înțegerea noțiunilor din labul precedent, nu să le dăm întrebări capcană care să le testeze inteligența sau timpul de răspuns.** ​
poo-ca-cd/intern/regulament.1598602133.txt.gz · Last modified: 2020/08/28 11:08 by florin.mihalache
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0