Data Science and Big Data Analytics

This course aims at identifying and provide an in-depth of the main tools and systems for mining big data and, more in general, for working in the current scenario of data science.

At the end of this course the student must be able to: understand data, formulate hypothesis on data, transform and model data, define a methodology for the analysis, test and confirm results.
The student will learn basic concepts of cloud computing along with the best practice to being able to operate in this context. He will learn the main architectures for processing big-datasets, such as MapReduce, Hadoop and Spark.
He will understand how to work with NoSQL databases to face the main issues in the big data realm.

2020 Edition:

Object Oriented Programming and Software Engineering

The course provides a general introduction to the Object Oriented programming and to the methodologies used in software conceptual modeling. After that, it delves deeper into Software Engineering principles and methodology to design professional enterprise software solutions.
Principles for the analysis, design and implementation of software applications are provided. Lectures are alternated with exercises and discussions on source code parts.

The course aims to prepare the student to the development of real Java projects based on the object oriented paradigm and state-of-the-art Software Engineering methodologies.