Il software permette di valutare gli esami in modo obiettivo e di registrare le valutazioni di ciascuno studente. Permette inoltre di calcolare il voto complessivo di ogni studente e la media dei voti della classe.
La valutazione complessiva consiste nella somma di parametri oggettivi connessi ai task richiesti, più una valutazione numerica a discrezione del docente, che potrà alzare o abbassare la votazione in base alla qualità del codice scritto. La valutazione è espressa in valori numerici interi da 0 a 10.
Valutazione dei singoli task:
- fork del repository, commit e invio della PR: 1pt
- svolgimento del primo task - frontend: 2pt
- svolgimento del primo task - backend: 2pt
- svolgimento del secondo task - frontend: 2pt
- svolgimento del secondo task - backend: 2pt
Il totale dei punti assegnati con questo criterio è 9, ma il punteggio puà essere modificato a piacere dal docente. Il calcolo del punteggio rappresenta quindi solo un suggerimento per il docente.
Il database è costituito da un'unica collection di documenti. Ciascun documento rappresenta la valutazione di uno studente, ogni documento è strutturato come segue:
{
nome: string,
task_svolti_correttamente: {
fork_commit_pr: boolean,
task_1_frontend: boolean,
task_1_backend: boolean,
task_2_frontend: boolean,
task_2_backend: boolean,
},
valutazione: number,
note: string,
link: string // memorizza il link alla PR o, se assente, al repository dello studente o altro file pervenuto
}
Una volta installato e avviato il progetto in locale (clicca per le istruzioni), svolgi i seguenti task.
Quando hai terminato, segui le istruzioni per la consegna (vedi sotto).
- Installa l'applicazione e verifica che parta correttamente
- Task 1:
- frontend: nel file frontend/src/components/EvaluationsContext.tsx invoca l'api
/api/average-evaluation
dove indicato - backend: nel file backend/routes/api.ts, dove indicato, implementa l'api
/api/average-evaluation
per ottenere la media delle valutazioni:- ottieni tutte le valutazioni con services/evaluation.getEvaluations
- calcola la media delle valutazioni con lib/averages.averageRating
- calcola la media dei task svolti con lib/averages.averageTasks
- ritorna un oggetto di tipo Average con le due medie (il tipo Average lo trovi in api/evaluation.ts)
- frontend: nel file frontend/src/components/EvaluationsContext.tsx invoca l'api
- Task 2:
- frontend: nel file frontend/src/components/evaluationForm/EvaluationForm.tsx implementa la chiamata all'api
/api/calculate
e agiorna lo stato del componente - backend: nel file backend/routes/api.ts, dove indicato, implementa l'api
/api/calculate
per calcolare la valutazione di un compito:- recupera i task svolti dal body della richiesta
- calcola la valutazione con lib/evaluation.calculate
- ritorna la valutazione (un numero intero)
- frontend: nel file frontend/src/components/evaluationForm/EvaluationForm.tsx implementa la chiamata all'api
- Task 3:
- backend: nel file backend/lib/averages.ts, dove indicato, completa la funzione
averageRating
in modo che calcoli la media delle valutazioni
- backend: nel file backend/lib/averages.ts, dove indicato, completa la funzione
- committa sul tuo branch tutti gli step, così da poter tornare indietro quando vuoi e non perdere tempo e lavoro durante la prova d'esame
- quando hai finito, esegui git push
- da github, crea una Pull Request
- infine, scarica uno zip della cartella del progetto dal tuo profilo github e consegnalo alla commissione d'esame
La corretta consegna degli elaborati, come descritto in questa guida, verrà valutata con un punto aggiuntivo sulla tua valutazione.
Il risultato dell'esame terrà in considerazione i seguenti parametri:
- numero di task svolti con successo
- qualità del codice prodotto, valutata alla consegna dagli esaminatori