Prerequisiti.
Tutti gli argomenti trattati nei corsi di Informatica di Base e di
Matematica di Base.
Obiettivi.
Il corso riguarda i principi e la pratica della programmazione
imperativa e introduce le nozioni fondamentali della programmazione a
oggetti.
Scopo del corso è quello di metter lo studente in grado di costruire e
comprendere programmi di piccole e medie dimensioni, individuare errori
e valutare la correttezza degli algoritmi rispetto alle loro specifiche.
Al termine del corso lo studente deve esser in condizione di affrontare
l'apprendimento di altri linguaggi di programmazione imperativi e di
approfondire la conoscenza della programmazione a oggetti.
Contenuti.
Programmazione Imperativa.
Algoritmi e Macchine Astratte
(richiami).
Struttura di un linguaggio imperativo.
Identificatori, variabili ed espressioni. Comandi: assegnamento,
composizione sequenziale, condizionale e iterazione. Struttura di un
programma.
Strutture dati.
Tipi di dati base (caratteri, booleani, interi, reali), strutturati
(array, record, files e stream) e puntatori.
Nozione di Tipo di Dati Astratto.
Sottoprogrammi.
Funzioni e procedure, parametri, ambiente locale, stack.
Ricorsione e programmazione ricorsiva.
Introduzione alla correttezza degli
algoritmi: specifiche, terminazione e nozione di correttezza.
Programmazione
Orientata agli Oggetti.
Classi e Oggetti. Scambio di messaggi, oggetti e metodi, istanza,
entità di classe e di istanza. Ereditarietà e Polimorfismo.
Introduzione
al linguaggio Java.
Avvertenze.
- Gli argomenti non sono necessariamente elencati in ordine
cronologico.
- La trattazione effettiva degli argomenti dipenderà anche
dall'andamento delle lezioni in aula.