[AVVISO] Homework 6 obbligatorio (ultima scadenza ore 23:59 del 5/12)

andrea.sterbini (172780 points)
513 935 1789
asked Nov 21, 2019 in Avvisi by andrea.sterbini (172,780 points)
edited Dec 4, 2019 by andrea.sterbini

ATTENZIONE

  • ATTENZIONE: ho aggiornato il file HW6obb.zip (22/11/19 ore 16:00) riscaricatelo
  • ATTENZIONE: l'algoritmo.txt dev'essere un file di testo utf8, usate direttamente spyder per editarlo
  • eventuali correzioni verranno inserite qui
  • NOTA: il programma test_01.py DISATTIVA la funzione print, quindi non vedrete stampe. Per riattivare le stampe mettete a True la variabile DEBUG all'inizio del file.

Istruzioni

Per svolgere l'homework:

  • Installate le librerie necessarie (compresa la libreria stopit)
  • Scaricate il file HW6obb.zip e scompattatelo in una directory
    • Lo zip contiene
      • l'esercizio da svolgere, descritto all'inizio del file program01.py
        • l'esercizio consiste nel realizzare, se necessario definendo funzioni ausiliarie, la funzione descritta all'inizio del file, completandone il codice
      • altre librerie e file necessari ad eseguire i test sulla vostra macchina
  • Posizionatevi nella directory HW6obb creata unzippando l'archivio ed editate il file program01.py completando la funzione indicata
  • ATTENZIONE: il programma NON DEVE eseguire nessun input() o print(), infatti riceve tutte le informazioni di cui ha bisogno tramite i parametri della funzione che dovete completare e torna il risultato con return.
  • ATTENZIONE: SONO VIETATE le variabili globali.
  • ATTENZIONE: SONO VIETATE tutte le altre librerie a parte quelle già importate nel testo.
  • ATTENZIONE: E' VIETATO copiare codice dalle librerie di sistema.
  • ATTENZIONE: i vostri programmi NON DEVONO sfruttare eventuali periodicità o caratteristiche strutturali degli input, ma devono essere applicabili a qualsiasi input valido.
  • ATTENZIONE: NON LASCIATE ISTRUZIONI DI TEST NEL PROGRAMMA, A MENO CHE NON SIANO DOPO UNA RIGA
    • if __name__ == '__main__':
      • vostre istruzioni di test che in questo modo non vengono eseguite durante l'import del file
  • Per eseguire i test
    • aprite una finestra "Anaconda Prompt" e posizionatevi nella directory HW1opz ottenuta scompattando lo zip
    • eseguite il comando (test senza timeout)
      • pytest test_01.py -v -rA
    • oppure (test con timeout di 1 secondo per ciascun test e con una stampa dei tempi impiegati per eseguire ciascun test)
      • pytest test_01.py -v -rA --timeout 1 --durations 0
    • oppure (test con timeout di 1 secondo per ciascun test e stampa dei tempi spesi dal programma nelle 20 funzioni complessivamente più lente)
      • pytest test_01.py -v -rA --timeout 1 --profile
    • Per far fermare i test al primo errore aggiungete l'opzione -x
    • Per chi usa Spyder:
      • è possibile eseguire i test direttamente da dentro Spyder installando il plugin spyder-unittest (ma senza timeout o parametri aggiuntivi)
      • è possibile ottenere i tempi spesi in ciascuna funzione direttamente da dentro Spyder installando il plugin spyder-line-profiler

NOTA: per aprire i file di testo in formato utf8 NON usate Notepad che non riconosce gli accapi Unix ('\n') ma usate Spyder o Notepad++

Consegna

Dovrete consegnare:

  • program01.py: il programma da voi realizzato
  • algoritmo.txt: una descrizione in italiano (o se necessario in inglese) dell'algoritmo che avete realizzato. La descrizione NON deve contenere codice o pseudocodice troppo dettagliato e deve essere anonima (NON deve contenere il vostro nome/cognome/matricola/nick)
    • ATTENZIONE: l'algoritmo.txt dev'essere un file di testo utf8, usate direttamente spyder per editarlo

La pagina di consegna è https://q2a.di.uniroma1.it/homeworks/delivery?homework=7

Scadenze

  • ore 23.59 del 1/12 entro questa data dovete tutti consegnare i 2 files program01.py e algoritmo.txt
  • Nella giornata del 2/12 verrà attivata la fase del peer-assessment formativo (correzione e suggerimento tra pari) e vi verranno assegnati 3 algoritmi anonimi da valutare e per i quali suggerire miglioramenti
  • ore 23.59 del 3/12 entro questa data potete inserire i vostri giudizi e suggerimenti su TUTTI i 3 algoritmi e ricevere i giudizi dai vostri compagni
    • NOTA: potreste ricevere meno di 3 suggerimenti
  • ore 23.59 del 5/12 scadenza finale per indicare quanto vi sono stati utili TUTTI i suggerimenti e quindi consegnare una versione migliorata del vostro programma

4 Answers

l
lucapla3 (650 points)
0 0 9
answered Nov 22, 2019 by lucapla3 (650 points)
Ma è normale che la foto_6.png non abbia l'ultima riga o è un errore?
andrea.sterbini (172780 points)
513 935 1789
commented Nov 22, 2019 by andrea.sterbini (172,780 points)
Effettivamente manca l'ultima riga ... questo pomeriggio aggiorno il file ZIP. (stay tuned)
andrea.sterbini (172780 points)
513 935 1789
commented Nov 22, 2019 by andrea.sterbini (172,780 points)
Aggiornato il file, ri-scaricatelo.

Ho anche cambiato qualcosa nei test, rieseguendoli sulla VM cambieranno le classifiche.
LUPOSaymon (2730 points)
1 3 27
answered Nov 24, 2019 by LUPOSaymon (2,730 points)

Salve professore, nel file test_01. quando si eseguono i test e vanno in FAILED, Expected e Actual non dovrebbero essere scambiati?

Esempio, mettendo alla funzione 'es1' un semplice return 0

T
THESHADOW2030 (1070 points)
2 7 15
commented Nov 24, 2019 by THESHADOW2030 (1,070 points)
No, perchè suppongo che in questo caso lui per expected intende ciò che si aspettava il tuo algoritmo e per actual la risposta giusta
andrea.sterbini (172780 points)
513 935 1789
commented Nov 24, 2019 by andrea.sterbini (172,780 points)
Nel file test_01 trovi tutte le risposte.

La tabella degli input->output atteso è:

(nomedelfile, K, expected)
LucianoBlasetti (800 points)
2 2 6
commented Dec 4, 2019 by LucianoBlasetti (800 points)
Buonasera Prof.,

Anche per questo HW possiamo contare sul fatto che i test segreti saranno basati su dei files senza casi particolari? (es. assenza totale di griglia (immagine tutta nera), mancanza di spazi fra i punti verdi, punti verdi disallineati, ecc.).

Oppure è meglio prevedere anche controlli di questo tipo?

Grazie mille
andrea.sterbini (172780 points)
513 935 1789
commented Dec 4, 2019 by andrea.sterbini (172,780 points)
Tranquilli, la griglia sarà come è stata fin'ora
s
simone.lioy (1420 points)
23 30 39
answered Nov 28, 2019 by simone.lioy (1,420 points)
una domanda io sono arrivato alla lezione 12, posso svolgere l'esercizio oppure devo continuare con le videolezioni?
a
a.pietroluongo (11250 points)
15 38 131
commented Nov 28, 2019 by a.pietroluongo (11,250 points)
Si puoi svolgerlo.
s
simone.lioy (1420 points)
23 30 39
commented Nov 28, 2019 by simone.lioy (1,420 points)
molte grazie
p
p.attili (320 points)
0 0 2
answered Dec 1, 2019 by p.attili (320 points)
Salve, sto cercando di consegnare l'homework 6 obbligatorio ma non compare il link dove poter consegnare i file algoritmo.txt e program01.py.

Come posso fare per consegnare?

Grazie.
simone (25820 points)
34 97 209
commented Dec 1, 2019 by simone (25,820 points)
Course > Submission?
Lorenzo Cristini (10830 points)
0 0 27
commented Dec 1, 2019 by Lorenzo Cristini (10,830 points)
Se vai su Course --> Submission non ti fa entrare?
a
a.pietroluongo (11250 points)
15 38 131
commented Dec 1, 2019 by a.pietroluongo (11,250 points)
andrea.sterbini (172780 points)
513 935 1789
commented Dec 1, 2019 by andrea.sterbini (172,780 points)
L'ho aggiunto sopra