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