## 20810295 - Fondamenti di programmazione e Data Analytics

The aim of the course is to provide students with the methodological and conceptual tools for the design of algorithms and the implementation of programs for the automatic solution of problems.
Specific goals are the introduction of
- information technology as a discipline for the automatic solution of problems;
- tools and methodologies for the design of algorithms;
- fundamental concepts, methodologies and techniques of programming;
- concepts and methods for the use of programs for data analytics problems
At the end of the course, students will be able to tackle a programming problem in all its parts, namely:
- understand, analyze and formalize the problem
- designing a solution algorithm using iterative techniques
- implement the algorithm in a programming language using suitable data structures
and functions.
- address complex data analytics problems using appropriate libraries
teacher profile | teaching materials

Programme

Basic concepts:
- Problems and algorithms
- Computer architecture
- languages and compilation
- I/O, variables, constants

Operations:
- Data types
- Expressions
- Boolean algebra

Control structures:
- Selection
- Iteration
- Functions

Data structures:
- Array
- Struct

Concetti avanzati:
- Libraries

Core Documentation

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Reference Bibliography

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Type of delivery of the course

In-person classes and labs

Attendance

Attendance is not mandatory

Type of evaluation

The exam consists of a written test including programming exercises, multiple choice questions, and theoretical questions regarding the course program to be carried out in the laboratory. In the event of an extension of the health emergency from COVID-19, all the provisions governing the methods for evaluating students will be implemented.

teacher profile | teaching materials

Programme

* Basic concepts *

Problems and algorithms

Computer architecture

Languages and Compilation

I / O, variables and constants

* Operations *

Types of data

Expressions

Boolean algebra

* Control structures *

Selection

Iteration

Functions

* Data structures *

Array

Strings

Matrices

Integrated development environments

Libraries

File

The course uses the C and Python programming languages.

Core Documentation

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Reference Bibliography

Official Python documentation: https://docs.python.org/3/ https://numpy.org/doc/stable/user/index.html https://pandas.pydata.org/docs/getting_started/index.html https://scikit-learn.org/stable/index.html Texts: W. McKinney: "Python for Data Analysis" also available for free online at https://wesmckinney.com/book/ "Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow" by A. Geron "Data science con python. Dai fondamenti al machine learning" by Joel Grus Website with many exercises: https://it.softpython.org/

Type of delivery of the course

In-person classes and labs

Attendance

Attendance is not mandatory

Type of evaluation

The exam consists of a written test including programming exercises, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.