DATA-DRIVEN SYSTEMS ENGINEERING
2° Year of course - First semester
Frequency Not mandatory
- 9 CFU
- 72 hours
- INGLESE
- Trieste
- Obbligatoria
- Standard teaching
- Oral Exam
- SSD ING-INF/05
- Advanced concepts and skills
D1 - Knowledge and Understanding
At the end of the course, the student will be able to understand: the principles and techniques of designing and implementing an information system, methods for analyzing information needs and defining requirements, and the methods for introducing the system into an organized context using Business Process Reengineering techniques.
D2 - Application of Knowledge and Understanding
At the end of the course, the student will be able to apply: the necessary knowledge to acquire a unified design vision aimed at defining complex information systems consisting of internal components (management, statistical, decision-making), internet-related components, and integration.
D3 - Autonomy of Judgment
At the end of the course, the student will be able to: design a complex information system and independently use the learned techniques and tools.
D4 - Communication Skills
At the end of the course, the student will be able to represent and present the knowledge described in point D1.
D5 - Learning Ability
At the end of the course, the student will be able to interpret and independently learn the evolution of methodologies and apply new design techniques and tools.
Knowledge of basic computer elements; basic knowledge of data processing techniques; basic techniques for database construction; use of elementary computer tools such as word processor and spreadsheet; knowledge of Machine Learning.
The course 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: Understanding the software lifecycle, costs, and maintenance. Exploring logical design and its relation to real-world models.
2.2. Methodologies: Examining software development models such as the Waterfall Model, Prototyping Cycle, and Agile Methodologies. Comparing Agile vs. Traditional Methodologies and understanding eXtreme Programming Guidelines.
2.3. Unified Modeling Language (UML): Introduction to UML for defining visual design approaches. Understanding the advantages of diagrams and exploring various types of UML diagrams.
3 Model Learning Operations (MLOps)
3.1. MLOps - What and Why: An overview of MLOps, explaining its significance and purpose in machine learning operations.
3.2. People in MLOps: Understanding the roles and responsibilities of individuals involved in MLOps, including data scientists, engineers, and DevOps professionals.
3.3. MLOps - Features: Exploring key features and components of MLOps, such as automation, monitoring, and collaboration tools.
3.4. MLOps - Practice: Practical implementation of MLOps principles, including model deployment, version control, and continuous integration/continuous deployment (CI/CD) pipelines.
3.5. Data Representation, Data Science, and Data Engineering: Introduction to data representation techniques, principles of data science, and fundamentals of data engineering.
P.Atzeni, S.Ceri, P.Fraternali, S.Paraboschi, R.Torlone, Basi di Dati, Modelli e linguaggi di interrogazione, IV edizione, McGrawHill, 2013.
C. M. Bishop, Pattern recognition and machine learning. New York, NY: Springer, 2009.
K. P. Murphy, Machine learning: a probabilistic perspective. Cambridge, MA: MIT Press, 2012.
Kenneth C. Laudon, Janesich P. Laudon, Vincenzo Morabito, Ferdinando Pennarola, Management dei sistemi informativi, Fondamenti, Progetto e applicazione, Pearson Italia, 2010.
Gift, Noah, and Alfredo Deza. Practical MLOps. " O'Reilly Media, Inc.", 2021.
Frontal teaching at the blackboard and/or with a projector, presenting theoretical principles and exercises. Also, some active teaching methods such as student cooperation through structured group learning activities. Students work together to achieve common goals, share knowledge, and support each other.
9 CFU
Development of a Python programming project involving the creation and management of data and Machine Learning models, including a practical test to be conducted in an equipped laboratory, followed by an oral examination.
The requirement for taking the oral exam is the submission of a project that includes the description of the purpose, functionality diagrams, and UML class diagrams. During the oral presentation, each candidate must describe the proposed class organization strategy and present examples of the use of the topics discussed during the lessons in the submitted project.
In any type of content produced by the student for admission to or participation in an exam (projects, reports, exercises, tests), the use of Large Language Model tools (such as ChatGPT and the like) must be explicitly declared. This requirement must be met even in the case of partial use.
Regardless of the method of assessment, the teacher reserves the right to further investigate the student's actual contribution with an oral exam for any type of content produced.
This course explores topics closely related to one or more goals of the United Nations 2030 Agenda for Sustainable Development (SDGs)