Programmazione e analisi di dati

Modulo A: Laboratorio di Programmazione Java

Corso di Laurea Magistrale in Informatica Umanistica

A.A. 2018/2019

Francesco Romani


Breve descrizione del corso:

Il corso ha lo scopo di preparare gli studenti all'uso di un linguaggio di programmazione orientato agli oggetti per la realizzazione di applicazioni informatiche.
Alla fine del corso gli studenti avranno acquisito le basi necessarie al corretto sviluppo di programmi, nonché alla loro compilazione, esecuzione e debugging.
Il linguaggio di programmazione utilizzato è Java, di cui verranno introdotti i concetti essenziali.
L'ambiente di sviluppo è Eclipse, disponibile per diverse piattaforme.
Buona parte delle lezioni consisteranno in esercitazioni in cui si utilizzeranno le tecnologie descritte.

Calendario del corso

Il modulo di Programmazione Java ha un carico didattico di 6 CFU e si svolge interamente nel primo semestre. Nel secondo semestre si terranno gli ulteriori due moduli del corso di Programmazione e Analisi di Dati per altri 9 CFU. Questa l'organizzazione complessiva del corso:

  • Primo semestre:
    • Laboratorio di Programmazione Java (6 CFU) - Prof. Milazzo
  • Secondo semestre:
    • Esperienze di programmazione in Java (3 CFU) - Prof. Romani
    • Analisi di Dati (6 CFU) - Prof. Turini

Orario delle lezioni (secondo semestre):

  • Mercoledì: 8.30-10.00 (Aula C1)

Ricevimento docente:

Su appuntamento (da concordare via email)

Diario delle lezioni:

  • Lezione 1 (mer. 20 Febbraio 2019, ore 8.30) Classi parzialmente definite: Classi Astratte e Interfacce slides
  • Lezione 2 (mer. 27 Febbraio 2019, ore 8.30) Alberi, Grafi e Ricorsione I parte slides
  • Lezione 3 (mer. 5 Marzo 2019, ore 8.30) Alberi, Grafi e Ricorsione II parte
  • Lezione 4 (mer. 13 Marzo 2019, ore 8.30) Java Collection Framework slides
  • Lezione 5 (mer. 20 Marzo 2019, ore 8.30) Iteratori
  • Lezione 6 (mer. 27 Marzo 2019, ore 8.30) Serializzazione slides
  • Lezione 7 (mer. 3 Aprile 2019, ore 8.30) Espressioni Aritmetiche slides
  • Lezione 8 (mer. 10 Aprile 2019, ore 8.30) Esempio di uso di BitSet

Materiale didattico:

1000 files del progetto Gutenberg (circa 37 Mb) Campione di Wikipedia Italiano (circa 70 Mb)

Esami:

L'esame di questa parte di corso consiste nella preparazione e nella discussione di un progetto che non prevede voto ma solo un'approvazione. Il progetto può essere svolto individualmente o a gruppi di al massimo 4 persone. Tutti i progetti devono essere consegnati sotto in forma di una relazione completa di tutte le seguenti parti:

  • le specifiche iniziali;
  • le scelte di implementazione;
  • il listato dei programmi;
  • esempi di funzionamento da cui si evinca la correttezza della realizzazione.
La mancanza di una sola delle parti suddette comporta la non accettabilità del progetto.

Il lavoro di documentazione e ricerca delle fonti necessario allo svolgimento del progetto fa parte integrante della prova di esame.

Lo scopo del progetto è quello di verificare la capacità del candidato di scrivere programmi Java che gestiscono una notevole quantità di dati. Un esempio tipico è il calcolo delle frequenze delle parole in un corpus monolingue di almeno 1 GigaByte. L'argomento del progetto può essere scelto dal candidato ma deve essere concordato con il docente che fornirà assistenza nel reperire i dati necessari.

Anche se per sostenere la discussione non è richiesto avere superato la parte di esame del Prof. Milazzo, prequisito ESSENZIALE è la conoscenza degli argomenti del corso di Laboratorio Java