elenco    
        corso    

Linguaggi e calcolabilità

Codice: AA030Crediti: 6Semestre: 1Sigla: LC 
 
Settore disciplinare: INF/01 - Informatica

Docente

Egon Börger   egon.boerger@unipi.it  Home Page di Egon Börger  Stanza 311  Tel. 0502212799

Prerequisiti

Laurea triennale di informatica

NB.. Il corso iniziera regolarmente Lunedi 22.9., ore 9.00

Obiettivi di apprendimento

L'obiettivo del corso e' di fornire allo studente una padronanza di metodi rigorosi di specifica e di analisi (verifica matematica e validazione sperimentale) di sistemi software complessi.

Descrizione

1. Modelli di computazione: Funzioni Ricorsive e le loro limitazioni (insolubilita e diagonazzizazione), Finite State Machines estesi a computazioni su tipi di dati astratti (Abstract State Machines).

2. Elementi di semantica di linguaggi ad alto livello (Java,C#): specifica astratta ed analisi statica e dinamica al livello del linguaggio e delle sue implementazioni su macchine virtuali (Java Virtual Machine, CLR).

3. Specifica ed analisi di architetture di servizi web.

English Description

1.

Models of computation: Recursive Functions and their limitations (unsolvability and diagonalization), Finite State Machines extended for computations on abstract data types (Abstract State Machines).

2. Elements of the semantics of high-level programming languages (Java,C#): abstract specification and static and dynamic analysis at the level of the language and of its imnplementations on virtual machines (Java Virtual Machine, CLR).

3. Specification and analysis of software architectures for web services

Indicazioni metodologiche

Per poter superare l'esame e' necessario impegnarsi seriamente per tutte le ore previste per  6 crediti. Sono 6x25=150 ore, di cui 6x8=48 "ore" da 45 minuti ognuna per le lezioni ed esercitazioni in aula e le restanti 102 + 48:4 = 124 ore per lo studio individuale. Dunque si presuppone che per ogni singola ora di lezione/exercitazione lo studenti studi di media 2,5 ore a casa.

Programma

vedi descrizione del corso
     

Bibliografia

Articoli segnalati durante il corso ed il seguente testo di base:

   Abstract State Machines (by E. Boerger abd R. Staerk, Springer Pu.Co. 2003)

Per Java verra usato anche il testo:

   Java and the Java Virtual Machine — Definition, Verification, Validation

   by R.Staerk, J. Schmid, Egon Boerger (Springer Pu.Co. 2001)

Modalità di esame

Scritto e orale.


Ulteriore pagina web del corso: http://www.di.unipi.it/~boerger/teaching.html


home


email