Informazioni in aggiornamento fino al 30/06/2026 CODICE 114618 ANNO ACCADEMICO 2026/2027 CFU 6 cfu anno 2 INGEGNERIA INFORMATICA 11880 (L-8 R) - IMPERIA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05 LINGUA Inglese SEDE IMPERIA PERIODO 1° Semestre MODULI Questo insegnamento è un modulo di: ALGORITHMS 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 MATTEO CARDELLINI Ricevimento: Gli studenti possono incontrare il docente prima o dopo le lezioni. Per domande specifiche che richiedano più tempo, è possibile contattare il docente via email all’indirizzo matteo.cardellini@unige.it per concordare un appuntamento, anche su Teams. Si raccomanda di non scrivere direttamente su Teams, ma di utilizzare sempre l’email per le comunicazioni. 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.