Anno Accademico 2006/07

Docenti: StefanoGuerrini e RobertoNavigli

Notizie

  • Gli studenti che hanno consegnato il V modulo, sono convocati giovedì 28 Febbraio alle ore 9.30, ufficio del prof. Guerrini, per discutere il progetto.

Lezioni

  • Tutti i canali
    • Lunedì dalle 12.30 alle 14.00, in aula 1 NEC
  • Canale A-D
    • Martedì dalle 10.30 alle 12.30, in aula 1 NEC
  • Canale E-O
    • Mercoledì dalle 10.30 alle 12.30, in aula 5 Matematica
  • Canale P-Z
    • Martedì dalle 16.00 alle 18.00, in aula 5 Matematica

Attenzione: A partire dal 19 marzo, le lezioni si terranno solo il lunedì dalle 12.30 alle 14.00 in aula 1 NEC.

Argomenti Lezioni e Codici Esempi

  • Nozioni di Base
    • Struttura di un programma C.
    • Fasi della generazione di un eseguibile: preprocessore, compilatore e linker.
    • Variabili e funzioni extern e static.
    • Header file e semplici direttive del preprocessore: #include e #define. Macro-comandi.

  • File
    • Operazioni di base sui file (apertura, chiuisura, lettura, scrittura).
    • File testo
      FileTesto.tgz: Esempio I/O su file di testo
      Implementazione di una funzione per la sostituzione di caratteri
    • File Binari
      FileBinari.tgz: Esempi I/O su file binari
      Implementazione delle funzioni di I/O in vari formati di un database di record.

Progetto

Il progetto di Laboratorio di Programmazione consiste nella implementazione della soluzione di un problema non banale che preveda la realizzazione di tre o quattro moduli durante lo svolgimento del corso.

Tenuto conto che il Laboratorio si svolge al I anno del corso di laurea le fasi di analisi del problema da risolvere, di individuazione e progettazione dei moduli che compongono la soluzione sono svolte dai docenti. Il compito assegnato agli studenti consisterà principalmente nella codifica della soluzione individuata.

Specifiche del Progetto

Valutazione dei Moduli

La valutazione dei progetti avviene in due fasi:

  1. Black-box: Questa prima fase non prevede l'analisi del codice.
    Le soluzioni inviate vengono compilate ed eseguite su dei dati di test. L'output prodotto viene quindi confrontato con quello atteso (prodotto dalla versione implementata dai docenti).
    In base alla quantità e al tipo degli errori riscontrati ad ogni soluzione viene assegnato un voto in centesimi con valore minimo 50. Le soluzioni con meno di 50 sono da considerare insufficienti.
  2. White-box: Questa seconda fase prevede l'analisi del codice e il controllo delle copie.
    I programmi inviati verranno elaborati mediante un software per il controllo della similarità. Gli studenti con soluzioni troppo simili saranno convocati per chiarire la situazione. Nel caso si dovesse arrivare alla conclusione che le soluzioni inviate sono copiate, verrà annulato l'elaborato di tutti gli studenti coinvolti. In caso di recidività, gli studenti non potranno sostenere l'esame per l'anno accademico 2006/07.
    L'analisi della qualità del codice terrà conto di parametri come leggibilità, semplicità della soluzione scelta, adeguatezza delle scelte adottate, pulizia del codice, ecc.
    In questa fase, ad ogni soluzione verrà assegnata una valuazione in decimi.

Il dettaglio della valutazione dei singoli moduli sono riportati nella pagina della valutazione.

Pezze (patches)

Dopo la pubblicazione delle valutazione black-box di un modulo, gli studenti che lo ritengono opportuno potranno mettere una pezza (patch) alla soluzione inviata. In pratica, agli studenti che hanno inviato soluzioni non completamente corrette verrà lasciato un breve periodo di tempo (intorno alle 2-3 settimane) per individuare e correggere gli errori e per inviare
  • la (nuova) versione corretta della soluzione
  • le differenze tra la nuova versione di ogni file della nuova soluzione e la versione originale (inviare il risultato di un comindo diff sui due file)

Maggiori dettagli sulla forma e i modi per l'invio delle correzioni verranno specificati in seguito

Per poter essere prese in cosiderazione, le nuove soluzioni dovranno essere delle vere correzioni e non una riscrittura completa del codice.

Valutazione Finale

I criteri per la determinazione del voto finale a partire dai voti ottenuti sui singoli moduli verranno specificati in seguito

-- StefanoGuerrini - 15 Mar 2007

Topic attachments
I AttachmentSorted ascending History Action Size Date Who Comment
C source code filec allineamento.c r1 manage 3.7 K 2007-03-26 - 13:55 StefanoGuerrini Verifica allineamento e byte-order
Compressed Zip archivetgz FileBinari.tgz r1 manage 5.9 K 2007-03-26 - 13:59 StefanoGuerrini Esempi I/O su file binari
Compressed Zip archivetgz FileTesto.tgz r1 manage 1.6 K 2007-03-26 - 13:58 StefanoGuerrini Esempi I/O su file di testo
Edit | Attach | Watch | Print version | History: r34 < r33 < r32 < r31 < r30 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r34 - 2018-11-28 - AlessandroBasilici






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback