Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Appropriatezza della descrizione dell'algoritmo, come esserne certi?

Auron (15880 points)
51 126 194
in Es1 by (15.9k points)

Salve, vorrei sollevare un quesito... 
Considerato che, a differenza del program0X.py, per il file .txt di descrizione dell'algoritmo non abbiamo un metodo "scientifico" che ci dica se abbiamo fatto bene o abbiamo fatto male, come possiamo esser certi che la sua redazione sia nella forma richiesta dal Professore?
Mi spiego meglio, utilizzando anche l'esempio che riguarda me...
Nelle linee guida per la redazione del file c'è scritto chiaramente di lasciarlo anonimo, di non inserire codice e di non descrivere a livello di singola istruzione il codice dell'algoritmo progettato.
Ora, nei primi due casi la linea di demarcazione è molto netta, il nome/matricola e il codice o ci sono o non ci sono.
Nel terzo caso, però, come facciamo ad esser certi di non essere scesi troppo nei dettagli con la descrizione?
Io, personalmente, ho consegnato dei file che in alcuni punti si avvicinano molto ad una descrizione riga per riga, perchè diversamente risulterebbe difficile illustrare l'intero ragionamento in modo lineare... Come posso avere la certezza che i miei file e le mie descrizioni vadano bene, evitando così di creare casini dopo la scadenza della consegna?

Grazie per la cortese attenzione :D

742 views
closed

4 Answers

Best answer
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
selected by
L'importante è che diate una buona idea ai vostri compagni di com'è fatto l'algoritmo, ma senza passargli il codice.
I vostri compagni avranno l'occasione di suggerirvi come migliorare il vostro algoritmo e da questo potrete, se possibile, migliorare il vostro codice.
Allo stesso modo, i vostri compagni riceveranno idee dalla vostra descrizione.
L'obiettivo didattico è:
- non farvi pensare solo al codice ma soprattutto alla specifica dell'esercizio, alle sue proprietà, alle strutture dati da usare, all'input/output delle funzioni, ai loro effetti collaterali eccetera
- farvi quindi ragionare "ad alto livello" sia nel descrivere l'algoritmo, che nel valutare quello dei vostri 3 colleghi e nel dar loro suggerimenti
- farvi ragionare ad alto livello nel trasformare i suggerimenti ricevuti in un nuova implementazione migliorata
Normalmente invece si tende a "tuffarsi nel codice" e perdere di vista l'analisi del problema.
Un ragionamento più ad "alto livello" fa imparare meglio e arrivare meglio alla fine del corso.

Come side-effect noi ricercatori possiamo cercare di capire quanto questa idea è efficace e riapplicabile, e se possibile, se si riesce a modellizzare lo scambio di informazioni nella rete del peer-assessment per progettare in futuro meccanismi di supporto anche più efficaci.
Auron (15880 points)
51 126 194
by (15.9k points)
Spero di aver redatto dei buoni file .txt, consoni a quanto da lei specificato in questa risposta :)
p
pietrobrega (4460 points)
6 13 42
by (4.5k points)
Anche per me vale lo stesso discorso...
Sickboy (28240 points)
9 25 68
by (28.2k points)
Basta che non è codice mascherato, cioè devi spiegare il ragionamento e non dire ho fatto tot cicli ecc
B
Barilla (1220 points)
3 17 29
by (1.2k points)
Nei miei algoritmi io ho in pratica descritto riga per riga cosa facevo in modo discorsivo in modo che si capiva più o meno cosa dovevi scrivere al livello di codice, ma non era per niente un codice. L'ho fatto vedere al professore a lezione, facendoglielo notare e chiedendogli se andasse bene e mi ha detto di si.
Auron (15880 points)
51 126 194
by (15.9k points)
Anche per me vale un discorso simile, ci sono molte frasi del tipo "All'interno del ciclo viene generata una nuova lista i cui elementi vengono aggiunti [...]".
Può andar bene?
B
Barilla (1220 points)
3 17 29
by (1.2k points)
penso di si, tu stai scrivendo ancora più vago di me.