Verification and Validation Techniques for Artificial Intelligence and Cybersecurity

Verification and validation techniques: basic and advanced suggested topics
Verification and validation techniques for AI: suggested topics
Verification and validation techniques for cybersecurity: suggested topics

Introduction to the course
Preliminaries on logic: introduction, syntax, semantics, algorithms
Preliminaries on logic: propositional logic, tableau systems (for propositional logic)
Preliminaries on logic: Quantified Boolean Formulas (QBF)
Preliminaries on logic: first-order logic
Basics of logical games: the evaluation game, definability issues, Ehrenfeucht-Fraïssé games, games and the synthesis problem
Basics of automata theory: finite state automata and regular expressions - in Italian (Reference text: Introduction to Automata Theory, Languages, and Computation (3rd Edition), Chapters 1-4, J. E. Hopcroft, R. Motwani, and J. D. Ullman, Pearson & Addison Wesley, 2006)
Learning automata
Fair transition systems - Part 1: basic notions, the notion of fair transition system, a simple programming language SPL (Reference text: Temporal Verification of Reactive Systems - Safety, Chapter 0, Z. Manna and A. Pnueli, Springer, 1995)
Fair transition systems - Part 2: SPL programs, the semantics of SPL programs (Reference text: Temporal Verification of Reactive Systems - Safety, Chapter 0, Z. Manna and A. Pnueli, Springer, 1995)
Fair transition systems - Part 3: some examples of SPL programs (Reference text: Temporal Verification of Reactive Systems - Safety, Chapter 0, Z. Manna and A. Pnueli, Springer, 1995)
Automata on infinite words - in Italian (Reference text: Automata on infinite objects, W. Thomas, Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics (B) 1990: 133-191
Star-free and first-order definable languages
Automata on infinite trees (Reference text: Automata on infinite objects, W. Thomas, Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics (B) 1990: 133-191)
An example of a (deterministic) Buechi tree automaton
Linear and branching temporal logics: LTL, CTL, and CTL*
LTL satisfiability checking: a tableau-based decision procedure for LTL (Reference text: Temporal Verification of Reactive Systems - Safety, Chapter 5, Z. Manna and A. Pnueli, Springer, 1995)
Translations from LTL to Büchi automata
An introduction to model checking
LTL model checking (Reference text: Temporal Verification of Reactive Systems - Safety, Chapter 5, Z. Manna and A. Pnueli, Springer, 1995)
CTL model checking (Reference text: Chapter 4: Model Checking, E. M. Clarke Jr., O. Grumberg, D. Kroening, D. A. Peled, and H. Veith, Model Checking, second edition, The MIT Press. 2018.
Model checking: how to cope with the state explosion problem
Bounded LTL model checking (L. Geatti)
Chapter 5: Binary Decision Diagram, in E. M. Clarke Jr., O. Grumberg, D. Kroening, D. A. Peled, and H. Veith, Model Checking, second edition, The MIT Press. 2018.
Chapter 6: Symbolic Model Checking, in E. M. Clarke Jr., O. Grumberg, D. Kroening, D. A. Peled, and H. Veith, Model Checking, second edition, The MIT Press. 2018.
A glimpse at nuXmv (L. Geatti)
SMT-based verification of Cyber Physical Systems (A. Cimatti)
The problem of synthesis
Buechi-Landweber's solution to the synthesis problem: notes about the last step
Nondeterministic Planning via Symbolic Model Checking
Learning from Failures: Machine Learning-based Monitoring for Runtime System Verification (A. Brunello and A. Urgolo)
Symbolic Verification of Security Protocols with Tamarin (N. Vitacolonna)
Tamarin: script 1 (N. Vitacolonna)
Tamarin: script 2 (N. Vitacolonna)
Tamarin: script 3 (N. Vitacolonna)
Tamarin: script 4 (N. Vitacolonna)
Tamarin: script 5 (N. Vitacolonna)
Tamarin: script 6 (N. Vitacolonna)
Tamarin: script 7 (N. Vitacolonna)
Tamarin: script 8 (N. Vitacolonna)
Tamarin: script 9 (N. Vitacolonna)
Tamarin: script 10 (N. Vitacolonna)
Tamarin: script 11 (N. Vitacolonna)

Additional material
McNaughton theorem and Safra algorithm - in Italian
Temporal logic and software verification (M. Reynolds)
Linear and branching temporal logics: LTL, CTL*, and CTL (M. Reynolds)
LTL satisfiability checking: a one-pass and tree-shaped tableau-based decision procedure for LTL (N. Gigante)
CTL satisfiability checking (D. Martincigh)
An implementation of a CTL satisfiability checker (N. Prezza)
Automaton-based model checking
Partial order reduction
Advanced model checking for verification and safety assessment - Part 1 (A. Cimatti)
Advanced model checking for verification and safety assessment - Part 2 (A. Cimatti)



Data Management for Big Data

Program 2019/2020 (the same as Program 2018/2019)

Exams

Exam 2020/07/10; Exam 2020/06/12; Exam 2020/01/27; Exam 2020/01/13; Exam 2019/09/16; Exam 2019/09/06; Exam 2019/07/01; Exam 2019/06/17


Slides (part 1)

Introduction
Relational Model and Relational Algebra
The relational schema of a company (in Italian)
ER Model and ER-Relational Schema Mapping
Conceptual Design: an example of the synthesis of an ER schema from natural language specifications
The relational mapping of one-to-one relationships
Relational Database Design
Normalization
Dependencies, normal forms, and the normalisation process
The SQL language
Some additional SQL features
SQL recursive views
Transactions
Lock-based protocols
File organization
Indexing structures

Classes (part 1)

CLASS 1.
Lesson 1.1. A general introduction to the course, the notions of database and database management system (DBMS), the distinctive features of a database and of a DBMS, DBMSs vs. application programs, DMBS vs. operating systems, schemas and instances, data abstraction: physical, logical, and view levels, physical and logical independency of data.
Lesson 1.2. Data models (relational model and entity-relationship model), the main characteristics of the relational model, the notion of key, examples, data definition languages (schemas) and data manipulation languages (instances), query and update languages, relational calculi, relational algebra, and SQL.
Lesson 1.3. The relational model, examples, attribute types, relation schemas and instances, primary and candidate keys, foreign keys, an example of a relational schema.
Lesson 1.4. The entity-relationship (ER) model, the design process, the basic constructs of the ER model, types and sets of entity, keys, types and sets of relationship, degree of a relationship, participation and cardinality constraints, complex attributes (composite, multivalued, derived attributes), redundant attributes, the notion of weak entity.

CLASS 2.
Lesson 2.1. ER diagrams: illustration and comparison of some proposals. Advanced ER constructs: recursive relationships and entity roles, relationships with degree greater than 2, the relation of specialisation / generalisation. A detailed example of the synthesis of an ER schema (a company that runs training courses).
Lesson 2.2. The ER-relational mapping: the mapping of strong and weak entities, the mapping of relationships, the mapping of one-to-one relationships: (0.1)-(1,1), (0.1)-(0,1), and (1.1)-(1,1) cases, the generalisation of the analysis and of the mapping rules to one-to-many and many-to-many relationships, the mapping of composite and multivalued attributes, the management of the specialisation relation: possible ways of restructuring an ER schema to remove generalisations.
Lesson 2.3. An introduction to relational database design: normal forms and normalisation, example of a relation with anomalies, anomalies in the example relation, why these undesirable phenomena.

CLASS 3.
Lesson 3.1. Relational database design: functional dependencies, functional dependencies in the example schema, non-trivial functional dependencies, anomalies and functional dependencies, dependencies generating anomalies, functional dependencies and keys, reasoning on functional dependencies, Boyce–Codd Normal Form (BCNF), decomposition into Boyce–Codd normal form, an example of a decomposition, how to check whether a decomposition is lossless, the join of the projections on the component relations, lossless decompositions, a condition for lossless decomposition, preservation of dependencies, qualities of decompositions, a relation that does not satisfy BCNF and cannot be decomposed in BCNF preserving both information and dependencies, a new normal form: third normal form (3NF), BCNF and 3NF, decomposition into 3NF.
Lesson 3.2. Relational algebra: relational query languages, relational algebra, relational calculi, and SQL, the selection operation, the projection operation, the renaming operation, union of two relations, set difference of two relations, the (derived) operation of intersection of two relations, joining two relations: the cartesian product, composition of operations, joining two relations: the (derived) operation of natural join, notes about relational languages, expressive completeness of (basic) relational algebra operations, some example queries, how to compare tuples of the same table, how to count in a bounded way, how to deal with universal quantifications, how to deal with set inclusion, aggregate functions.
Lesson 3.3. SQL language: introduction to SQL, history, Sql as data definition language, domain types in SQL, create table construct, integrity constraints in table construct, a few more relation definitions, updates to tables, basic query structure.

CLASS 4.
Lesson 4.1. SQL language (cont'd): the SELECT clause, the qualifier DISTINCT, the use of * in the SELECT clause, the use of arithmetic expressions in the SELECT clause, the WHERE clause, the FROM clause, cartesian product, the RENAMING operation, the use of point notation, the use of aliasing (AS), how to execute self join, recursion is not in basic SQL, string operations, the ORDER BY clause, predicates in the WHERE clause, duplicates, set operations (UNION, EXCEPT, INTERSECTION), NULL values, NULL values and three valued logic, aggregate functions (COUNT, SUM, AVG, MIN, MAX),MIN and MAX are not strictly necessary, the GROUP BY clause, the HAVING clause, NULL values and aggregates, nested subqueries, nested subqueries in the WHERE clause, set membership, set comparison, SOME and ALL qualifiers, test for empty relations, the use of EXISTS and NOT EXISTS, some examples of complex SQL queries.
Lesson 4.2. The DBMS PostgreSQL: an introduction, how to install and configure it, pgAdmin - PostgreSQL Tools.

CLASS 5.
Lesson 5.1. SQL language (cont'd): test for absence of duplicate tuples, subqueries in the FROM clause, the WITH construct, WITH vs. VIEW, complex queries using the WITH construct, subqueries in the SELECT clause: scalar subqueries; modification of the database: deletion, insertion, updates, CASE statement for conditional updates. Advanced constructs: join operations in SQL, joined relations, inner join, natural join, some examples, outer join, left outer join, right outer join, full outer join, some examples, views, view definition, example views, views vs. (physical) tables, views defined using other views, views and legacy systems, update of a view, some updates cannot be translated uniquely, materialized views, recursion in SQL, the power of recursion, recursive views, fixpoint computation of recursive views, Datalog (a logic programming language for databases).
Lesson 5.2. Transaction processing: introduction, database functionalities and mechanisms, the notion of transaction, main issues, required properties of transactions: ACID properties (atomicity, durability, consistency, isolation), the use of the log file, why a serial execution of transactions is not a solution, possible states of a transaction, concurrent execution of transactions, schedulers and schedules, the notion of interleaving, commit and abort instructions, some example schedules, the notion of serialisability, simplified view of transactions, conflicting instructions, conflict serialisability, some examples, the precedence (conflict) graph, test for conflict serialisability, a simple algorithm (topological sorting), view serialisability, test for view serialisability.

CLASS 6.
Lesson 6.1. Transaction processing (cont'd): more complex notions of serialisability. Lock-based protocols: lock-compatibility matrix, an example, the two-phase locking (2PL) protocol, lock conversions, automatic acquisition of locks, strict two-phase locking (strict 2PL) protocol, deadlocks, starvation, implementation of locking, lock table, deadlock handling, more deadlock prevention techniques, deadlock prevention: timeout-based schemes, deadlock detection: wait-for graph and deadlock recovery.
Lesson 6.2. File organization, record organization, and storage access: file organisation, fixed-length records, some basic parameters (number of records to store, block size, blocking factor, number of blocks), some examples, advantages and disadvantages of ordered files, binary search on ordered files, updates in ordered files, advantages and disadvantages of unordered files, search and updates in unordered files, physical and logical deletion of records, free lists, variable-length records, organisation of records in files (heap files, sequential files, hashing files), some examples, multitable clustering file organization, data dictionary storage, relational representation of system metadata.
Lesson 6.3. Indexing structures: basic concepts, index evaluation metrics, ordered indices (primary and secondary indices), dense index files, sparse index files, examples of primary and secondary indices, problems with updates (insertions and deletions) of primary and secondary indices, beyond binary search: multilevel indices, B+-tree index files, examples of B+-trees, record and block pointers, B+-tree node structure, leaf nodes in B+-trees, non-leaf nodes in B+-trees, queries on B+-trees, handling duplicates, point and range queries, updates on B+-trees: insertion and deletion.


Automatic System Verification: Theory and Applications
(Verifica Automatica dei Sistemi: Teoria e Applicazioni)

Program 2019/20 (Italian and English versions)

Introduction
Fair transition systems (in Italian), by Angelo Montanari (and Donatella Gubiani)
Exercises on FTS: some preliminary notions (in Italian), by Angelo Montanari
Formal languages, automata, and logics (in Italian), by Angelo Montanari
McNaughton theorem and Safra algorithm (in Italian), by Angelo Montanari (and Alberto Molinari)
Star-free and first-order definable languages, by Angelo Montanari
An example of a (deterministic) Buechi tree automaton, by Angelo Montanari
Introduction to temporal logics (slides), by Angelo Montanari (and Alberto Policriti)
Temporal logic and software verification, by Mark Reynolds
Linear and branching temporal logics: LTL, CTL*, and CTL, by Mark Reynolds
LTL satisfiability checking: a tableau-based decision procedure for LTL (slides), by Angelo Montanari
LTL satisfiability checking: a one-pass and tree-shaped tableau-based decision procedure for LTL (slides), by Nicola Gigante
CTL satisfiability checking (slides), by Davide Martincigh
An implementation of a CTL satisfiability checker, by Nicola Prezza
Introduction to model checking (slides), by Angelo Montanari
LTL model checking (slides), by Angelo Montanari
LTL bounded model checking (slides), by Luca Geatti
A crash course on model checking: CTL model checking (slides), by Massimo Franceschet
Introduction to Symbolic Model Checking and NuSMV (in Italian), by Silvio Ghilardi
Partial order reduction (slides), by Angelo Montanari (and Ilaria Sambarino)
Automaton-based model checking (slides), by Angelo Montanari (and Stefano Tognazzi)
mu-calculus model checking (slides), by Angelo Montanari (and Giovanna D'Agostino)
The problem of synthesis, by Angelo Montanari
Buechi-Landweber's solution to the synthesis problem: notes about the last step, by Angelo Montanari
SMT-based verification of Cyber Physical Systems, by Alessandro Cimatti
Advanced model checking for verification and safety assessment (Part 1), by Alessandro Cimatti
Advanced model checking for verification and safety assessment (Part 2), by Alessandro Cimatti

Additional exercises
Suggested Topics (to be updated)


Advanced model checking for verification and safety assessment (Alessandro Cimatti, Fondazione Bruno Kessler, Udine 2019)

Lecture 1: Motivation, Finite-State Model Checking, Invariant Checking, IC3, LTL Checking, Infinite-State Model Checking, and Wrap-up
Lecture 2: Safety Assessment, Fault Extension, Fault Tree Computation, Requirements Analysis, Contract Based Design, Contract-Based Safety Assessment, Case-Studies, WBS, NASA, and Wrap-up


The Synthesis Problem (Angelo Montanari, Summer School on Formal Methods for Cyber-Physical System, Verona, 2017)

Slides


Temporal Logics: Satisfiability Checking, Model Checking, and Synthesis (Angelo Montanari and Mark Reynolds, together with Nicola Gigante and Alberto Molinari, Udine 2017)

Lesson 0: Outline (A. Montanari)
Lesson 1: Introduction to Model Checking (A. Molinari)
Lesson 2: Introduction to Temporal Logic (M. Reynolds)
Lesson 3: Linear Temporal Logic (LTL) Satisfiability Checking (A. Montanari)
Lesson 4: A New One-pass and Tree-shaped Tableau for LTL (N. Gigante)
Lesson 5: LTL Model Checking (A. Montanari)
Lesson 6: Interval Temporal Logic Model Checking (A. Montanari)
Lesson 7: Interval vs. Point Temporal Logic Model Checking: an Expressiveness Comparison (A. Molinari)
Lesson 8: Model Checking Complex Systems against ITL Specifications with Regular Expressions (A. Molinari)
Lesson 9: Continuous Temporal Logics (M. Reynolds)


Ehrenfeucht-Fraisse Games: Applications and Complexity (Angelo Montanari and Nicola Vitacolonna, Scuola Superiore, Udine 2015)

Slides


Verification of infinite state systems (Gabriele Puppis, Udine 2014)

Lesson 1: Verification of infinite state systems
Lesson 2: First-order theories
Lesson 3: The monadic theory of one successor
Lesson 4: The monadic theory of two successors
Lesson 5: The transformational approach
Lesson 6: Reachability via saturation


Temporal logic and software verification (Mark Reynolds, Udine 2014)

Temporal logic (lecture 1)
CTL and LTL satisfiability (lecture 2)
LTL tableau (lecture 3)
LTL tableau correctness (lecture 4)
A research report on the proposed tree-like LTL tableau system
CTL satisfiability via tableau (lecture 5)
CTL* model checking - part 1 (lecture 6)
CTL* model checking - part 2 (lecture 7)
CTL* model checking - part 3 - and some advanced topics (lecture 8)


A Guided Tour through Interval Temporal Logics (Angelo Montanari, AILA, Gargnano, 2012)

Lesson 1: a General Overview
Lesson 2: Interval structures, relations, and logics
Lesson 3: Languages and expressiveness
Lesson 4: Interval logics: Undecidability
Lesson 5: a Tableau-based decision procedure for LTL
Lesson 5bis: Model Checking for LTL
Lesson 6: Interval logics: Decidability
Lesson 7: Mid- and Long-Term Research Agenda


Ehrenfeucht-Fraisse Games: Applications and Complexity (Angelo Montanari and Nicola Vitacolonna, ESSLLI, Copenhagen, Denmark, 2010)

Lesson 1: Introduction to EF-games
Lesson 2: Inexpressivity results for first-order logic
Lesson 3: Normal forms for first-order logic
Lesson 4: Algorithms and complexity for specific classes of structures
Lesson 5: General complexity bounds


Databases and lab (Basi di dati e laboratorio - Informatica)

Istruzioni Esami Scritti On-line (AA 2020/2021)

Program 2023/2024 (Italian and English versions)

Slides

Introduction (in Italian)
ER model (in Italian)
Conceptual Modeling with UML (in Italian)
Relational Model (in Italian)
Conceptual Design (in English)
Logical Design (in English)
The relational mapping of one-to-one relationships (in English)
Normalization (in English)
Relational Algebra (in Italian)
Relational Calculi (in Italian)
SQL (in Italian)
Views (in Italian)
DBMS PostgreSQL: introduction (in Italian)
Il DBMS PostgreSQL: data definition and management (in Italian)
Il DBMS PostgreSQL: a company database - part 1 (in Italian)
Il DBMS PostgreSQL: a company database - part 2 (in Italian)
Il DBMS PostgreSQL: a company database - part 3 (in Italian)
Il DBMS PostgreSQL: some queries (in Italian)
Il DBMS PostgreSQL: transaction management (in Italian)
Il DBMS Oracle - Express Edition 10g (in Italian)
Oracle XE 10g: some simple examples (in Italian)
XML introduction and document type definition (in Italian)
XML query languages
Introduction to transaction processing (in Italian)
Buffer management (in Italian)
Concurrency control (in Italian)
Database recovery techniques (in Italian)
Equivalence of relational algebra expressions (in Italian)
Query optimization - I (in Italian)
Query optimization - II (in Italian)
Physical Model - Part 1 (in Italian)
Physical Model - Part 2 (in Italian)
Physical Model - Part 3 (in Italian)
Additional material: Theory of Relational Database Design (in Italian);SQL and Programming Languages (in Italian)

Exams (in Italian):

Exercise 2024/02/12(Info/IBML);Exercise 2023/09/04(Info/IBML);
Exercise 2023/07/18(Info/IBML);Exercise 2023/06/19(Info/IBML);
Exercise 2023/02/20(Info/IBML);Exercise 2023/01/27(Info/IBML);
Exercise 2022/09/14(Info/IBW);Exercise 2022/07/11(Info/IBW);
Exercise 2022/06/22(Info/IBW);Exercise 2022/02/16(Info/IBW);
Exercise 2022/01/31(Info/IBW);Exercise 2021/09/10(Info/IBW);
Exercise 2021/07/19(Info/IBW);Exercise 2021/06/23(Info/IBW);
Exercise 2021/02/15(Info/IBW);Exercise 2021/02/01(Info/IBW);
Exercise 2020/09/11(Info/IBW); Exercise 2020/07/22(Info/IBW);
Exercise 2020/06/25(Info/IBW); Exercise 2020/02/07(Info/IBW);
Exercise 2020/01/22(Info/IBW); Exercise 2019/09/04(Info/TWM);
Exercise 2019/07/01(Info/TWM); Exercise 2019/06/18(Info/TWM);
Exercise 2019/02/07(Info/TWM); Exercise 2019/01/22(Info/TWM);
Exercise 2017/09/08(Info/TWM); Exercise 2017/07/03(Info/TWM);
Exercise 2017/06/12(Info/TWM); Exercise 2017/02/08 (Info/TWM);
Exercise 2017/01/25 (Info/TWM); Exercise 2016/09/05 (Info/TWM);
Exercise 2016/07/11 (Info/TWM); Exercise 2016/06/24 (Info/TWM);
Exercise 2016/02/11 (Info/TWM); Exercise 2016/01/29 (Info/TWM);
Exercise 2015/09/11 (Info/TWM); Exercise 2015/07/13 (Info/TWM);
Exercise 2015/06/29 (Info/TWM); Exercise 2015/02/16 (Info/TWM);
Exercise 2015/02/02 (Info/TWM); Exercise 2014/09/15 (Info/TWM);
Exercise 2014/07/08 (Info/TWM); Exercise 2014/06/16 (Info/TWM);
Exercise 2014/02/11 (Info/TWM); Exercise 2014/01/31 (Info/TWM);
Exercise 2013/09/11 (Informatica); Exercise 2013/09/11 (TWM);
Exercise 2013/07/17 (Informatica); Exercise 2013/07/17 (TWM);
Exercise 2013/06/12 (Informatica); Exercise 2013/06/12 (TWM);
Exercise 2013/02/18 (Informatica); Exercise 2013/02/18 (TWM);
Exercise 2013/01/21 (Informatica); Exercise 2013/01/21 (TWM);
Exercise 2012/09/03 (Informatica); Exercise 2012/09/03 (TWM);
Exercise 2012/07/16 (Informatica); Exercise 2012/07/16 (TWM);
Exercise 2012/06/13 (Informatica); Exercise 2012/06/13 (TWM);
Exercise 2012/02/20 (Informatica); Exercise 2012/02/20 (TWM);
Exercise 2012/01/26 (Informatica); Exercise 2012/01/26 (TWM);
Exercise 2011/09/05 (Informatica); Exercise 2011/09/05 (TWM);
Exercise 2011/07/25 (Informatica); Exercise 2011/07/25 (TWM);
Exercise 2011/06/28 (Informatica); Exercise 2011/06/28 (TWM);
Exercise 2011/02/17 (Informatica); Exercise 2011/02/17 (TWM);
Exercise 2011/02/01 (Informatica); Exercise 2011/02/01 (TWM);
Exercise 2010/09/01 (Informatica); Exercise 2010/09/01 (TWM);
Exercise 2010/07/15 (Informatica); Exercise 2010/07/15 (TWM);
Exercise 2010/06/24 (Informatica); Exercise 2010/06/24 (TWM);
Exercise 2010/02/10 (Informatica); Exercise 2010/02/10 (TWM);
Exercise 2010/01/27 (Informatica); Exercise 2010/01/27 (TWM);
Exercise 2009/09/01; Exercise 2009/07/13; Exercise 2009/06/22;
Exercise 2009/02/11; Exercise 2009/01/28; Exercise 2008/09/22;
Exercise 2008/07/01; Exercise 2008/03/31; Exercise 2007/12/19;
Exercise 2007/12/03; Exercise 2007/09/10; Exercise 2007/07/27;
Exercise 2007/03/29; Exercise 2006/12/22; Exercise 2006/12/13;
Exercise 2006/09/15; Exercise 2006/07/21; Exercise 2006/03/28;
Exercise 2006/01/09; Exercise 2005/12/05; Exercise 2005/09/19;
Exercise 2005/06/27; Exercise 2005/03/22; Exercise 2004/12/20 (04/05);
Exercise 2004/12/20 (03/04); Exercise 2004/12/07; Exercise 2004/09/13;
Exercise 2004/07/19; Exercise 2004/03/23; Exercise 2003/12/17;
Exercise 2003/12/03; Exercise 2003/09/08; Exercise 2003/06/20;
Exercise 2002/03/08; Exercise 2001/06/11.

Solved Exercises (in Italian):

Conceptual Design
Relational Algebra
SQL
Logical Design
Physical Models
Database Server Technology



Advanced Database Systems (Complementi di Basi di Dati - Informatica)

Slides

Theory of Relational Database Design (Italian): Normal - Compact
XML introduction and document type definition (Italian) Normal
XML query languages(English): Normal
SQL and Programming Languages (Italian): Normal - Compact
Physical Model - Part 1 (Italian)
Physical Model - Part 2 (Italian)
Physical Model - Part 3 (Italian)
Introduction to transaction processing (in Italian)
Buffer management (in Italian)
Concurrency control (in Italian)
Database recovery techniques (in Italian)
Query optimization (in Italian)
Distributed Databases (Italian): Normal - Compact

Exams (in Italian):

Exercise 2011/02/17; Exercise 2010/09/14;
Exercise 2010/09/01;Exercise 2010/07/15; Exercise 2010/06/24;
Exercise 2010/02/10; Exercise 2009/09/18; Exercise 2009/09/01;
Exercise 2009/07/13; Exercise 2009/06/22; Exercise 2009/02/11;
Exercise 2008/09/22; Exercise 2008/07/01; Exercise 2008/04/15;
Exercise 2008/03/31; Exercise 2007/12/19; Exercise 2007/09/10;
Exercise 2007/07/27; Exercise 2006/12/22; Exercise 2006/09/15;
Exercise 2006/07/21; Exercise 2006/04/05; Exercise 2006/03/28;
Exercise 2005/12/05; Exercise 2005/09/19; Exercise 2005/06/27;
Exercise 2005/04/04; Exercise 2005/03/22; Exercise 2004/12/07;
Exercise 2004/09/13; Exercise 2004/07/19; Exercise 2004/04/06;
Exercise 2004/03/23; Exercise 2003/12/17; Exercise 2003/09/08;
Exercise 2003/06/20; Exercise 2003/04/04; Exercise 2002/03/08;
Exercise 2001/12/13; Exercise 2001/07/03; Exercise 2001/06/11.

Solved Exercises (in Italian):

Logical Design
Physical Models
Database Server Technology


Spatial Databases (Basi di Dati Spaziali)

Slides

Introduction (Italian): Normal - Compact
Rapresentation of Spatial Objects (Italian): Normal - Compact
Logical Models (Italian): Normal - Compact
Relational (Geo)Algebra(Italian): Normal - Compact
Spatial SQL (Italian): Normal - Compact
Conceptual and Logical Design (Italian): Normal - Compact
Spatial Access Methods - Part 1 (Italian): Normal - Compact
Spatial Access Methods - Part 2 (Italian): Normal - Compact
Introduction to GIS - Part 1 (Italian): Normal - Compact
Introduction to GIS - Part 2 (Italian): Normal - Compact
Geographical Information (Italian): Normal - Compact
Cartography (Italian): Normal - Compact
Geographical Information Models (Italian): Normal - Compact
Structured Geographical Information: Representation and Query Processing (Italian): Normal - Compact
Remote Sensing and Image Processing (Italian): Normal - Compact
MapInfo (part 1) (Italian): Normal - Compact
MapInfo (part 2) (Italian): Normal - Compact

Excercises (in Italian):

Relational GeoAlgebra
Spatial SQL


Database Systems (Basi di Dati - Economia)

Slides

Introduction (English - Italian): Normal - Compact
Data models (English - Italian): Normal - Compact
Relational algebra (English - Italian): Normal - Compact
SQL (English - Italian): Normal - Compact
The Entity-Relationship Model (English - Italian): Normal - Compact
Conceptual Design (English - Italian): Normal - Compact
Logical Design (English - Italian): Normal - Compact

Exams (in Italian):

Exercise 2007/09/05; Exercise 2007/06/29; Exercise 2007/06/15;
Exercise 2007/06/06; Exercise 2006/12/12; Exercise 2006/07/11;
Exercise 2006/06/23; Exercise 2006/03/20; Exercise 2005/07/15;
Exercise 2005/06/07; Exercise 2005/03/14; Exercise 2005/01/10;
Exercise 2004/12/21; Exercise 2004/09/13; Exercise 2004/07/15;
Exercise 2004/06/22; Exercise 2004/03/15; Exercise 2003/05/23;
Exercise 2002/06/20; Exercise 2002/03/27; Exercise 2002/01/07.


Database Systems (Basi di Dati - Biotecnologie)

Program 2004/2005 (in Italian)

Slides

Class on October 22, 2004 (in Italian)
Classes on October 28-29, 2004 (in Italian)
Class on November 15, 2004 (in Italian)
Class on November 18, 2004 (in Italian)
Class on November 25, 2004 (in Italian)

Exams (in Italian):

Exercise 2004/12/06.


Fundamentals of Computer Science (Informatica Generale)

Program 2003/2004 (in Italian)

Exams (in Italian):

Exercise 2004/09/27; Exercise 2004/06/16; Exercise 2004/02/05;
Exercise 2004/01/08.