| | | corso | | | | |
Fondamenti di programmazione B
Codice: | AA002 | Crediti: | 9 | Semestre: | 1 | Sigla: | FP | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Franco Turini
Tel. 0502212753Prerequisiti
nessuno
Obiettivi di apprendimento
Il corso intende presentare i fondamenti della
programmazione. A questo scopo sono illustrate le tecniche
formali per descrivere le caratteristiche dei linguaggi di
programmazione: grammatiche e automi per descrivere la
sintassi e sistemi di transizione per descrivere la
semantica. Le tecniche sono esemplificate su un sottoinsieme di Java.
Sono poi introdotte, tramite esempi di strutture dati e di
algoritmi, alcune tecniche fondamentali di programmazione
iterativa e ricorsiva. Vengono introdotti infine i principi basici della calcolabilita` al fine di caratterizzare la classe dei problemi risolubili con la programmazione.
Conoscenze. Conoscenze di base.
Capacità. Capacita` professionali.
Descrizione
- Sintassi dei linguaggi di programmazione: automi e grammatiche
- Semantica operazionale di un sottoinsieme di Java
- Costrutti di base della programmazione: iterazione e ricorsione
- Problem solving: esempi di algoritmi iterativi e ricorsivi per ricerca e ordinamento
- Elementi di calcolabilita`
English Description
- Syntax of programming languages: automata theory and grammars
- Operational semanticts of a subset of Java
- Basic programming constructs: iteration and recursion
- Problem solving: examples of iterative and recursive algorithms for searching and sorting.
- Principles of computability
Programma
- Sintassi {R. Barbuti et al.: Elementi di Sintassi dei Linguaggi di Programmazione - dispensa}
- Semantica Operazionale {R. Barbuti et al.: Elementi di Semantica Operazionale - dispensa}
- Sistemi di transizione
- formalizzazione del nucleo iterativo di Java
- modello dello stato con stack e heap
- metodi e passaggio dei parametri
- Tipi di dato e problem solving {C.S. Horstmann: Concetti di Informaticae fondamenti di Java 2, sec. ed., Apogeo, 2005 - par. 8.1-5, 17.1-7
-
array
-
metodi iterativi e ricorsivi di ricerca e ordinamento
- Calcolabilita` {P. Degano: Elementi di calcolabilita` - Dispensa}
- Definizione di macchina di macchina di Turining
- problemi decidibili, parzialmente decidibili
Ore lezione: | 50 | Ore esercitazione: | 22 | | | |
Bibliografia
Modalità di esame
Scritto e orale