### Provided by:

UNIPI

### From:

M.Sc. in Data Science and BI

### Sede:

Polo Fibonacci, University of Pisa

### Lecturers:

Giuseppe PRENCIPE, Giulio ROSSETTI

### Semester:

1

### Hours:

96

### Exam:

Y

### Educational Goals:

This is an introductory course to computer programming and related mathematical/logic background for students without a Bachelor in Computer Science or in Computer Engineering. The objective is to smoothly introduce the student to the programming concepts and tools needed for typical data processing and data analysis tasks. The course consists of lectures and practice in computer labs. The student will be able to use computer programming languages and related mathematical notions for problem reasoning and solving. The student will be able to separate apart the problem constraint and solutions from the actual coding in a specific computer programming language. Computational thinking is the expected ability at the end of the course.

### Prerequisites:

Basic mathematical notions as given in most of Bachelor programs.

### Programme:

Sets, relations, functions, combinatorics, grammars, automata.
Propositional and first order logic.
Induction and recurrence relations.
Imperative programming.
Object oriented programming.
Programming stack and development tools.
Python programming.
C programming.