Programmazione

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.