informatica industriale l-31 corso di programmazione e ... grammatiche e automi per descrivere la...
TRANSCRIPT
- p. 1/22
Informatica industriale L-31
Corso di Programmazione e Laboratorio diProgrammazione
Anno Accademico 2009/10
Rosario Culmone
- p. 2/22
Orario
Titolo Programmazione e laboratorio di programmazionePartizioni Due moduli per un totale di 12 CFULezioni 96 ore di lezione frontaleChi tiene il corso Rosario CulmoneDove Polo di Scienze di Ascoli PicenoPosta elettronica [email protected]
Quando
Programmazione LaboratorioGiorno Ora Aula Ora Aula
LunedìMartedì 10:00-13:00MercoledìGiovedì 9:00-13:00Venerdì
- p. 3/22
Modulo programmazione
Illustrare i principi, gli strumenti e le tecniche della programmazioned’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
semanticaLa 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 eserciziNon è previsto l’uso di calcolatori
- p. 4/22
Modulo laboratorio di programmazione
Acquisire conoscenze e competenze nell’uso di un particolare linguaggio diprogrammazione▲ 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. 5/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. 6/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. 7/22
Laboratorio di Programmazione
▲ Macchine astratte, linguaggi di programmazione, compilazione einterpretazione
▲ 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. 8/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. 9/22
Prova d’esame
▲ L’esame di "Programmazione e Laboratorio di Programmazione" è unUNICO esame composto da due moduli "Programmazione" e "Laboratorio diProgrammazione"
▲ L’esame di "Programmazione e Laboratorio di Programmazione" comportaun solo voto sul libretto
▲ L’esame di "Programmazione e Laboratorio di Programmazione" è un esameda 12 CFU
- p. 10/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 conalmeno 16/30
● la prova è superata con almeno 18/30● la prova orale deve essere sostenuta congiuntamente alla prova scritta
- p. 11/22
Come si sostiene l’esame
▲ Discussione del progetto su argomenti del modulo di "Laboratorio diProgrammazione"● 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 diProgrammazione"
- p. 12/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 consuccesso la prova di "Laboratorio di Programmazione" pena la decadenzadella prova di "Programmazione"
- p. 13/22
Progetto
La prova del modulo "Laboratorio di Programmazione" consiste nelladiscussione 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 delprogetto breve è possibile se si svolgono congiuntamente i test (si vedaavanti). La votazione finale consiste nella somma della valutazione delprogetto breve con i punti ottenute nei test.
- p. 14/22
Progetto
▲ Se il progetto è svolto in gruppo allora la discussione del progetto deveessere sostenuta da tutti i partecipanti al progetto nella stessa sessione
▲ Durante la discussione vengono poste domande ai singoli studenti suargomenti, motivazioni su scelte effettuate e sulla soluzione di progettopresentata, lessico, sintassi e semantica del linguaggio Java
- p. 15/22
Dispense
Titolo Autore Reperibilità
Strumenti per la definizione Tesei http://www.cs.unicam.it/culmonedella sintassi dei linguaggidi programmazione
Elementi di semantica Barbuti, http://www.cs.unicam.it/culmoneoperazionale Bancarella,
Turini
Fondamenti di Java Culmone http://www.cs.unicam.it/culmone
- p. 16/22
Libri
Titolo Autore Editore ISBN
Introduzione alla Stefano Mizzaro FrancoAngeli 88-464-1696-1programmazionecon il linguaggio java
Concetti di Informatica Cay S Horstmann Apogeo 88-503-2318-2e Fondamenti di Java
Automi, linguaggi John E. Hopcroft, Addison 88-7192-154-2e calcolabilità Rajeev Motwani, Wesley
Jeffrey D. Ullman
- p. 17/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. 18/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. 19/22
Link
Titolo Reperibilità
Manuale ed esempi Java http://www.docjava.info/it/
Queste dispense http://www.cs.unicam.it/culmone
- p. 21/22
Studenti lavoratori
La frequenza alle lezioni non è obbligatoria ma consigliata.Il materiale didattico si reputa essere sufficiente ad acquisire conoscenze persostenere le prove scritte e per realizzare il progetto assegnato. Tuttavia se si èimpossibilitati a poter seguire le lezioni, è consigliato di tenere contatti concolleghi che frequentano regolarmente le lezioni.
- p. 22/22
Studenti disabili
Tutti i testi sono prodotti in formato PDF o ASCII pertanto è possibile utilizzarestrumenti di lettura automatica o di conversione in braille. In alcune parti delprogramma si utilizzano disegni e grafici per illustrare meglio alcuni concetti(automi, semantica) parti del programma. Tuttavia tali disegni non sonoindispensabili e sono facilmente sostituibili con equivalente espressività informa testuale.