Istruzioni

  1. Inserite il vostro numero di matricola e la password scelta al momento della consegna.
  2. Nella vostra home page, controllate lo stato di ognuno degli esercizi (voce Alla consegna):
  3. Dopo aver corretto (sul vostro computer) gli eventuali esercizi scorretti, potete inviare le correzioni.
  4. Opzionalmente, potete  visualizzare le differenze tra il file originale e il file modificato dalle correzioni inviate al passo precedente.
  5. Tornate ora alla vostra home page. Il file modificato verrà automaticamente assemblato, collegato ed eseguito. Apparirà la voce ultima modifica, con la data e l'ora in cui avete inviato le ultime correzioni. Accanto a questa voce, sarà visualizzato lo stato corrente dell'esercizio (corretto/scorretto), in modo simile a quanto avviene per la voce alla consegna.
  6. Ripetete i passi 3-5 fino a quando tutti gli esercizi non si troveranno nello stato "corretto".
  7. Se siete arrivati a questo punto, i vostri esercizi sono finalmente corretti. In fondo alla pagina principale apparirà il collegamento "richiedi voto".  Premendolo, verrà inviata un'email di notifica all'esaminatore, che a questo punto potrà analizzare il vostro elaborato. N.B.: Dopo aver eseguito questa azione, non sarà più possibile inviare ulteriori correzioni.
  8. Sulla stessa pagina potrete trovare la valutazione del vostro compito, non appena sarà disponibile.
Non è necessario svolgere tutte le operazioni in una sola sessione.
Se avete dubbi o suggerimenti, inviate un email a g.lettieri@iet.unipi.it, inserendo la stringa "[CALCOLATORI]" da qualche parte nell'oggetto.

Visualizzazione dei dettagli degli errori

Un esercizio può essere scorretto per vari motivi. Questi sono gli stati possibili in cui può trovarsi il vostro esercizio:

Errori a tempo di esecuzione

Se lo stato del vostro esercizio è "non_esegue", si è verificato un errore a tempo di esecuzione. Ci sono principalmente due motivi per cui ciò può avvenire:
NOTA: il tempo di esecuzione di questi esercizi si misura in pochi millisecondi, quindi non fatevi venire il dubbio che il vostro programma possa essere corretto anche se non termina in 3 secondi.
Nel primo caso (ciclo infinito) non è possibile ottenere maggiori informazioni in modo automatico. Qualche informazione in più, invece, può essere disponibile nel secondo caso. Se al momento dell'errore il program counter non si trovava all'interno di una funzione di libreria, il debugger simbolico sarà generalmente in grado di  visualizzare la riga del file sorgente contenente l'istruzione colpevole. In questo caso, la pagina di visualizzazione degli errori, dopo i messaggi "Segmentation fault" o "Bus error", mostrerà il messaggio <nome del file>:<numero di riga>. Per comodità, verrà anche mostrato un estratto del file sorgente contente la riga in questione. Di seguito, verrà mostrato il contenuto che i registri della ALU e della FPU avevano al momento in cui il processo è stato interrotto. (Esempi).

Invio delle correzioni

La pagina di invio delle correzioni è divisa in tre parti. La parte superiore contiene alcune informazioni (nome dello studente, data della consegna, etc.) sulla sinistra e una serie di  bottoni sulla destra. La parte inferiore sinistra della pagina contiene il listato del file da voi consegnato alla fine della prova pratica. Le righe del listato sono state numerate in modo da poter essere facilmente riferite nelle correzioni. La parte inferiore destra è inizialmente vuota ed è destinata a contenere l'insieme delle correzioni che volete applicare al file. Premendo uno dei bottoni sulla barra superiore, verrà aggiunta alla lista una nuova regola di correzione. Ogni regola di correzione consiste in una maschera con dei campi da riempire e da un bottone contrassegnato con una 'X'. Il bottone 'X' consente di eliminare la regola associata, nel caso l'abbiate aggiunta per errore.
Le possibili regole di correzione sono le seguenti:
Le correzioni non vengono applicate subito, ma solo quando premete il tasto 'Invia correzioni'. Inoltre, anche se è possibile inviare le correzioni più di una volta, il sistema applica sempre e solo le ultime correzioni e sempre al file originale (quello che avete consegnato il giorno della prova pratica). Quindi, dovete specificare l'insieme completo delle correzioni da applicare. Se non si facesse così, sarebbe molto più complicato tenere traccia delle correzioni applicate, e la visualizzazione delle differenze tra il file originale e quello finale sarebbe molto meno precisa. Questo vuole anche dire che non dovete usare il sistema come un ambiente di sviluppo. Dovete invece solo comunicare le correzioni che avete prima provato a parte sul vostro computer. Così facevano gli studenti prima di voi, ma sopportando estenuanti file davanti al dipartimento per venire a comunicare le correzioni di persona.

Una volta premuto il tasto 'Invia correzioni', il riquadro contenente il file originale verrà sostituito da una serie di messaggi relativi alle regole che avete inviato. In particolare, potrebbero esserci degli errori nelle regole (Es., un intervallo 30-20) che verranno segnalati. L'insieme delle regole rimarrà visualizzato nella parte destra, in modo che possiate correggerle e inviarle nuovamente. Se le regole verranno accettate, si potrà procedere con la visualizzazione delle differenze e l'esecuzione del programma modificato.

Tenete presente che le regole vengono applicate al file originale nell'ordine in cui le inserite, ma i numeri di riga rimangono sempre gli stessi del file originale. Quindi, ad esempio, se con una regola eliminate la riga 10, nella regola successiva potete continuare a fare riferimento alle righe dalla 11 in poi, così come le vedete nel file originale sulla sinistra (in altre parole, la riga 11 resta sempre la 11 anche se prima avete eliminato la 10). Allo stesso modo, le righe inserite o sostituite non cambiano la numerazione delle righe successive. Questa è una grande facilitazione, ed è il modo in cui operano gli editor non interattivi come sed(1)[3], a cui questo sistema si ispira, anche se è stato scritto in perl[4].

NOTA
: se non volete perdere un sacco di tempo a cercare di capire perchè il file non viene modificato come vorreste, cercate di non inviare più correzioni che modificano in sequenza le stesse righe del file originale. Se proprio non potete farne a meno (vi sfido però a trovare un esempio), tenete presente che, ovviamente, su una riga eliminata da una regola precedente non potete fare ulteriori correzioni. Meno ovviamente, se la prima riga dell'intervallo di una regola Sostituisci righe era stata precedentemente eliminata, l'intera regola viene saltata, come in sed(1). Inoltre, le righe inserite o sostituite non sono soggette ad ulteriori modifiche da parte di regole successive. Le sostituzioni di parole, invece, operano anche sulle righe che erano state precedentemente oggetto di altre sostituzioni di parole, partendo dallo stato in cui le precedenti regole le avevano lasciate.


Visualizzazione delle differenze

La pagina di visualizzazione delle differenze consente di avere una visione completa e immediata delle ultime modifiche che avete apportato al vostro file originale. La pagina mostra il file originale sulla sinistra e quello modificato sulla destra, separati da una barra verticale. La visualizzazione normale è a colori, con il testo che non è stato modificato in verde, le parti sostituite o eliminate nel file originale in giallo, e le parti nuove nel file modificato in rosso. Le righe dei due file vengono spaziate verticalmente, dove necessario, in modo che le righe corrispondenti nei due file si trovino sempre allo stesso livello. Se ci sono delle righe troppo lunghe (trattandosi di listati assembler non dovrebbero essere frequenti), verranno troncate inserendo dei puntini '...'. Se questo è il caso, si può comunque aumentare il numero di caratteri visualizzati per riga (di ciascun file) e premere il tasto 'aggiorna'. Si può anche passare ad una visualizzazione in bianco e nero, meno evidente, ma necessaria ad es. per Mozilla con i font antialiased, in cui i caratteri verdi praticamente scompaiono. Si accettano suggerimenti per migliori combinazioni di colori. In alcune versioni di Opera e Konqueror, il browser va a capo in modo imprevedibile e la formattazione risulta distorta. Non sembrano esserci problemi, invece, con Internet Explorer e con Mozilla.







Powered by apache Powered by Gentoo Linux Powered by MySQL Powered by PHP Powered by Perl Site written in vi Valid HTML 4.01!