TECHNOLOGIES FOR ADVANCED PROGRAMMING

Academic Year 2022/2023 - Teacher: SALVATORE NICOTRA

Expected Learning Outcomes

The course will introduce a general overview of technologies useful to define end-to-end real time data analysis solutions.

Using automatic delivery systems (Docker) and orchestration (Kubernetes) the course will introduce a method to search and adopt “on the edge” technologies for data ingestion, pipelines, processing, analysis and visualization.

A practical approach using a class github repository and real problems will be analyzed on all aspects enforcing different soft skills including   knowledge and understanding, decision, communication and learning skills.

Course Structure

The course will be structured as a laboratory where each topic will be presented and tested.

The class will also form a community to discuss about these technologies and applications.

Should teaching be carried out in mixed mode or remotely, it may be necessary to introduce changes with respect to previous statements, in line with the programme planned and outlined in the syllabus.

Learning assessment may also be carried out on line, should the conditions require it.

 

Required Prerequisites

No requirements, just a PC

Detailed Course Content

  • Stream Processing
  • Digital Marketing
  • Introduction to Docker and Kubernetes
  • Data Ingestion (Logstash, Fluentd)
  • Data Streaming (Apache Kafka)
  • Data Processing (Spark)
  • Fondamenti di Machine Learning e classificazione
  • Data Indexing and Query (Elastic Search)
  • Data Visualization (Grafana/Metabase)

Textbook Information

1. Slides and link to manual of frameworks will be shared during the course

2. Github Organization https://github.com/tapunict/

Course Planning

 SubjectsText References
1Data IngestionSlides e manuali di riferimento dei relativi framework utilizzati durante il corso.
2Data ProcessingSlides e manuali di riferimento dei relativi framework utilizzati durante il corso.
3Data VisualizationSlides e manuali di riferimento dei relativi framework utilizzati durante il corso.
4ProgettiRepository di codice su github a supporto.

Learning Assessment

Learning Assessment Procedures

Implementation and discussione of a project based on technologies studied

In the exams students need to:
- present the design of the solution and discuss the problem
- Do a live demo
- Reply to questions
Exams could be eventually be done on line if special conditions will occur

Examples of frequently asked questions and / or exercises

  • Data Ingestion from twitter
  • Training of a simple classifier using MLIB
  • Stream Processing definition
  • Docker and Kubernetes