Streaming Data Analytics 2021-22


The course provides the foundational concepts, methods, languages, and systems for ingesting, processing, and analyzing data that flows to enable real-time decisions. The course aims to the tame velocity dimensions of Big Data without forgetting the volume and variety dimensions.

Topics covered and tentative scheduling

14/09/2021 – Administrative items

Foundations of streaming algorithms

  • 16/09/2021 – From the foundations of streaming algorithms to real-world languages and systems

Streaming Data Engineering

From Data Streams Management Systems (DSMS) and Time-series Data Base (TSDB) to Complex Event Recognition and Processing (CER/P)

  • 21/09/2021 – DSMS Theory – Vertically Scalable solutions illustrated via the event processing language (EPL)
  • 23/09/2021 – DSMS Practice – EPL
  • 21/09/2021 – DSMS Theory – Vertically Scalable solutions illustrated via EPL
  • 23/09/2021 – DSMS Theory/Practice – EPL
  • 28/09/2021 – DSMS Thoery – Horizontally Scalable solutions illustrated via Spark
  • 30/09/2021 – DSMS Practice – Spark
  • 05/10/2021 – DSMS Theory – Spark Structured Streaming (SSS)
  • 14/10/2021 – DSMS Practice – SSS
  • 19/10/2021 – DSMS Thoery – Horizontally Scalable solutions illustrated via Kafka
  • 21/10/2021 – DSMS Theory/Practice – Kafka
  • 26/10/2021 – DSMS Theory – KSQL: cutting all from the same molt
  • 28/10/2021 – DSMS Practice – KSQL
  • 02/11/2021 – CER/P Theory – illustrated via the pattern operator in EPL
  • 04/11/2021 – CER/P Practice – EPL
  • 11/11/2021 – CER/P Practice – KSQL & SSS
  • 16/11/2021 – TSDB Thoery – Time-series databases illustrated via influxDB and its Flux language
  • 18/11/2021 – TSDB Practice – Flux

Streaming Data Science

From foundations of Time-series Analytics (TSA) and anomaly detection, to Streaming Machine Learning (SML) using Flux and River

  • 23/11/2021 TSA Thoery -Time-series analysis illustrated via Flux
  • 25/11/2021 TSA Theory/Practice -Time-series analysis illustrated via Flux
  • 30/11/2021 TSA Thoery/Pratice – Anomaly Detection illustrated via Flux
  • 02/12/2021 SML – Foundations: learning one sample at a time, prequential evaluation, and concept drift
  • 14/12/2021 SML – Methods for streaming classification illustrated via River
  • 16/12/2021 SML – Ensamble methods for streaming classification illustrated via River
  • 23/12/2021 Stream Reasoning: Artificial Intelligence + Stream Processing (BONUS LECTURE)

NOTE: for the material and the recordings refer to the Webeep page of the course


Students are expected to know the basics about: database management and SQL

Expected learning outcomes

Knowledge and understandingStudents will learn how to identify problems that can be addressed with big data techniques tailored for velocity and apply the stream data analysis technologies for solving real-world problems
Applying knowledge and understandingGiven specific project cases, students will be able to define and implement a streaming data analysis solution for the problem, and apply it on real data streams from social media and IoT sensors
Making judgementsGiven specific project cases, students will be able to learn how to decide which streaming data analysis solution to apply and how to evaluate this decision
CommunicationStudents will learn to write a report on a project describing and motivating the decisions taken and the results obtained, and oresent their work in front of their colleagues and teachers
Lifelong learning skillsStudents will learn how to develop a realistic streaming data analysis project in all its phases


The exam consist of a theoretical part (written exam) and an optional practical part (project work with oral presentation)
The written exam is composed of a mix of theoretical questions regarding any course subjects and exercises regarding the technical content and how to apply it in practice. Students can get up to 30L in the written test.

The optional practical project requires to use of one or more of the technologies presented in the lectures. It consists in solving a realistic streaming data analysis problem based on real or realistic datasets publicly available or provided by the teachers. Only students, who will get at least 26/30 in the written exam, can opt for it.

The final grade is computed as follows: written text result + practical project result. E.g., written text 26 + practical project 5 = 30L