As a Lecturer

  • Gaming Technologies and Simulations (2021-)

  • Advanced Programming (Concurrent Java, 2022-)

  • In-Silico Learning (2020)
    • Introduction: Storiographic introduction to learning and logic [Slides] Introduction to a theory of Learning for comparing Machine Learning algorithms with Data Mining ones [Comments].
    • Machine Learning: Multilayer Neural Networks, Decision Trees and ν-Support Vector Machines. Comments, Code
    • Data Mining: FPGrowth and Frequent Rule Mining. Slides, Code.
  • Numerically Stable Collision Detection (2020)
    • Topics: a) Finite Numbers, IEEE754 floats, Machine Epsilon, Floating Point Arithmetic, Numerical Cancellation. b) Interval Arithmetic, Sphere-AABB Overlap Test in Interval Arithmetic. c) Separating Plane, Separating Axis, Separating Axis Theorem, Gottschalk’s Test for OBB Overlap: Naïf and Optimized test, Numerically robust Cross Product for the Separating Axis Theorem.
    • Slides, Source code
  • Big-O Notation (2020)
    • Topics: a. Recursive Fibonacci, Bachmann–Landau notation, Binet’s Formula, Evaluating computational complexity by induction, Caching and Memoization, Linear Recurrences’ Theorem. b. Master Theorem, Cache-Aware Trees, VP-Trees.
    • Slides, Source code

As a Teaching Assistant

  • Web Programming Lab 1, 2017 (Prof. Ferretti)
    • Topics: Native types, casts, String, Scanner from System.in, Math, Count-controlled (for) and Condition-controlled (while) loops, Array and matrices, “Driver” programs.
  • Databases: 2017, 2016 (Prof. Montesi)
    • Topics: Relational Algebra, SQL query language. DBMS Architecture: Query Plans, B+ Trees, Hashing, Transactions. Conceptual Data Modelling. RDBMS vs. Querying and Programming Languages.
  • Complements of Databases, 2015 (Prof. Montesi)
  • Databases, 2015 (Prof. Montesi)
    • Topics: SQL query language. Conceptual Data Modelling. Querying and Programming Languages: Hibernate.

Unused Teaching Material