- Oggetto:
- Oggetto:
FONDAMENTI TEORICI DELL'INFORMATICA
- Oggetto:
THEORETICAL FOUNDATIONS OF COMPUTER SCIENCE
- Oggetto:
Anno accademico 2024/2025
- 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
- Da definire
- 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
- Fondamenti di logica per `Computer Science
- Modelli di calcolo e Teoria dei linguaggi
- Dagli Automi alla macchina di Turing alle Reti di Petri
- Classi di grammatiche e linguaggi formali
- Parser, traduttori, compilatori ed interpreti
- Logica e specifica dei programmi
- Definizione e verifiche di proprieta’ dei programmi (correttezza)
- Testing
- Cenni di calcolabilita’
- Cenni di complessita’
- Misure e classi di complessita’
- Algoritmi e Complessita’ concreta
- Algoritmi su strutture dati ricorsive: liste, alberi, grafi
- Esempi per problemi classici (es. cammino su mappe)
- Cenni di crittografia e sicurezza
- Cenni sulla nascita dell'intelligenza artificiale
- dall'analisi dei dati al machine learning
- cenni ad applicazioni in ambito web
- Basics of Logic for Computer Science
- Models of computation and Formal languages
- From Automata to the Turing Machine to Petri Nets
- Classes of grammars and languages
- Parsers, ttranlators, compilers
- Logics and program specification
- Definition and Verification of program proprties (correctness)
- Testing
- Computability
- Computable and non computable functions
- Complexity
- Measuring complexity and complexity classes
- Algorithms and complexity in practice
- Algorithms on recrise data structure: linked lists, trees, graphs
- Example of classical algoritms for complex problems (e.g., shortest path)
- Basics of Cryptography and security
- Basics of Artificial Intelligence
- From data analysis to machine learning
- 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
- 06/09/2024 alle ore 00:00
- Chiusura registrazione
- 02/09/2025 alle ore 00:00
- Oggetto: