| | | corso | | | | |
Fondamenti di programmazione B
Codice: | AA002 | Crediti: | 9 | Semestre: | 1 | Sigla: | FP | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Paolo Mancarella
Tel. 0502212710Prerequisiti
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.
Descrizione
- Algoritmi e problem-solving
- Elementi di sintassi e semantica dei linguaggi di programmazione
- Teoria degli automi
- Costrutti di base della programmazione
- Strutture di dati e gestione della memoria
- Ricorsione e strategie di calcolo basate sulla ricorsione
English Description
- Algorithms and problem-solving
- Syntax and semantics of programming languages
- Automata theory
- Basic programming constructs
- Data structures and memory management
- Recursive programming techniques
***** Programma del Corso *****
Introduzione
Sintassi
Automi
Grammatiche
{materiale didattico:
D.Pedreschi, Elementi di Sintassi dei Linguaggi di
Programmazione, Dispensa}
Semantica Operazionale
Sistemi di transizione
formalizzazione del nucleo iterativo di Java
modello dello stato con stack e heap
metodi e passaggio dei parametri
{materiale didattico:
R.Barbuti et. al Semantica Operazionale
Dispensa}
Tipi di dato e problem solving: prima parte
array
metodi iterativi di search e sort
tabelle hash
Ricorsione
Tipi di dato e problem solving: seconda parte
metodi ricorsivi di sort
liste e alberi binari
alberi binari di ricerca
{materiale didattico:
C.S. Horstmann: Concetti di Informatica e fondamenti di Java 2,
Apogeo
A.Brogi et al. Introduzione alle strutture dati in Java,
dispense}
Programma
- Introduzione
- Sintassi
- Automi
- Grammatiche
{materiale didattico:
D.Pedreschi, Elementi di Sintassi dei Linguaggi di
Programmazione, Dispensa}
- Semantica Operazionale
- Sistemi di transizione
formalizzazione del nucleo iterativo di Java
modello dello stato con stack e heap
metodi e passaggio dei parametri
{materiale didattico:
R.Barbuti et. al Semantica Operazionale
Dispensa}
- Tipi di dato e problem solving: prima parte
array
metodi iterativi di search e sort
tabelle hash
- Ricorsione
- Tipi di dato e problem solving: seconda parte
metodi ricorsivi di sort
liste e alberi binari
alberi binari di ricerca
{materiale didattico:
C.S. Horstmann: Concetti di Informatica e fondamenti di Java 2,
Apogeo
A.Brogi et al. Introduzione alle strutture dati in Java,
dispense}
Modalità di esame
Scritto e orale