π 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
-
Clone the repository:
git clone https://github.com/<your-username>/data-driven-systems-engineering.git cd data-driven-systems-engineering
-
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
-
Install dependencies:
pip install -r requirements.txt
-
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.