Scheda programma d'esame
PROGRAMMING AND ALGORITHM DESIGN
GIUSEPPE PRENCIPE
Academic year2022/23
CourseCOMPUTER SCIENCE
Code735AA
Credits15
PeriodSemester 1 & 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
PROGRAMMAZIONE E ALGORITMICAINF/01LEZIONI120
PAOLO FERRAGINA unimap
GIUSEPPE PRENCIPE unimap
Obiettivi di apprendimento
Conoscenze

L’insegnamento introduce lo studente ai principi, agli strumenti e alle tecniche della programmazione di applicazioni informatiche, acquisendo la capacità di risolvere problemi computazionali. Le tecniche di base per calcolare il costo computazionale degli algoritmi permettono di progettare e implementare soluzioni efficienti ai problemi computazionali, qualora possibile: la difficoltà computazionale di alcuni problemi viene illustrata attraverso la discussione di alcune classi fondamentali (P vs NP).

Programma (contenuti dell'insegnamento)
  • Struttura di un calcolatore e ambienti di sviluppo. Analisi asintotica del costo computazionale. Rappresentazione delle informazioni. Problemi computazionali e algoritmi di risoluzione.
  • Controllo delle operazioni e del flusso all’interno di un programma. Problem solving su array. 
  • Blocco e struttura dei programmi. Funzioni, passaggio dei parametri. Ricorsione,
  • Algoritmi per ordinamento e ricerca.
  • Strutture di dati dinamiche. Liste. Code e pile. Tabelle hash e dizionari.
  • Divide et impera, programmazione dinamica, algoritmi greedy.  
  • Algoritmi per alberi e grafi.
  • Cenni di calcolabilità e di classi di complessità.
Syllabus
  • Struttura di un calcolatore e ambienti di sviluppo. Analisi asintotica del costo computazionale. Rappresentazione delle informazioni. Problemi computazionali e algoritmi di risoluzione.
  • Controllo delle operazioni e del flusso all’interno di un programma. Problem solving su array. 
  • Blocco e struttura dei programmi. Funzioni, passaggio dei parametri. Ricorsione,
  • Algoritmi per ordinamento e ricerca.
  • Strutture di dati dinamiche. Liste. Code e pile. Tabelle hash e dizionari.
  • Divide et impera, programmazione dinamica, algoritmi greedy.  
  • Algoritmi per alberi e grafi.
  • Cenni di calcolabilità e di classi di complessità.
Modalità d'esame

Prova scritta ed eventuale prova orale.

Updated: 29/07/2022 10:13