Elementi di informatica teorica

Titolo insegnamento in inglese: Introduction to Theoretical Computer Science

Lingua: italiano

Insegnamento:  Elementi di Informatica Teorica

Anno di corso: II

CFU: 6

Semestre: 1

Docenti:

  • Canale 1: Alessandro De Luca
  • Canale 2: Aniello Murano

Insegnamenti propedeutici previsti

nessuno

Obiettivi Formativi

Introdurre lo studente a nozioni e risultati teorici di base soggiacenti all’informatica. Lo studente potrà impadronirsi di concetti fondamentali dell'Informatica teorica e dei relativi modelli astratti di calcolo, apprezzandone l’utilità sia per un inquadramento generale del curriculum in Informatica sia per lo sviluppo delle sue capacità professionali.

Contenuti

Automi finiti e macchine sequenziali. Automi non deterministici. Linguaggi regolari. Espressioni regolari. Pumping lemma per i linguaggi regolari. Grammatiche e linguaggi indipendenti dal contesto. Forme normali di Chomski. Automi a pilae non determinismo. Corrispondenza tra automi e grammatiche. Pumping lemma per i linguaggi indipendenti dal contesto. La gerarchia di Chomsky. I concetti di algoritmo, funzione calcolabile e parzialmente calcolabile. Funzioni primitive ricorsive. La minimalizzazione. Funzioni parziali ricorsive. Numerazioni di Goedel. Macchina universale. Tesi di Church - Turing. Problemi di decisione e di enumerazione. Indecidibilità. Insiemi ricorsivi e ricorsivamente numerabili. Macchina di Turing e indecidibilità, Complessità computazionale: nozioni di base
 

Modalità didattiche

Lezioni frontali ad argomento teorico ed esercitazioni per la soluzione di esercizi e problemi elementari di informatica teorica.

Modalità di esame

L'esame si articola in prova scritta e orale.

La prova scritta è a risposta libera e con esercizi numerici.