20810536-2 - INTRODUCTION TO COMPUTER SCIENCE - module 2

Provide the basic elements of Computer Science, giving concepts, methods and tools to address the technological evolution and the large variety of applications.
Particular objectives are:
- introduce IT as a discipline for automatic problem solving;
- examine the basic concepts of computer programming using methods and tools, partly formal and partly pragmatic, and taking into account the qualitative aspects of efficiency and correctness;
- present the main data structures and algorithms.

At the end, students will be able to face a programming problem in all its parts, namely by:
- understanding, analyzing and formalizing the problem;
- designing a solution algorithm;
- implementing the algorithm in the Julia scientific language;
- carrying out correctness tests;
- critically judging the project in terms of code readability and efficiency, reusability, and maintainability.
teacher profile | teaching materials

Programme

* Basic concepts *

Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants

* Operations *

Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra

* Control structures *

Selection
Iteration
Functions

* Data structures *

Array
Strings
Matrices
Sets
Lists
Tuples
Datasets


* Advanced concepts *

Integrated development environments
Errors
Libraries
File
*Data analytics*

Data analytics techniques
Basic machine learning techniques

Core Documentation

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

Reference Bibliography

W. McKinney, “Python for Data Analysis”, Open Edition, https://wesmckinney.com/book/ A. Géron, “Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow”, free early release available on line.

Attendance

Attendance is not compulsory, but it is strongly recommended.

Type of evaluation

The exam consists of a written test including programming exercises, exercises on Boolean algebra, binary arithmetic and data analytics, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.