91161 - NETWORKS, SECURITY AND DATA BASES

Anno Accademico 2024/2025

  • 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)

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