GitHunt
FR

frekkoz3/MLOps

Repository fork for the 2025/2026 academic course "ML Operations"

πŸ“˜ Data-driven Systems Engineering

University of Trieste

This repository contains materials, notebooks, and exercises for the course Data-driven Systems Engineering, focusing on the intersection of Data Analysis, Software Engineering, and Machine Learning Operations (MLOps).


πŸ“‘ Course Description

The course introduces students to data-driven approaches in systems engineering, providing both theoretical foundations and practical implementations in Python. The content is divided into three main sections:

1. Data Analysis using Python

  • 1.1 Introduction to Python and its applications in data analysis
  • 1.2 Data cleaning and preprocessing techniques
  • 1.3 Exploratory Data Analysis (EDA) and Data Visualization
  • 1.4 Machine Learning for Data Analysis

2. Software Engineering

  • 2.1 Software Evolution: software lifecycle, costs, maintenance, logical design, and real-world models
  • 2.2 Methodologies: software development models (Waterfall, Prototyping Cycle, Agile), Agile vs. Traditional approaches, Extreme Programming Guidelines
  • 2.3 Unified Modeling Language (UML): visual design approaches, advantages of diagrams, types of UML diagrams

3. Model Learning Operations (MLOps)

  • 3.1 MLOps - What and Why: significance and purpose in ML workflows
  • 3.2 People in MLOps: roles of data scientists, engineers, and DevOps professionals
  • 3.3 MLOps - Features: automation, monitoring, collaboration tools
  • 3.4 MLOps - Practice: deployment, version control, CI/CD pipelines
  • 3.5 Data Representation, Data Science, and Data Engineering: representation techniques, principles, and fundamentals

πŸ“‚ Repository Structure

.
β”œβ”€β”€ notebooks/         # Jupyter Notebooks for hands-on exercises
β”œβ”€β”€ data/              # Example datasets used in exercises
β”œβ”€β”€ src/               # Python scripts for reusable functions
β”œβ”€β”€ requirements.txt   # Python dependencies
└── README.md          # Course documentation

βš™οΈ Setup Instructions

  1. Clone the repository:

    git clone https://github.com/<your-username>/data-driven-systems-engineering.git
    cd data-driven-systems-engineering
  2. Create and activate a Python environment (recommended: Python 3.11):

    python3.11 -m venv venv
    source venv/bin/activate   # macOS/Linux
    venv\Scripts\activate      # Windows
  3. Install dependencies:

    pip install -r requirements.txt
  4. Launch Jupyter Notebook:

    jupyter notebook

🎯 Learning Outcomes

By the end of this course, students will be able to:

  • Apply data analysis and visualization techniques using Python
  • Implement machine learning models for classification and regression
  • Understand software engineering methodologies and UML for system design
  • Apply MLOps principles to ensure reproducibility, scalability, and maintainability in ML workflows

πŸ‘©β€πŸ« Target Audience

This course is designed for:

  • Students in Engineering and Computer Science
  • Professionals interested in Data Science, Software Engineering, and MLOps
  • Researchers exploring data-driven approaches to systems engineering

πŸ“Œ License

This repository is for educational purposes as part of the University of Trieste’s curriculum.
All rights reserved Β© University of Trieste.