Informatica industriale L-31 Corso di Programmazione e Laboratorio di Programmazione Anno Accademico 2009/10 Rosario Culmone - p. 1/22
Orario Titolo Partizioni Lezioni Chi tiene il corso Dove Posta elettronica Quando Programmazione e laboratorio di programmazione Due moduli per un totale di 12 CFU 96 ore di lezione frontale Rosario Culmone Polo di Scienze di Ascoli Piceno rosario.culmone@unicam.it Programmazione Laboratorio Giorno Ora Aula Ora Aula Lunedì Martedì 10:00-13:00 Mercoledì Giovedì 9:00-13:00 Venerdì - p. 2/22
Modulo programmazione Illustrare i principi, gli strumenti e le tecniche della programmazione d applicazioni informatiche. Tecniche formali per descrivere le caratteristiche dei linguaggi di programmazione: grammatiche e automi per descrivere la sintassi sistemi di transizione e semantica operazionale per descrivere la semantica La valenza del corso è di 6 Crediti Formativi Universitari (CFU). 1 CFU = 25 ore di apprendimento ripartite in 7 ore di lezione frontale e 18 studio individuale. Le lezioni frontali sono ripartite in 4 ore di lezione e 3 ore di esercizi Non è previsto l uso di calcolatori - p. 3/22
Modulo laboratorio di programmazione Acquisire conoscenze e competenze nell uso di un particolare linguaggio di programmazione Il linguaggio utilizzato è Java. Particolare risalto sarà dato alla fase di progettazione e di seguito alla codifica. Saranno utilizzati strumenti che permetteranno di eseguire test sul codice e documentazione del codice. Tutti gli strumenti software utilizzati sono o freeware o di pubblico dominio. La valenza del corso è di 6 CFU - p. 4/22
Modulo laboratorio di programmazione Sono previste ore di lezione frontale seguite da esercitazioni in laboratorio. Gli studenti saranno stimolati a produrre soluzioni su problemi proposti dal docente poi discussi in aula. La 1 CFU = 25 ore di apprendimento ripartite in 9 ore di lezione frontale e 16 studio individuale E previsto l uso di calcolatori - p. 5/22
Programmazione Linguaggi naturali e artificiali Lessico, sintassi e semantica Strumenti per la specifica della sintassi dei linguaggi Automi a stati finiti deterministici e non deterministici Espressioni regolari Grammatiche libere dal contesto Semantica formale dei linguaggi di programmazione Sistemi di transizione Semantica operazionale dei principali costrutti del linguaggio Java - p. 6/22
Laboratorio di Programmazione Macchine astratte, linguaggi di programmazione, compilazione e interpretazione Strumenti: compilatore e interprete Java, editore di testi Caratteristiche principali dei linguaggi orientati agli oggetti Progettazione di semplici programmi e loro codifica Descrizione dei principali costrutti Java e loro uso mediante esempi Descrizione ed uso di librerie d utilità - p. 7/22
Appelli Sono previsti 1 o 2 appelli tra la fine e l inizio di ogni periodo didattico Le date sono pubblicate su: su https://didattica.unicam.it bacheca presso il Polo didattico di Scienze (solo eventuali spostamenti) chidendo alla segreteria didattica (Cristiano Romoli) o ai tutor didattici - p. 8/22
Prova d esame L esame di "Programmazione e Laboratorio di Programmazione" è un UNICO esame composto da due moduli "Programmazione" e "Laboratorio di Programmazione" L esame di "Programmazione e Laboratorio di Programmazione" comporta un solo voto sul libretto L esame di "Programmazione e Laboratorio di Programmazione" è un esame da 12 CFU - p. 9/22
Come si sostiene l esame Per superare l esame di "Programmazione e Laboratorio di Programmazione" bisogna superare: Prova scritta e orale su argomenti del modulo di "Programmazione" Per accedere alla prova orale bisogna superare la prova scritta con almeno 16/30 la prova è superata con almeno 18/30 la prova orale deve essere sostenuta congiuntamente alla prova scritta - p. 10/22
Come si sostiene l esame Discussione del progetto su argomenti del modulo di "Laboratorio di Programmazione" La prova è superata con almeno 18/30 Il voto finale è dato dalla media arrotondata per eccesso tra il voto del modulo "Programmazione" e il voto ottenuto nel modulo "Laboratorio di Programmazione" - p. 11/22
Validità Il progetto ha validità annuale Le prove per il modulo "Programmazione" e "Laboratorio di Programmazione" possono essere sostenute in appelli diversi La validità della prova sostenuta con successo del modulo di "Programmazione" è di un anno. Entro un anno deve essere sostenuta con successo la prova di "Laboratorio di Programmazione" pena la decadenza della prova di "Programmazione" - p. 12/22
Progetto La prova del modulo "Laboratorio di Programmazione" consiste nella discussione dello svolgimento di un progetto assegnato a lezione Il progetto viene assegnato entro le prime 10 lezioni del corso di "Laboratori di Programmazione" Il progetto consiste nella realizzazione di un programma scritto in linguaggio Java la validità del progetto è un anno Il progetto può essere svolto da un singolo studente o da un gruppo di al più 3 studenti Vi sono due tipi di progetto: progetto breve e progetto lungo. Il progetto breve è valutato da 18 a 24. Il progetto lungo da 18 a 30. La valutazione del progetto breve è possibile se si svolgono congiuntamente i test (si veda avanti). La votazione finale consiste nella somma della valutazione del progetto breve con i punti ottenute nei test. - p. 13/22
Progetto Se il progetto è svolto in gruppo allora la discussione del progetto deve essere sostenuta da tutti i partecipanti al progetto nella stessa sessione Durante la discussione vengono poste domande ai singoli studenti su argomenti, motivazioni su scelte effettuate e sulla soluzione di progetto presentata, lessico, sintassi e semantica del linguaggio Java - p. 14/22
Dispense Titolo Autore Reperibilità Strumenti per la definizione Tesei http://www.cs.unicam.it/culmone della sintassi dei linguaggi di programmazione Elementi di semantica Barbuti, http://www.cs.unicam.it/culmone operazionale Bancarella, Turini Fondamenti di Java Culmone http://www.cs.unicam.it/culmone - p. 15/22
Libri Titolo Autore Editore ISBN Introduzione alla Stefano Mizzaro FrancoAngeli 88-464-1696-1 programmazione con il linguaggio java Concetti di Informatica Cay S Horstmann Apogeo 88-503-2318-2 e Fondamenti di Java Automi, linguaggi John E. Hopcroft, Addison 88-7192-154-2 e calcolabilità Rajeev Motwani, Wesley Jeffrey D. Ullman - p. 16/22
Software Software Versione Reperibilità SDK 1.4 http://www.sun.com BlueJ 1.0.5 http://www.bluej.org Eclipse 3.4 http://www.eclipse.org Ginipad 2.5 http://www.mokabyte.it/ginipad/index.htm Violet 0.14 http://www.horstmann.com/violet - p. 17/22
Manuali Titolo Autore Reperibilità Linguaggio Java (base) Thimoty Barbieri http://www.cs.unicam.it/culmone Linguaggio Java mokabyte http://www.cs.unicam.it/culmone - p. 18/22
Link Titolo Manuale ed esempi Java Queste dispense Reperibilità http://www.docjava.info/it/ http://www.cs.unicam.it/culmone - p. 19/22
Orario di ricevimento Dove Polo di Scienze, Ascoli Piceno Quando Su richiesta - p. 20/22
Studenti lavoratori La frequenza alle lezioni non è obbligatoria ma consigliata. Il materiale didattico si reputa essere sufficiente ad acquisire conoscenze per sostenere le prove scritte e per realizzare il progetto assegnato. Tuttavia se si è impossibilitati a poter seguire le lezioni, è consigliato di tenere contatti con colleghi che frequentano regolarmente le lezioni. - p. 21/22
Studenti disabili Tutti i testi sono prodotti in formato PDF o ASCII pertanto è possibile utilizzare strumenti di lettura automatica o di conversione in braille. In alcune parti del programma si utilizzano disegni e grafici per illustrare meglio alcuni concetti (automi, semantica) parti del programma. Tuttavia tali disegni non sono indispensabili e sono facilmente sostituibili con equivalente espressività in forma testuale. - p. 22/22