Skip to content

Gestionarea temelor

Bun venit la Ghidul de gestionare a temelor pentru Utilizatorii Business ai DojoCode. Temele sunt elementul de bază al predării pe platformă: îți permit să distribui un parcurs de învățare sau o singură provocare unui student, unui întreg grup sau oricărei combinații, iar apoi să urmărești progresul în timp real pe măsură ce clasa parcurge materialul.

Acest ghid te va ajuta să treci prin întregul ciclu de viață — crearea unei ciorne, alegerea destinatarilor, publicarea, monitorizarea, prelungirea termenelor limită, arhivarea și analizarea statisticilor.

Introducere

INFO

Crearea de teme este inclusă în orice abonament business. Nu există cerințe de nivel / puncte — odată ce te-ai abonat și ți-ai verificat e-mailul, poți trimite teme imediat.

Mergi la pagina Teme (Assignments) din bara laterală a panoului de control business. Vei vedea o listă cu temele tale existente (ciorne, publicate și arhivate împreună) plus un buton NEW DRAFT pentru a începe una nouă.

Crearea unei teme

Apasă pe NEW DRAFT pentru a deschide asistentul în patru pași.

Pasul 1 — Detalii

Introdu titlul și instrucțiunile opționale pentru temă. Instrucțiunile sunt redate în format markdown pentru studenți, așa că folosește liber titluri, liste și blocuri de cod. Păstrează titlul scurt (3–120 de caractere) și descriptiv — studenții îl vor vedea peste tot.

Pasul 2 — Sursă

Alege ce anume vrei să asignezi:

  • Parcurs de învățare (Learning path) — un traseu cu mai multe lecții. Studenții finalizează lecțiile și provocările obligatorii în ordine. Ideal pentru programe de studiu structurate sau module de o săptămână.
  • Provocare (Challenge) — un singur exercițiu de programare. Ideal pentru verificări rapide, încălziri sau practică individuală.

Folosește meniul pliabil (accordion) de căutare și filtrare pentru a restrânge selecția în funcție de șablon, limbaj, dificultate sau propriile tale etichete.

ATENȚIE

Sursa nu mai poate fi modificată după crearea temei. Dacă alegi o sursă greșită, va trebui să ștergi ciorna și să o iei de la capăt.

Pasul 3 — Destinatari

Alege grupuri, studenți individuali sau ambele opțiuni. Asistentul arată numărul de destinatari unici în timp real, astfel încât să poți vedea exact câți studenți vor primi tema după eliminarea duplicatelor.

SFAT

Combinarea grupurilor și a studenților individuali este complet acceptată — un student care se află într-un grup vizat ȘI în lista de studenți individuali va primi în continuare o singură înregistrare de temă.

Pasul 4 — Planificare și notare

  • Dată limită (Due date) (obligatorie) — data până la care tema trebuie finalizată. După această dată, rândul se schimbă automat în Restantă (Overdue), iar studentul își pierde accesul (până când îi acorzi o prelungire).
  • Dată de excludere (Cutoff date) (opțională) — o blocare finală și strictă. Trimiterile de după această dată nu sunt luate în considerare pentru temă, chiar dacă rândul studentului nu a fost încă marcat ca restant de către crontab. Este utilă atunci când dorești o avertizare blândă (Due date), urmată de o limită strictă (Cutoff).
  • Prag de notare automată (Autograding threshold) (opțional) — când este activat, doar trimiterile cu un scor egal sau mai mare decât pragul stabilit sunt considerate Promovate (Passed). Când este dezactivat, orice finalizare este considerată promovată.

Apasă pe Create assignment pentru a salva ciorna. Temele noi se salvează întotdeauna ca ciorne — ele sunt invizibile pentru studenți până când le publici.

Tab-ul Studenți de pe o ciornă

Deschide o ciornă pe care tocmai ai creat-o și dă clic pe tab-ul Students (Studenți). Vei vedea o previzualizare a fiecărui destinatar extras din grupurile și selecțiile individuale alese, fiecare având eticheta Pending publish (Așteaptă publicarea). Coloanele cu metrici (status, progres, scor, timp) rămân goale până la publicare — tabelul îți arată doar cine va primi tema.

Folosește această etapă pentru a verifica destinatarilor înainte de a distribui tema.

Publicarea

Când ciorna arată bine, apasă pe Publish fie din:

  • Bara de instrumente cu acțiuni de pe pagina de vizualizare.
  • Meniul contextual al elementului din listă de pe /business/assignments.

Publicarea:

  1. Stabilește setul de destinatari (grupuri → studenți + studenți individuali, cu eliminarea duplicatelor și excluderea instructorului).
  2. Creează un rând AssignmentProgress pentru fiecare destinatar.
  3. Trimite o notificare + e-mail fiecărui student pentru a anunța noua temă.
  4. Emite un eveniment socket în timp real, astfel încât oricine are un tab de browser deschis să vadă tema apărând imediat.

ATENȚIE

Publicarea este o acțiune ireversibilă. Odată publicată, nu mai poți schimba sursa, titlul sau instrucțiunile — acele modificări sunt disponibile doar în modul ciornă. Folosește Extend deadline pentru a modifica datele, Archive pentru a elimina tema din listele studenților sau Delete pentru a o șterge complet.

Dacă ciorna ta are zero destinatari valizi (grupuri goale + niciun student individual), publicarea va fi respinsă cu o eroare clară.

Monitorizarea progresului

Pagina de vizualizare a temei publicate afișează:

  • Casete cu statistici — Destinatari, % de finalizare, Scor mediu, Timp mediu.
  • Distribuția stărilor — o bară stivuită care arată ponderea studenților în fiecare stare (Finalizat / În curs / Neînceput / Restant) cu o casetă de legendă pentru fiecare stare.
  • Tab-ul Prezentare generală (Overview) — instrucțiuni, destinatari (numele grupurilor + numele de utilizator individuale sub formă de tag-uri/chips), linkul sursă, cronologia planificării, configurarea notării.
  • Tab-ul Studenți (Students) — tabelul cu progresul fiecărui student. Filtrează după stare, paginează și acordă prelungiri direct din tabel.
  • Tab-ul Analitice (Analytics) — diagrame d3: grafic de tip gogoașă cu rezultate, rata de promovare pe lecție (doar pentru tipul LP), histograma distribuției scorurilor, cronologia cumulativă a finalizării.

Tabelul Studenți se actualizează în timp real pe măsură ce clasa ta lucrează — nu este necesară reîmprospătarea paginii pentru evenimentele transmise prin socket, iar un buton manual de Refresh este situat chiar deasupra tabelului.

Acordarea prelungirilor

Apasă pe Extend deadline în bara de instrumente pentru a deschide fereastra modală de prelungire. Poți:

  • Prelungire globală — mută data limită înainte pentru toți destinatarii. Studenții ale căror teme erau restante sunt deblocați automat înapoi la starea În curs (In progress).
  • Prelungire pentru studenți specifici — alege din lista de studenți și asignează fiecăruia un nou termen limită + un motiv opțional („concediu medical”, „s-a blocat la un pas”). Setările specifice fiecărui student au prioritate față de data limită globală.

SFAT

Data de excludere (cutoff date) este actualizată automat dacă noul termen limită trece de ea, astfel încât prelungirea chiar oferă studentului timp de lucru suplimentar. Nu trebuie să îți amintești să actualizezi manual data de excludere.

Prelungirile individuale trimit, de asemenea, o notificare + e-mail studentului vizat, conținând noul termen limită și motivul tău.

Poți acorda aceeași prelungire de mai multe ori — nu există nicio limită. O nouă prelungire va crea pur și simplu o nouă înregistrare care o va suprascrie pe cea anterioară.

Arhivarea

Când un capitol se încheie, apasă pe Archive din bara de instrumente (vizibil doar pentru temele published). Temele arhivate:

  • Dispar imediat din listele studenților.
  • Nu mai iau în considerare noile trimiteri pentru temă.
  • Sunt incluse în continuare în datele analitice cu bifa includeOrphaned dacă vei avea vreodată nevoie să le auditezi.

O fereastră modală de confirmare te protejează de clicurile accidentale. Arhivarea poate fi anulată doar prin ștergere + recreare — nu există o acțiune de restaurare.

Ștergerea

Acțiunea Delete este disponibilă în orice stare și realizează o ștergere în cascadă pentru:

  • Documentul temei propriu-zise.
  • Fiecare rând AssignmentProgress care face trimitere la aceasta.
  • Fiecare notificare asociată (pictogramele clopoțel pentru fiecare destinatar).

Folosește-o fără griji pentru ciorne. În cazul unei teme publicate cu progres activ, fereastra de confirmare te va avertiza cu privire la ștergerea în cascadă („Toate cele N rânduri de progres ale studenților... vor fi, de asemenea, șterse”) înainte de a confirma.

ATENȚIE

Ștergerea este permanentă. Odată ce confirmi, acțiunea nu mai poate fi anulată — va trebui să creezi tema de la zero și să o republici.

Editarea unei ciorne

Poți edita o ciornă de temă fie din meniul contextual al elementului din listă, fie din butonul Edit de pe pagina de vizualizare. Asistentul se va reîncărca cu valorile existente și îți va permite să modifici orice — titlu, instrucțiuni, sursă, destinatari, planificare, notare.

ATENȚIE

Editarea este disponibilă doar pentru ciorne (draft-only). Odată publicată, butonul Edit dispare de pe pagina de vizualizare și din meniul contextual al listei. Pentru a modifica structura unei teme publicate, șterge-o și creeaz-o din nou.

Referință pentru ciclul de viață

Scurtă recapitulare a stărilor:

De laAcțiuneLa
(niciuna)Creare wizardDraft
DraftEditare wizardDraft
DraftPublicarePublished (se declanșează fan-out-ul)
PublishedPrelungire termenPublished (rândurile restante se deblochează)
PublishedArhivareArchived
oricareȘtergere(dispărut, șters în cascadă)

Cron-uri care rulează în fundal:

  • Verificarea orară a restanțelor trece rândurile eligibile not_started / in_progress în starea overdue odată ce termenul lor limită efectiv a trecut (se respectă prelungirile per student). Studenții restanțieri primesc o notificare + e-mail pentru a ști să ceară o prelungire.
  • Mementoul zilnic pentru termene apropiate la ora 08:00 a serverului trimite o notificare fiecărui student cu temă deschisă al cărui termen limită efectiv este în următoarele 24 de ore.

Ce văd studenții

Pentru o vizibilitate completă asupra experienței din perspectiva studentului — cum apare tema pe pagina lor My Assignments, cum arată vizualizarea temei și cum este sărbătorită finalizarea — consultă pagina Conceptul de temă.