Do you need any help?

[AVVISO] Homework 4 obbligatorio (scaduto)

andrea.sterbini (172680 points)
511 927 1776
asked Nov 7, 2019 in Avvisi by andrea.sterbini (172,680 points)
edited Nov 22, 2019 by andrea.sterbini

ATTENZIONE

  • 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 seguite le istruzioni all'inizio dello HW1

Istruzioni

Per svolgere l'homework:

  • Installate le librerie necessarie (compresa la libreria stopit)
  • Scaricate il file HW4obb.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 HW4obb 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=4

Scadenze

  • ore 23.59 del 17/11 entro questa data dovete tutti consegnare i 2 files program01.py e algoritmo.txt
  • Nella giornata del 18/11 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 19/11 entro questa data potete inserire i vostri giudizi e suggerimenti sui 3 algoritmi e ricevere i giudizi dai vostri compagni
    • NOTA: potreste ricevere meno di 3 suggerimenti
  • ore 23.59 del 21/11 scadenza finale per indicare quanto vi sono stati utili i suggerimenti e quindi consegnare una versione migliorata del vostro programma

5 Answers

e
e.mattei1 (340 points)
0 0 2
answered Nov 7, 2019 by e.mattei1 (340 points)
Buongiorno,

per poter eseguire questo Homework a che lezione dobbiamo essere arrivati?

Saluti.
Luca_12_3 (580 points)
4 4 9
commented Nov 7, 2019 by Luca_12_3 (580 points)
leggendo la descrizione dell'HW fino alla lezione sui file, non credo necessitiamo di altre informazioni per svolgere questo HW
a
a.pietroluongo (11250 points)
15 38 131
commented Nov 7, 2019 by a.pietroluongo (11,250 points)

e.mattei1 immagino che sei in teledidattica.

Vedi qui https://elearning.unitelma.it/mod/forum/discuss.php?d=46236

E
Edward (25950 points)
2 4 172
answered Nov 8, 2019 by Edward (25,950 points)
Salve Professore,

dopo la manutenzione di oggi pomeriggio non vengono più eseguiti i test dell'HW4, immagino vada riavviata manualmente la VM?
andrea.sterbini (172680 points)
511 927 1776
commented Nov 8, 2019 by andrea.sterbini (172,680 points)
done                            .
f
fraore (790 points)
2 5 13
answered Nov 9, 2019 by fraore (790 points)

Salve prof,

non volevo scrivere questo dubbio ma visto che ci sbatto la testa da più di 24 ore...

Sul mio PC passo tutti i test anche settando un timeout di 0.8 secondi (pytest test_01.py -v -rA --timeout 0.8 --durations 0) mentre sulla WM fallisce sempre il test_4_ft5 (per via della funzione count()). E' possibile che ci sia un problema sulla WM o va semplicemente affinato lo script?

Grazie mille

E
Edward (25950 points)
2 4 172
commented Nov 9, 2019 by Edward (25,950 points)
Calcola che spesso la VM è più lenta dei nostri PC. Quindi sì è possibile che sul tuo PC passi mentre sulla VM no.

I timeout però sono fissati prendendo in considerazione il tempo che ci mette la VM ad eseguirli.
Tommaso Sgroi (12990 points)
6 11 91
commented Nov 12, 2019 by Tommaso Sgroi (12,990 points)
Anche io feci la stessa domanda... il professore mi rispose giustamente "VM != PC".

Nessun problema nella VM... Evidentemente hai un PC più veloce della VM.
Christian (15220 points)
2 4 77
answered Nov 13, 2019 by Christian (15,220 points)
Salve prof, ho sottomesso il codice alle 13.05 ma risulta ancora in "consegnato".
Possibile che vada riavviata la VM come in passato?
Grazie!
Tommaso Sgroi (12990 points)
6 11 91
commented Nov 13, 2019 by Tommaso Sgroi (12,990 points)
Stesso problema, ma il problema va avanti da un po'. Io l'ultima sottomissione è stata circa alle 12,30.
edoardottt (8210 points)
1 3 37
commented Nov 13, 2019 by edoardottt (8,210 points)
Credo proprio di si
andrea.sterbini (172680 points)
511 927 1776
commented Nov 13, 2019 by andrea.sterbini (172,680 points)
Grazie per la segnalazione, ho fatto ripartire il macchinario ...
Christian (15220 points)
2 4 77
commented Nov 13, 2019 by Christian (15,220 points)
Grazie mille!
J
Jan Rogala (7260 points)
3 4 37
answered Nov 24, 2019 by Jan Rogala (7,260 points)
Quando è che verranno eseguiti i test segreti?
andrea.sterbini (172680 points)
511 927 1776
commented Nov 24, 2019 by andrea.sterbini (172,680 points)
quando potrò farlo