- Docente: Paolo Felli
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Inglese
- Moduli: Paolo Felli (Modulo 1) Alina Sirbu (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea in Genomics (cod. 9211)
-
Orario delle lezioni (Modulo 1)
dal 03/03/2025 al 14/04/2025
-
Orario delle lezioni (Modulo 2)
dal 16/04/2025 al 29/05/2025
Conoscenze e abilità da conseguire
l’insegnamento ha come scopo quello di fornire allo studente conoscenze specialistiche nell’ambito delle scienze computazionali permettendogli/le di acquisire maggior consapevolezza circa il potenziale dei più recenti sistemi informatici e di comunicazione. Nello specifico saranno forniti concetti circa i sistemi operativi, le reti informatiche, la sicurezza informatica e le banche dati.
Contenuti
Il corso consiste di due moduli e fornisce un'introduzione ad alcuni dei principali temi e strumenti dell'informatica.
Nel primo modulo si studieranno la teoria e la pratica delle basi di dati relazionali, con un corrispondente linguaggio di query.
Nel secondo modulo saranno discussi alcuni concetti fondamentali della teoria della complessità computazionale e la loro applicazione per l'analisi dei protocolli crittografici e di algoritmi di apprendimento automatico.
Al termine del corso gli studenti saranno in grado di discutere diversi temi teorici e di risolvere alcuni problemi pratici utilizzando concetti e strumenti delle discipline menzionate.
MODULO 1:
Basi di Dati:
- Elementi di Logica Proposizionale
- Algebra di Boole
- Modello relazionale ed Algebra Relazionale
- Relational DBMS e il linguaggio SQL
- Progettazione di database relazionali ed il linguaggio ER
MODULO 2:
Complessità:
- Modelli di calcolo, la macchina di Turing
- Notazione asintotica, classi di complessità, il problema P=NP
- Discussione di alcuni problemi intrattabili (fattorizzazione, logaritmo discreto)
Crittografia:
- Cenni di aritmetica modulare
- Panoramica generale sulla crittografia (funzioni one-way, crittosistemi, sistemi a chiave pubblica/privata)
- Esempi di crittosistemi a chiave pubblica (RSA, DHKE)
Machine Learning:
- Il modello PAC della complessità dell'apprendimento automatico
- Stime della complessità di alcuni problemi di apprendimento
Testi/Bibliografia
Saranno distribuite le slides delle lezioni. Per ulteriore approfondimento suggeriamo i seguenti testi:
- Database System Concepts (4th edition). Silberschatz, Korth, Sudarshan. McGraw Hill, 2002.
- Sipser, M. Introduction to the theory of computation. Second Edition. Thomson Course Technology, USA, 2006.
- Paar, C. and Pelzl, J. Understanding Cryptography. Springer-Verlag, Berlin-Heidelberg, 2010.
- Mohri, M., Rostamizadeh, A., Talwalkar, A. Foundations of Machine Learning, MIT Press, Cambridge, Massachussets 2018.
Metodi didattici
Lezioni frontali.
Modalità di verifica e valutazione dell'apprendimento
L'esame consiste in una prova scritte, comprendente sia domande teoriche aperte che esercizi.
Strumenti a supporto della didattica
Saranno distribuite le slides delle lezioni, ed ove possibile registrazioni.
Orario di ricevimento
Consulta il sito web di Paolo Felli
Consulta il sito web di Alina Sirbu