Vai al contenuto principale
Oggetto:
Oggetto:

FONDAMENTI TEORICI DELL'INFORMATICA

Oggetto:

THEORETICAL FOUNDATIONS OF COMPUTER SCIENCE

Oggetto:

Anno accademico 2023/2024

Codice attività didattica
CPS0667
Docente
Luca Console (Titolare dell'insegnamento)
Corso di studio
Corso di laurea triennale in Innovazione sociale, comunicazione, nuove tecnologie (Classe L-20)
Anno
3° anno
Periodo
Primo semestre
Tipologia
Affine o integrativo
Crediti/Valenza
6
SSD attività didattica
INF/01 - informatica
Erogazione
Tradizionale
Lingua
Italiano
Frequenza
Facoltativa
Tipologia esame
Orale
Prerequisiti
Insegnamenti di informatica del biennio del CDS di Innovazioen Sociale, Comunicazione e Nuove Tecnologie. Si consiglia nche di seguire in parallelo il corso di Programmazioen Object oriented e Java
Propedeutico a
Proseguimento con lauree magistrali in ambito informatico.
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

L'obiettivo del corso e' quello di fornire una panoramica ei fondamenti teorici dell'informatica.

Verranno analizzati modelli di computazione che sono alla base della nascita e sviluppo dell'informatica e che ancora oggi sono modelli per sistemi automatici.

Partendo poi dal concetti di algoritmo verranno analizzati aspetti quali la calcolabilita', la correttezza e la complessita' degli algoritmi. Vernao quindi discussi alcuni algoritmi classici per problemi complessi (es. navigazione su mappe, crittografia)

Questo presupporra' l'introduzione di basi di logica.

Verra' inoltre analizzata la teoria dei linguaggi, correlandola con i modelli di calcolo e con le probelmatihe legate alla comprensione e traduzione di linguaggi di programmazioen ad alto livello e (accennato) al linguaggio naturale.

Verranno infine introdotti le basi fondazionali della Intelligenza Artificiale e delle sicurezza informatica

The aim of the course is to provide an overview of he Theoretical foundations of Computer

The models of computation which are teh bases of modern computer science will be introduced and analyzed, showing how they are still teh bases of many automation processes.

Moving from the concept of algorithm we will analyse the notions on computability, correctenedd and computaional complexity. We will discuss soem classicla algorithms for complex problems (finding paths in maps, cryptography)

These topics will require an introduction to mathematical logic.

We will analyse the foundation of formal languages, rekating them to teh computation models and discussing problems related to the design of compilers and translators for programming and natural languages.

Finally we will discuss the foundations of Artificial Intelligence and of cybersecurity.

Oggetto:

Risultati dell'apprendimento attesi

Competenze di base di Scienze dell'informazione fondamentali per persorsi successivi in ambito informatico

Skills for entering second level curricula with a focus on Computer Science

Oggetto:

Programma

  1. Fondamenti di logica per `Computer Science
  2. Modelli di calcolo e Teoria dei linguaggi
    1. Dagli Automi alla macchina di Turing alle Reti di Petri
    2. Classi di grammatiche e linguaggi formali
    3. Parser, traduttori, compilatori ed interpreti
  3. Logica e specifica dei programmi
    1. Definizione e verifiche di proprieta’ dei programmi (correttezza)
    2. Testing
  4. Cenni di calcolabilita’
  5. Cenni di complessita’
    1. Misure e classi di complessita’
    2. Algoritmi e Complessita’ concreta
  6. Algoritmi su strutture dati ricorsive: liste, alberi, grafi
    1. Esempi per problemi classici (es. cammino su mappe)
  7. Cenni di crittografia e sicurezza
  8. Cenni sulla nascita dell'intelligenza artificiale
    1. dall'analisi dei dati al machine learning
    2. cenni ad applicazioni in ambito web

  1. Basics of Logic for Computer Science
  2. Models of computation and Formal languages
    1. From Automata to the Turing Machine to Petri Nets
    2. Classes of grammars and languages
    3. Parsers, ttranlators, compilers
  3. Logics and program specification
    1. Definition and Verification of program proprties (correctness)
    2. Testing
  4. Computability
    1. Computable and non computable functions
  5. Complexity
    1. Measuring complexity and complexity classes
    2. Algorithms and complexity in practice
  6. Algorithms on recrise data structure: linked lists, trees, graphs
    1. Example of classical algoritms for complex problems (e.g., shortest path)
  7. Basics of Cryptography and security
  8. Basics of Artificial Intelligence
    1. From data analysis to machine learning
    2. Ai applications in the web

Oggetto:

Modalità di insegnamento

Tradizionale lezioni in aula con materiale distribuito nelle risorse didattica e/o in moodle

Traditional classes

Oggetto:

Modalità di verifica dell'apprendimento

Studenti frequentanti: Relazione individuale concordata su tema che copra piu' argomenti del corso.

Non frequentanti: orale sul programma del corso (libro e slides)

Libro Informatica Teorica cap da 1 a 5, da 8.1 a 8.3, 9.1, 9.4

Libro Intelligenza artificiale, cap 1,2 12.1, 12.2, 18

Come approfondimento delle slide

 

Students attending classes: Individual presentation that covers some of teh topics of the course.

Other students: oral exam

Testi consigliati e bibliografia



Oggetto:
Libro
Titolo:  
Informatica Teorica, Seconda edizione
Anno pubblicazione:  
2011
Editore:  
Città Studi
Autore:  
Dino Mandrioli, Paola Spoletini
ISBN  
Obbligatorio:  
No


Oggetto:
Libro
Titolo:  
Artifiial Intelligence: a Modern Approach
Anno pubblicazione:  
2020
Editore:  
Prentice Hall
Autore:  
S. Russel, P. Norvig
Obbligatorio:  
No
Oggetto:

.

Altro materiale distribuito a lezione


(English version of the textbook)

Theoretical Fondations of Computer Science

Authors: D. Mandrioli, C. Ghezzi

Krieger 1993

Other materials will be provided during the course




Registrazione
  • Aperta
    Apertura registrazione
    21/08/2023 alle ore 00:00
    Chiusura registrazione
    25/04/2024 alle ore 23:55
    Oggetto:
    Ultimo aggiornamento: 26/11/2023 21:23
    Location: https://www.didattica-cps.unito.it/robots.html
    Non cliccare qui!