| | | corso | | | | |
Fondamenti di programmazione
Codice: | AA002 | Crediti: | 9 | Semestre: | 1 | Sigla: | FP | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Maria Eugenia Occhiuto
Tel. 0502212733Prerequisiti
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
- Concepts of syntax and semantics of programming languages
- Automata theory
- Fundamental structures of programming languages
- Data structures and memory management
- Recursion and computation strategies based on recursion.
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.
Bibliografia
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