Salta al contenuto principale
CODICE 114618
ANNO ACCADEMICO 2026/2027
CFU
SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05
LINGUA Inglese
SEDE
  • IMPERIA
PERIODO 1° Semestre
MODULI Questo insegnamento è un modulo di:

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

This course introduces the main strategies for designing algorithms and the tools for evaluating their correctness and performance. The objective is to develop the ability to formalize and solve problems algorithmically, as well as the capacity for analysis and evaluation of solutions.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

La frequenza e la partecipazione attiva alle attività formative proposte (lezioni frontali ed esercitazioni) e lo studio individuale consentiranno allo studente di:

- Comprendere le basi teoriche dell'informatica intesa come trattamento automatico di linguaggi formali tramite il modelli computazionale degli automi a stati finiti.

- Comprendere la relazione tra modelli computazionali e linguaggi formali e stabilire una corrispondenza tra tipologia di linguaggio e corrispondente potenza richiesta al modello computazionale.

- Comprendere le problematiche principali relative allo sviluppo di algoritmi, sia relative alla correttezza sia relative alle prestazioni; comprendere i modelli semplificati per la stima delle risorse.

- Conoscere i principali algoritmi e strutture dati di utilizzo comune: le loro origini, la loro struttura e le loro prestazioni in termini di consumo di risorse computazionali.

 

MODALITA' DIDATTICHE

Le lezioni si svolgono prevalentemente alla lavagna. Il proiettore potrà essere utilizzato occasionalmente per mostrare algoritmi, tabelle o figure particolarmente complessi. È fortemente consigliato prendere appunti durante le lezioni, poiché il materiale d’esame corrisponde a quanto spiegato in aula. Il materiale didattico sarà pubblicato su Aulaweb dopo le lezioni. Gli algoritmi saranno presentati in pseudocodice e non richiederanno l’uso di specifici ambienti di sviluppo, compilatori o interpreti.

PROGRAMMA/CONTENUTO

Il corso copre i seguenti argomenti:

  • grammatiche e linguaggi regolari;
  • automi a stati finiti ed espressioni regolari;
  • automi a pila;
  • analisi della complessità: caso peggiore, medio e migliore, complessità ammortizzata;
  • strutture dati fondamentali;
  • strategia di forza bruta;
  • tecniche divide et impera, diminuisci et impera e trasforma et impera;
  • algoritmi greedy;
  • strategie di ricerca.

TESTI/BIBLIOGRAFIA

Tutto il materiale necessario sarà fornito durante le lezioni e successivamente pubblicato su Aulaweb. Non è obbligatorio acquistare testi. Per eventuali approfondimenti, si segnalano i seguenti libri:

  • J.E. Hopcroft, R. Motwani, J.D. Ullman, Automata, Languages, and Computability, Pearson.
  • R. Sedgewick, K. Wayne, Algorithms, 4th edition, Addison-Wesley.
  • T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, 3rd edition, McGraw-Hill.

DOCENTI E COMMISSIONI

LEZIONI

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

L’esame consiste in una prova scritta della durata di due ore, relativa alla teoria e agli esercizi svolti a lezione. La prova è a libro aperto in forma analogica: è consentito portare appunti e materiale cartaceo, mentre non sono ammessi smartphone, smartwatch o computer. Durante la prova non è consentito lasciare l’aula. Il punteggio massimo è 32; un punteggio strettamente superiore a 30 corrisponde alla votazione di 30 e lode. È necessario iscriversi all’appello almeno 7 giorni prima. La partecipazione a un appello invalida eventuali voti precedenti.