The course aims to provide the students with the methodological and conceptual tools for the design of algorithms and the realization of programs for solving problems automatically. By the end of the course, the student will be able to understand, analyze and model a parametric problem, will be able to design an algorithm for its solution by means of iterative and recursive techniques, and will be able to implement algorithms in the Python programming language.
Canali
teacher profile teaching materials
The concept of information.
A historical overview of the information age.
Basic concepts of computer science.
Hardware, firmware, and software.
Algorithms and computational procedures.
Boolean Algebra and Computation Theory
Fundamentals of Boolean algebra.
Boolean expressions.
Analysis and simplification of Boolean expressions.
The Turing machine.
Tapes, machine states, and quintuples.
Artificial Intelligence and Neural Networks
History and definitions of artificial intelligence.
Artificial Narrow Intelligence (ANI), Artificial General Intelligence (AGI), and Artificial Superintelligence (ASI).
Conversational generative AI.
Introduction to artificial neural networks.
Models, capabilities, and limitations of artificial intelligence.
Machine-learning paradigms.
Training, optimisation, and generalisation.
The role of data: Big Data and the Internet of Things.
Biases, errors, accountability, and responsibility.
Opportunities and risks of artificial intelligence in the digital economy.
Technological evolution, disruptive innovation, and emerging skills.
The transformation of work in the age of artificial intelligence.
Python Programming
Programming with numbers and strings.
Arithmetic operators.
Constants and variables.
Variable assignment.
Local and global variables.
Flow-control and conditional statements.
The if control structure.
for and while loops.
Logical and relational operators.
Nested branches and multiple alternatives.
Flowcharts.
Examples of algorithms using loops.
String processing.
Vectors and Matrices
Creating vectors.
Row and column vectors.
Operations on vectors.
Accessing vector elements.
Creating matrices.
Square and rectangular matrices.
Identity and diagonal matrices.
Matrix operations.
Accessing matrix elements.
Functions
Defining and executing a function.
Passing parameters to functions.
Return values.
F. Benedetto, Chi ha paura dell’IA? 15 domande per conoscere, dominare l’IA e navigare consapevolmente tra le sue opportunità e i suoi rischi, Roma, Edizioni Lavoro, 2026.
C. Horstmann, R. D. Necaise, "Python: introduzione alla programmazione", Maggioli Editore.
Programme
Information and Computer Science FundamentalsThe concept of information.
A historical overview of the information age.
Basic concepts of computer science.
Hardware, firmware, and software.
Algorithms and computational procedures.
Boolean Algebra and Computation Theory
Fundamentals of Boolean algebra.
Boolean expressions.
Analysis and simplification of Boolean expressions.
The Turing machine.
Tapes, machine states, and quintuples.
Artificial Intelligence and Neural Networks
History and definitions of artificial intelligence.
Artificial Narrow Intelligence (ANI), Artificial General Intelligence (AGI), and Artificial Superintelligence (ASI).
Conversational generative AI.
Introduction to artificial neural networks.
Models, capabilities, and limitations of artificial intelligence.
Machine-learning paradigms.
Training, optimisation, and generalisation.
The role of data: Big Data and the Internet of Things.
Biases, errors, accountability, and responsibility.
Opportunities and risks of artificial intelligence in the digital economy.
Technological evolution, disruptive innovation, and emerging skills.
The transformation of work in the age of artificial intelligence.
Python Programming
Programming with numbers and strings.
Arithmetic operators.
Constants and variables.
Variable assignment.
Local and global variables.
Flow-control and conditional statements.
The if control structure.
for and while loops.
Logical and relational operators.
Nested branches and multiple alternatives.
Flowcharts.
Examples of algorithms using loops.
String processing.
Vectors and Matrices
Creating vectors.
Row and column vectors.
Operations on vectors.
Accessing vector elements.
Creating matrices.
Square and rectangular matrices.
Identity and diagonal matrices.
Matrix operations.
Accessing matrix elements.
Functions
Defining and executing a function.
Passing parameters to functions.
Return values.
Core Documentation
Lecture notes by the Professor on the Moodle platform and MS Teams of the UniversityF. Benedetto, Chi ha paura dell’IA? 15 domande per conoscere, dominare l’IA e navigare consapevolmente tra le sue opportunità e i suoi rischi, Roma, Edizioni Lavoro, 2026.
C. Horstmann, R. D. Necaise, "Python: introduzione alla programmazione", Maggioli Editore.
Attendance
frontal teaching with non-mandatory attendanceType of evaluation
Written test with theory and computer programming questions teacher profile teaching materials
The concept of information.
A historical overview of the information age.
Basic concepts of computer science.
Hardware, firmware, and software.
Algorithms and computational procedures.
Boolean Algebra and Computation Theory
Fundamentals of Boolean algebra.
Boolean expressions.
Analysis and simplification of Boolean expressions.
The Turing machine.
Tapes, machine states, and quintuples.
Artificial Intelligence and Neural Networks
History and definitions of artificial intelligence.
Artificial Narrow Intelligence (ANI), Artificial General Intelligence (AGI), and Artificial Superintelligence (ASI).
Conversational generative AI.
Introduction to artificial neural networks.
Models, capabilities, and limitations of artificial intelligence.
Machine-learning paradigms.
Training, optimisation, and generalisation.
The role of data: Big Data and the Internet of Things.
Biases, errors, accountability, and responsibility.
Opportunities and risks of artificial intelligence in the digital economy.
Technological evolution, disruptive innovation, and emerging skills.
The transformation of work in the age of artificial intelligence.
Python Programming
Programming with numbers and strings.
Arithmetic operators.
Constants and variables.
Variable assignment.
Local and global variables.
Flow-control and conditional statements.
The if control structure.
for and while loops.
Logical and relational operators.
Nested branches and multiple alternatives.
Flowcharts.
Examples of algorithms using loops.
String processing.
Vectors and Matrices
Creating vectors.
Row and column vectors.
Operations on vectors.
Accessing vector elements.
Creating matrices.
Square and rectangular matrices.
Identity and diagonal matrices.
Matrix operations.
Accessing matrix elements.
Functions
Defining and executing a function.
Passing parameters to functions.
Return values.
F. Benedetto, Chi ha paura dell’IA? 15 domande per conoscere, dominare l’IA e navigare consapevolmente tra le sue opportunità e i suoi rischi, Roma, Edizioni Lavoro, 2026.
C. Horstmann, R. D. Necaise, "Python: introduzione alla programmazione", Maggioli Editore.
Programme
Information and Computer Science FundamentalsThe concept of information.
A historical overview of the information age.
Basic concepts of computer science.
Hardware, firmware, and software.
Algorithms and computational procedures.
Boolean Algebra and Computation Theory
Fundamentals of Boolean algebra.
Boolean expressions.
Analysis and simplification of Boolean expressions.
The Turing machine.
Tapes, machine states, and quintuples.
Artificial Intelligence and Neural Networks
History and definitions of artificial intelligence.
Artificial Narrow Intelligence (ANI), Artificial General Intelligence (AGI), and Artificial Superintelligence (ASI).
Conversational generative AI.
Introduction to artificial neural networks.
Models, capabilities, and limitations of artificial intelligence.
Machine-learning paradigms.
Training, optimisation, and generalisation.
The role of data: Big Data and the Internet of Things.
Biases, errors, accountability, and responsibility.
Opportunities and risks of artificial intelligence in the digital economy.
Technological evolution, disruptive innovation, and emerging skills.
The transformation of work in the age of artificial intelligence.
Python Programming
Programming with numbers and strings.
Arithmetic operators.
Constants and variables.
Variable assignment.
Local and global variables.
Flow-control and conditional statements.
The if control structure.
for and while loops.
Logical and relational operators.
Nested branches and multiple alternatives.
Flowcharts.
Examples of algorithms using loops.
String processing.
Vectors and Matrices
Creating vectors.
Row and column vectors.
Operations on vectors.
Accessing vector elements.
Creating matrices.
Square and rectangular matrices.
Identity and diagonal matrices.
Matrix operations.
Accessing matrix elements.
Functions
Defining and executing a function.
Passing parameters to functions.
Return values.
Core Documentation
Lecture notes by the Professor on the Moodle platform and MS Teams of the UniversityF. Benedetto, Chi ha paura dell’IA? 15 domande per conoscere, dominare l’IA e navigare consapevolmente tra le sue opportunità e i suoi rischi, Roma, Edizioni Lavoro, 2026.
C. Horstmann, R. D. Necaise, "Python: introduzione alla programmazione", Maggioli Editore.
Attendance
frontal teaching with non-mandatory attendanceType of evaluation
Written test with theory and computer programming questions