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.
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
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
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.