isde

Industrial Software Development (MSc Computer Engineering, Cybersecurity and AI, University of Cagliari, Italy)

View the Project on GitHub

Industrial Software Development

Academic Year 2025-2026

The course will start on Oct. 1, 2025. Teams link.

Instructors: Prof. Battista Biggio, Dr. Angelo Sotgiu, Dr. Leonardo Regano.

MSc in Computer Engineering, Cybersecurity and Artificial Intelligence

GitHub repository for course material: https://github.com/unica-isde/isde

Website: https://unica-isde.github.io/isde/

Lectures

Slides

Part I (Instructor: Prof. Battista Biggio)

  1. Introduction
  2. Python Basics (Python Notebook 1)
  3. Python - Programming Exercise (Python Notebook 2) (Extra1) (Extra2) (Solutions)
  4. Python - Docstrings
  5. Plan-driven and Agile Software Development
  6. Software Testing
  7. Python Unittest (Testing Repository)
  8. Git Basics and Practical Session (Git Repository)
  9. Elements of Scalable Applications (not included since 2025/2026)

Part II (Instructor: Dr. Angelo Sotgiu)

  1. Coding Guidelines and Best Practices
  2. Modularity
  3. Modules in Python
  4. OOP - Introduction
  5. OOP - Inheritance
  6. OOP - Advanced
  7. Design Patterns
  8. Strategy
  9. State
  10. State vs Strategy
  11. Singleton
  12. Observer
  13. Other Design Patterns
  14. Lab: Image Classifier - Part 1
  15. Lab: Image Classifier - Part 2
  16. Lab: Image Classifier - Part 3
  17. Lab: LLM ChatBot
  18. AI-assisted Development

Thanks to prof. Luca Didaci for kindly allowing the reuse of his material.

Part III (Instructor: Dr. Leonardo Regano)

  1. Secure programming
  2. Software protection
  3. GO Language Tutorial

Tutor (2023/2024)

  1. Python basics
  2. Advanced python