COMPLEMENTI DI PROGRAMMAZIONE

Obiettivi formativi

Il corso ha l'obiettivo di fornire allo studente la capacità di comprendere e progettare programmi che richiedano una conoscenza approfondita del modello di esecuzione dei programmi, in particolare, facciano una gestione esplicita della memoria. A questo scopo il corso fa riferimento ad una caratterizzazione dell'architettura dell'elaboratore basata sul modello di Von Neumann ed utilizza il linguaggio procedurale C/C++ per la programmazione. Attraverso il linguaggio verranno sviluppate le conoscenze per la gestione della memoria (stack, heap), la realizzazione di strutture dati di base e complesse, quali vettori, matrici, liste collegate, pile, code, alberi e grafi, tecniche di programmazione ricorsive, e la programmazione di algoritmi su tali strutture dati. Il corso ha una forte connotazione progettuale e prevede quindi esercitazioni settimanali in laboratorio, in ambiente Linux. Obiettivi specifici: Conoscenza e comprensione: Fornire un'ampia panoramica sull’analisi e la progettazione di programmi in linguaggi che richiedano una conoscenza approfondita del modello di esecuzione, in particolare della gestione della memoria. I diversi problemi affrontati vengono definiti formalmente e vengono fornite sia le basi teoriche sia informazione tecniche per comprendere le soluzioni adottate. Applicare conoscenza e comprensione: Risolvere problemi specifici di programmazione, mediante l'applicazione delle tecniche studiate. Lo svolgimento di esercitazioni in laboratorio consente agli studenti di applicare le conoscenze acquisite. Capacità critiche e di giudizio: Essere in grado di valutare la correttezza di un programma e la sua adeguatezza rispetto ai requisiti. Capacità comunicative: Essere in grado di descrivere le scelte effettuate nelle soluzioni adottate e spiegare il meccanismo di esecuzione dei programmi secondo il modello adottato. Capacità di apprendimento: Approfondimento autonomo di alcuni argomenti presentati nel corso tramite lo svolgimento a casa di esercitazioni proposte in laboratorio.

Canale 1
DANIELE NARDI Scheda docente

Programmi - Frequenza - Esami

Programma
Sito web del corso: https://sites.google.com/diag.uniroma1.it/tdp/home Basi Linguaggio C Gestione memoria SCL Ricorsione Costo programmi Tipi astratti Strutture dati - indicizzate - collegate --- lineari --- alberi
Prerequisiti
Conoscenza di base dei principi della programmazione dei calcolatori.
Testi di riferimento
Kim N. King, "Programmazione in C", Apogeo, 2010 Dispense fornite dai docenti
Modalità insegnamento
Lezioni in aula ed esercitazioni in laboratorio.
Frequenza
Frequenza in aula fortemente consigliata
Modalità di esame
Prova al calcolatore + domande
Bibliografia
Altri riferimenti disponibili sul sito del corso
Modalità di erogazione
Lezioni in aula ed esercitazioni in laboratorio.
DANIELE NARDI Scheda docente
Canale 2
LUCA IOCCHI Scheda docente

Programmi - Frequenza - Esami

Programma
Sito web del corso: https://sites.google.com/diag.uniroma1.it/tdp/home Basi Linguaggio C Gestione memoria SCL Ricorsione Costo programmi Tipi astratti Strutture dati - indicizzate - collegate --- lineari --- alberi
Prerequisiti
Conoscenza di base dei principi della programmazione dei calcolatori.
Testi di riferimento
Kim N. King, "Programmazione in C", Apogeo, 2010 Dispense fornite dai docenti
Modalità insegnamento
Lezioni in aula ed esercitazioni in laboratorio.
Frequenza
Frequenza in aula fortemente consigliata
Modalità di esame
Prova al calcolatore + domande
Bibliografia
Altri riferimenti disponibili sul sito del corso
Modalità di erogazione
Lezioni in aula ed esercitazioni in laboratorio.
LUCA IOCCHI Scheda docente

Programmi - Frequenza - Esami

Programma
Sito web del corso: https://sites.google.com/diag.uniroma1.it/tdp/home Basi Linguaggio C Gestione memoria SCL Ricorsione Costo programmi Tipi astratti Strutture dati - indicizzate - collegate --- lineari --- alberi
Prerequisiti
Conoscenza di base dei principi della programmazione dei calcolatori.
Testi di riferimento
Kim N. King, "Programmazione in C", Apogeo, 2010 Dispense fornite dai docenti
Modalità insegnamento
Lezioni in aula ed esercitazioni in laboratorio.
Frequenza
Frequenza in aula fortemente consigliata
Modalità di esame
Prova al calcolatore + domande
Bibliografia
Altri riferimenti disponibili sul sito del corso
Modalità di erogazione
Lezioni in aula ed esercitazioni in laboratorio.
  • Codice insegnamento10606848
  • Anno accademico2024/2025
  • CorsoIngegneria Informatica e Automatica
  • CurriculumInformatica
  • Anno1º anno
  • Semestre2º semestre
  • SSDING-INF/05
  • CFU9
  • Ambito disciplinareMatematica, informatica e statistica