11929 - ALGORITMI E STRUTTURE DATI

Anno Accademico 2022/2023

  • Docente: Vittorio Maniezzo
  • Crediti formativi: 6
  • SSD: INF/01
  • Lingua di insegnamento: Italiano
  • Moduli: Vittorio Maniezzo (Modulo 1) Stefano Castagnoli (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Cesena
  • Corso: Laurea in Tecnologie dei sistemi informatici (cod. 5816)

Conoscenze e abilità da conseguire

Al termine del corso, lo studente conosce le strutture dati di base e gli algoritmi in grado di operare su di esse. Lo studente conosce le principali tecniche per la stima del costo computazionale di algoritmi, ed è in grado di progettare e realizzare soluzioni efficienti per risolvere problemi comuni nell'ambito delle discipline legate alla tecnologia dell'informazione.

Contenuti

Il corso consiste di due moduli, uno propriamente di introduzione all'algoritmica e il secondo di introduzione al linguaggio python. Gli algoritmi di interesse saranno presentati con un linguaggio astratto indipendente da dettagli sintattici e nelle esercitazioni verranno poi tradotti con riferimento principalmente al linguaggio C. Il linguaggio python offrirà un'altra prospettiva, utile sia in questo corso e soprattutto in altri corsi successivi.

Alcuni elementi trattati durante il corso saranno:

-matematica discreta elementare per calcolare gli ordini di grandezza;

- Algoritmi di ordinamento;

- Strutture dati elementari: pile, code, alberi, grafi e strutture dati più avanzate, hashing

- algoritmi di visita su grafi

Testi/Bibliografia

Introduzione agli algoritmi e strutture dati, Thomas H. Cormen , Charles E. Leiserson, Ronald L. Rivest , McGraw-Hill Education, 2010

Metodi didattici

Lezioni frontali ed eserciitazioni in aula.

Modalità di verifica e valutazione dell'apprendimento

L'esame consisterà in un progetto relativo al modulo python, che costituirà criterio di ammissione allo scritto, e in una prova scritta contenente domande relative agli aspetti teorici e un esercizio da implementare in C / C++.

Strumenti a supporto della didattica

Dispense a cura dei docenti.

Orario di ricevimento

Consulta il sito web di Vittorio Maniezzo

Consulta il sito web di Stefano Castagnoli