Current Teaching

  • Present 2021

    Software Analytics for Cybersecurity - Master program

    The course aims to provide students with software analytics methods, techniques, and tools that could be exploited when assessing the security level of a software system.

  • Present 2013

    Procedural Programming - Bachelor program

    The course aims at introducing students to procedural programming. Particular emphasis is given to memeory management, the principle of functional abstraction, and the definition of abstract data types.

Teaching History

  • 2023 2019

    Hands on Machine Learning - Bachelor program

    The course aims to develop skills related to the design and development of decision support systems based (DSS) on machine learning techniques. Such DSS will be mainly dropped in the context of the development of complex software systems.

  • 2020 2017

    Software Reliability and Testing - Master program

    The course provides an overview on software reliability and testing. It also introduces the students to secure programming. Finally, the course provides knowledge on advanced techniques that can be used in the long term in a research carrier focused on data mining for testing comprehension and generation and reliability prediction.

  • 2019 2013

    Software Evolution - Bachelor program

    The course builds on basic software engineering concepts by expanding the discussion of the issues involved in maintaining and evolving software systems. It covers advanced technical aspects of the software maintenance and evolution process including reverse engineering, reengineering, change management, traceability management, refactoring, regression testing, and mining software repositories.

  • 2017 2011

    Database Systems - Bachelor program

    The course aims at providing the essential skills related to concepts, methods, and techniques for the design, the implementation, and the use of database systems. The model of databases adopted during the course is the relational model, nowadays the most established and widespread.

  • 2015 2006

    Programming Languages - Bachelor program

    The course aims at providing the basic principles of a programming language, with particular emphasis to the statement interpretation, compilation and memory management.

  • 2014 2004

    Software Engineering - Bachelor program

    The course aims at providing an overview of the problems, theories, models, techniques and technologies that characterize the production and lifecycle of a software system, with particular emphasis to the object-oriented software.