Corso di Programmazione e Laboratorio di Programmazione grammatiche e automi per descrivere la...

23
- p. 1/23 Corso di Programmazione e Laboratorio di Programmazione Anno Accademico 2008/9 Rosario Culmone

Transcript of Corso di Programmazione e Laboratorio di Programmazione grammatiche e automi per descrivere la...

- p. 1/23

Corso di Programmazione e Laboratorio diProgrammazione

Anno Accademico 2008/9

Rosario Culmone

- p. 2/23

Titolare del corso

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:00 AVenerdì

- p. 3/23

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/23

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/23

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 individualeE’ previsto l’uso di calcolatori

- p. 6/23

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/23

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/23

Appelli

▲ Sono previsti 1 o 2 appelli tra la fine e l’inizio di ogni periodo didattico▲ Le date sono comunicate su:

● su https://didattica.unicam.it● bacheca presso il Polo didattico di Scienze (solo eventuali spostamenti)● chidendo alla segreteria didattica (Sig.ra Monica Vasta) o al tutor didattico

Dott.ssa Cinzia Lazzari

- p. 9/23

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/23

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/23

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/23

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/23

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/23

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/23

Test durante le lezioni

Ogni 3-4 lezioni verranno proposti dei test con domande a risposta multipladella durata di 30 minuti. Il numero totale di test è 6. Ogni test da diritto ad unpunto se si raggiunge una quota di risposte esatte. I punti ottenuti verrannosommati alla votazione.

- p. 16/23

Dispense

Titolo Autore Reperibilità

Strumenti per la definizione Tesei http://www.cs.unicam.itdella sintassi dei linguaggidi programmazione

Elementi di semantica Barbuti, http://www.cs.unicam.itoperazionale Bancarella,

Turini

Fondamenti di Java Culmone http://www.cs.unicam.it

- p. 17/23

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. 18/23

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. 19/23

Manuali

Titolo Autore Reperibilità

Linguaggio Java (base) Thimoty Barbieri http://www.cs.unicam.it

Linguaggio Java mokabyte http://www.cs.unicam.it

- p. 20/23

Link

Titolo Reperibilità

Manuale ed esempi Java http://www.docjava.info/it/

Queste dispense http://www.cs.unicam.it

- p. 21/23

Orario di ricevimento

Dove Polo di Scienze, Ascoli Piceno

Quando Su richiesta

- p. 22/23

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. 23/23

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.