97467 - BIG DATA ANALYTICS FOR AUTOMOTIVE MANUFACTURING APPLICATIONS

Academic Year 2021/2022

  • Docente: Mauro Mangia
  • Credits: 6
  • SSD: ING-INF/01
  • Language: English
  • Moduli: Mauro Mangia (Modulo 1) Francesco Conti (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Advanced Automotive Engineering (cod. 9239)

Learning outcomes

At the end of Module 1, the student has a complete understanding of the basic algorithms used to process large amounts of data and extract useful information, as well as of the software frameworks used for data analytics. In Module 2, the student learns the structure and architecture of high-performance processors and computing systems used data in large-scale contexts such as cloud computing.

Course contents

Algorithms (module 1 – Prof. Mauro Mangia):

  • Introduction to Python: packages for data processing and visualization
  • Data analytics: linear algebra for machine learning, basic of statistics and signal transformation
  • Low level signal processing: digital filtering and power spectral estimation
  • Basics of machine learning: autoregressive models, dimensionality reduction, clustering, classification problem, base of neural networks, autoencoders
  • Streaming algorithms: basic streaming algorithms for feature extraction, streaming approaches for the PCA/PSA problem.

Architectures (module 2 – Prof. Francesco Conti):

  • Recap of basic computer architecture: from high-level languages to Instruction Set Architecture; memory hierarchy; in-order processors. Evaluating computers: latency and throughput, memory bandwidth, energy efficiency metrics.
  • High-performance cache hierarchy: direct mapping & associative caches. Miss rate and penalty. Write-through and write-back caches.
  • High-performance processors: branch prediction, out-of-order execution, speculation (main concepts).
  • Vector and SIMD processing.
  • Multi-cores: shared-memory and distributed parallel computing.
  • Large-scale computing systems: warehouse and streaming computing; brief notes on storage and networking.

Readings/Bibliography

Main suggested reading for module 1:

Digital Signal Processing: signals, systems and filters
Andreas Antoniou
McGraw-Hill (2006)

Outlier Analysis
Charu C. Aggarwal
Springer (2nd edition, 2017)

Deep Learning
Ian Goodfellow, Yoshua Bengio, Aaron Courville
MIT Press (2016)

Main suggested readings for module 2:

Computer Architecture: a Quantitative Approach
John L. Hennessy, David A. Patterson
Morgan Kaufmann (2017)

The Datacenter as a Computer: Designing Warehouse-Scale Machines
Luiz A. Barroso, U. Holzle, P. Ranganathan
Morgan & Claypool Publishers (3rd edition)

Basic programming skills (Python / C) are mandatory for the course. Students that have not followed a basic computer architecture course are strongly encouraged to read preliminarily:

Computer Organization and Design RISC-V Edition: The Hardware Software Interface
David A. Patterson, John L. Hennessy
Morgan Kaufmann (2017)

Teaching methods

Frontal lectures + laboratory exercises with own laptop.

Assessment methods

Learning is assessed by means of a joint oral exam for the two modules on the topics discussed during the frontal lectures.

Teaching tools

Annotated slides and additional teaching materials available online.

All materials will be shared by means of the official Virtuale site of the course.

Office hours

See the website of Mauro Mangia

See the website of Francesco Conti