Titolo insegnamento in inglese: Computer Programming
Lingua: italiano
Insegnamento: Programmazione
Anno di corso: I
CFU: 9
Semestre: 1
Docenti:
- Canale 1: Giuliano Laccetti
- Canale 2: Daniel Riccio
- Canale 3: Francesco Isgrò
Insegnamenti propedeutici previsti
nessuno
Obiettivi Formativi
Presentare il paradigma della programmazione imperativa utilizzando iterazione e ricorsione e, partendo da semplici esercizi, mettere in grado gli studenti di scrivere algoritmi non troppo complessi.
Contenuti
Introduzione al concetto di algoritmo. Rappresentazione di dati e istruzioni. Progettazione top down di un algoritmo e sua implementazione. I costrutti di controllo: sequenza, iterazione e selezione. Le functions e l'astrazione procedurale. Passaggio di parametri. Concetto di ADT. ADT Array e Stringhe. I file di testo. Algoritmi di ricerca di elemento in array. Algoritmi di ricerca di elemento in array ordinati (binary search). Algoritmi di calcolo matriciale.
ADT record. I tipi di dati derivati. La ricorsione. Utilità e potenza della ricorsione in alcuni casi significativi. Puntatori e variabili dinamiche. ADT linked list; stack; queue. Principali algoritmi per la loro gestione.
Introduzione al linguaggio C. La documentazione del software
Modalità didattiche
Sviluppo e presentazione di piccoli progetti/esercizi durante il corso, linguaggio C
Modalità di esame
L'esame si articola in prova scritta e orale.
La prova scritta è a risposta libera, con esercizi numerici e Sviluppo piccoli progetti/esercizi, algoritmi e software.