Ghidul asistenților
Resurse folosite
-
-
-
-
ssh poo@elf.cs.pub.ro
- puneți
cheia publică în documentul de organizare ca să o adăugam pe poo@elf.
trello - pentru organizarea taskurilor
-
Laboratoare
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 (
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.
Sfaturi predare
(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.
Explicațiile trebuie să fie cât mai engaging pentru studenți, încercați să îi atrageți în discuții, porniți eventual de la o problemă și să virați înspre cum se rezolvă cu noțiunile din laboratorul actual
exemple din real-world
problem-driven
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.
Testele:
fiți punctuali și nu începeți laboratorul mai tarziu de :05
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.
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.
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
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, 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.
Sfaturi in plus fata de cele de mai sus pt online:
Teme
Subechipele temelor au următoarele responsabilităţi:
gândirea ei într-o manieră ce permite testarea automată
redactarea enunţului
elaborarea şi publicarea tester-ului
-
crearea unui forum specific temei respective şi trimiterea unui anunţ referitor la publicarea temei ̧si a eventualelor recomandări
răspunderea la întrebarile de pe forum din partea studenţilor
corectarea temei în maxim o lună de la expirarea termenului (două săptămâni în cazul primei teme si până la începerea sesiunii pentru a ultima temă)
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 către responsabilii fiecărei teme.
Instrucțiuni pt configurarea temei pe vmchecker:
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
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
Aici aveți un ghid detaliat pentru corectarea temelor.
Catalog
Se utilizează un spreadsheet public, disponibil în drive
Fiecare asistent trece notele semigrupelor sale la sfârşitul fiecărei săptămâni
Teste săptămânale (OUTDATED)
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.
1-2 întrebari cu răspuns liber, durata de maxim 10 minute.
Avem un channel pe
slack pentru aceste teste și aici puteți să discutați întrebări sau să cereți feedback pentru o întrebare pe care doriți să o dați.
Avem deja un
pool de întrebări din alți ani, iar dacă propuneți altele, vă rugăm să le treceți aici. Dacă dați o întrebare existentă completați aici laboratorul la care ați dat-o (e.g. Lu 10-12).
Este util pentru ei să discutați soluția întrebărilor date imediat după test, înainte de a începe discuția laboratorului curent. Nu este timp să corectați și să discutați ce a făcut fiecare individual.
Pentru a eficientiza, puteti sa veniti cu intrebarea printata, mai ales daca contine snippet de cod, si ei scriu si direct pe acea foaie.
Test final
Tutoring
Convenţii de redactare