SITE TITLE

LOGO DIETI

Programmazione II

Titolo insegnamento in inglese: Computer Programming II

 

Insegnamento: Programmazione II

Anno di corso: I

CFU: 6

SSD: INF/01

Ore di lezione: 48

Semestre: 2

Modulo: Modulo A

Codice: 26230-26366 

Obiettivi formativi:

Sviluppo delle capacita' di astrazione e di problem solving dello studente attraverso la scrittura di algoritmi, la gestione di strutture dati dinamiche, la loro successiva implementazione in C/C++ utilizzando iterazione e ricorsione.

Contenuti:

ADT record. I tipi di dati derivati. La ricorsione. Utilità e “potenza” della ricorsione in alcuni signficativi casi (ad es., la torre di Hanoi, o il quicksort). Puntatori e variabili dinamiche. ADT linked list; stack; queue. Principali algoritmi per la loro gestione. ADT Albero Binario e Albero Binario di Ricerca (BT e BST): principali algoritmi per la loro gestione.  Versioni ricorsive ed iterative. Algoritmi per inserimento e cancellazione di nodi in BST.
Algoritmi di ordinamento (quicksort, mergesort) e di ricerca (hash). 

Prerequisiti:Programmazione I

Modalità didattiche: Sviluppo e presentazione di piccoli progetti/esercizi durante il corso, ambiente Unix, linguaggio C/C++

Materiale didattico:

  1. Dispense ed Appunti del Corso. In formato elettronico.
  2. A. Murli, G. Giunta, G. Laccetti, M. Rizzardi - Laboratorio di Programmazione I – Ed. Liguori
  3. A. Murli - Lezioni di Laboratorio di Programmazione – Ed. Liguori
  4. G. Dromey - Algoritmi fondamentali – Ed. Jackson
  5. B. Kerninghan, D. Ritchie - Linguaggio C – Ed. Jackson [In generale, un buon manuale di C e un buon manuale di C++ – consigli dal Professore di Laboratorio]

       H. Hahn - Guida a Unix – seconda ed. – Ed. McGraw-Hill [consigli dal Professore di Laboratorio]

Modalità di esame: 

L'esame si articola in prova

Scritta e orale

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In caso di prova scritta i quesiti sono

 

 

 

A risposta libera

 

 

Esercizi numerici

 

Altro

Sviluppo piccoli progetti/esercizi, algoritmi e software; prova al calcolatore

Docente modulo A (canale A-G): Laccetti Giuliano

Docente modulo A (Canale H-Z): Prevete Roberto

 

Titolo insegnamento in inglese: Computer Programming II

 lingua: italiano

Insegnamento: Programmazione II

Anno di corso: I

CFU: 6

SSD: INF/01

Ore di lezione: 48

Semestre: annuale

Modulo: Modulo Laboratorio

Codice:  26230-26571

Obiettivi formativi:

Il corso, come per il modulo A, si pone come obbiettivo il raggiungimento da parte dello studente delle capacità di astrazione e problem solving necessario per la progettazione di algoritmi non estremamente complessi e la loro implementazione in linguaggio C.  Al termine del corso, gli studenti avranno acquisito le seguenti capacità operative: 1) identificazione delle strutture dati e degli algoritmi adatti alla risoluzione di semplici problemi; 2) Implementazione in linguaggio C di algoritmi e strutture dati; 3) Strutturazione modulare di un programma; 4) Utilizzo dei principali strumenti per la programmazione

Contenuti:

Rappresentazione di dati e istruzioni. Costanti macchina. Introduzione alle funzionalità elementari del sistema operativo Unix/Linux.

Linguaggio C.  Espressioni e Istruzioni. Tipi di dato primitivi. Variabili e assegnamento. Stringhe. Input e output. Esecuzione condizionale. Iterazione.Vettori. Strutture e Union. Funzioni. Puntatori e aritmetica dei puntatori. Strutture dati dinamiche.

Compilatore e linker. Il preprocessore del C. File header. Programmi multi-file. Ambiente di sviluppo di programmi. La documentazione del software. Le librerie standard del C. 

Prerequisiti:Programmazione I

Modalità didattiche: Lezioni frontali.  Svolgimento di esercitazioni in laboratorio.

Materiale didattico:

  1. P.J Deitel e H.M. Deitel, Il linguaggio C. Fondamenti e tecniche di programmazione, Pearson

    B.W. Kernighan e D.M. Ritchie, Il linguaggio C. Principi di programmazione e manuale di riferimento, Pearson

Modalità di esame: 

L'esame si articola in prova

Scritta e orale

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In caso di prova scritta i quesiti sono

 

 

 

A risposta libera

 

 

Esercizi numerici

 

Altro

Sviluppo piccoli progetti/esercizi, algoritmi e software; prova al calcolatore

Docente  (canale A-De): Cuomo Salvatore

Docente  ( canale Df-Mi): Di Martino Sergio

 

Docente modulo laboratorio (canale Ml-Z): Isgrò Francesco