- Oggetto:
FONDAMENTI TEORICI DELL'INFORMATICA
- Oggetto:
THEORETICAL FOUNDATIONS OF COMPUTER SCIENCE
- Oggetto:
Anno accademico 2022/2023
- Codice attività didattica
- CPS0667
- Docente
- Prof. 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
- Propedeutico a
- Corsi di informatica del biennio della laurea in Innovazione sociale comunicazione e nuove tecnologie
- 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
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.
- Oggetto:
Risultati dell'apprendimento attesi
Competenze di base di Scienze dell'informazioni fondamentali per persorsi successivi in ambito informatico
Skills for entering second level curricula with a focus on Computer Science
- Oggetto:
Programma
- Logica per `Computer Science
- Fondamenti
- Calcolo proposizionale
- Logica Primo ordine
- Inferenza e Concetti di correttezza, completezza, …
- 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
- Proprieta’, invarianti
- 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
- Logic for Computer Science
- Principles
- Propositional calculus
- First Order Logic
- Inferences and properties of inference systems (completeness, correctness, ..)
- 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
- Proprties, invariants
- 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
- Logica per `Computer Science
- 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
Relazione individuale concordata su tema che copra piu' argomenti del corso
Individual presentation that covers some of teh topics of the course
Testi consigliati e bibliografia
- Oggetto:
- Libro
- Titolo:
- Informatica Teorica, Seconda edizione
- Anno pubblicazione:
- 2011
- Editore:
- Città Studi
- Autore:
- Dino Mandrioli, Paola Spoletini
- ISBN
- Obbligatorio:
- Si
- 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
- Oggetto:
Note
Pre-requisito: i corsi di informatica del primo biennio di ICT.
Per la parte su algoritmi e' vantaggioso seguire il corso in parallelo a quello su Programamzione Object oriented e Java
Required: the Computer Science coursed in the first 2 years of ICT.
Following the part of the course on algorithms in parallel with the couse on Object Oriented Programming and Java is highly recommended.
- Registrazione
- Aperta
- Apertura registrazione
- 30/07/2022 alle ore 00:00
- Oggetto: