Select Academic Year:     2017/2018 2018/2019 2019/2020 2020/2021 2021/2022 2022/2023
Second Semester 
Teaching style
Lingua Insegnamento

Informazioni aggiuntive

Course Curriculum CFU Length(h)
[60/61]  COMPUTER SCIENCE [61/00 - Ord. 2016]  PERCORSO COMUNE 6 48


1. Acquiring knowledge and understanding.
The course is devoted to students in the second year of the Bachelor's degree in Computer Science. It aims to provide a working knowledge of the fundamental methodologies in numerical analysis. These topics are presented by providing a rigorous theoretical justification, as far as possible.
2. Applying knowledge and understanding.
Possible applications of the methods treated during the course to relevant applications in Computer Science will be discussed; for example: data mining, image processing, and computer vision. The student must prove their ability in implementing the algorithms in a programming language and in verifying their performance by effective numerical experiments.
3. Making informed judgements and choices.
This course allows assiduous students to achieve knowledge and understanding sufficient to apply the methodologies described in the course to the solution of problems encountered in their own field of interest.
4. Communicating knowledge and understanding.
The evaluation of the written test keeps into account the ability of the student to give a methodical and consistent exposition of the program of the course. His communicating knowledge is further analyzed during the optional oral interview.
5. Capacities to continue learning.
This course allows assiduous students to acquire a basic expertise which is sufficient to understand advanced mathematical texts for widening their knowledge autonomously.


1. Knowledge. The course requires a good knowledge of the basic concepts of linear algebra and of mathematical analysis, which can be acquired during the first year.
2. Skills. Students have to be able to apply the methods learned during the exams of the first year. In detail: the graphs of elementary functions, the computation of derivatives and integrals, matrix and vector arithmetic.
3. Competence. The only skill required to attend the course is a basic experience in computer programming, in order to better understand the algorithms that will be described. The habit of mind of adopting a mathematical approach to problem solving, and a good ability in the manipulation of algebraic expressions are definitely useful.
Preparatory courses. According to the rules of the Science Faculty, students must have previously attended and passed the examinations of the courses “Matematica Discreta” and “Analisi Matematica”.


1. Preliminary notions (6 hours)
Well posed problems. Conditioning. Numerical algorithms: stability, computational complexity, memory storage. Floating point systems. Error propagation.
2. Numerical linear algebra (16 hours)
Review of linear algebra. Normed spaces and Hilbert spaces. Eigenvalues and eigenvectors. Structured matrices. Matrix norms. Condition number. Solution of linear systems by means of direct methods (Gaussian elimination) and iterative methods (Jacobi and Gauss Seidel). Hints on rectangular linear systems and least squares. Hints on eigenvalues computation.
3. Approximation theory (6 hours)
Interpolation and approximation. Polynomial interpolation. Lagrange interpolating polynomial. Least squares polynomial approximation. Hints on interpolation and approximation by trigonometric functions and splines. Computation of integrals by means of interpolatory quadrature formulas.
4. Nonlinear equations (4 hours)
Polynomials roots. The bisection method. Newton's method and quasi-Newton methods. Hints on the solution of systems of nonlinear equations.
5. Laboratory (16 hours)
Introduction to Matlab, an envirionment for scientific computing and visualization. Variables types. Scripts and functions. Traditional control structures and vector/matrix programming. Graphical instructions. Implementation of the algorithms described in the course.

Teaching Methods

Lessons will be in presence and, if the COVID-19 emergence will be still present, online strategies will be used. The course consists of 48 lecture hours, which also include practical lessons regarding the solution to exercises, the solution of grading written tests, and the implementation of the algorithm described in the course. Simultaneously with the course, a tutorial activity is furnished to students, to assist them while they study for the final grading. The teacher gives constant assistance to students, during the whole year, both by personal interviews and by means of e-mail messages.

Verification of learning

Grading consists both of a test and of the evaluation of the works developed in the computer room lectures. Because of the COVID-19 emergence the exam could be written or oral (in this last case the Teams Software will be used). It includes some exercises, which require both operative skill and knowledge of the theory concerning the whole programme. Contents of either written or oral test are the same and can be verified in the lessons register which is available in the lecturer web page. The computer room work, consisting of computer programs and a document describing the numerical experiments, must be collected in an archive file and delivered to the teacher before the written test. The student must demonstrate to know and have understood the algorithms described during the course and must be able to apply them to the solution of problems. To pass the exam the student must reach a grade of at least 18/30. The student may ask for an oral interview to improve the final grade. An oral interview may also be required by the teacher, if it is useful to correctly evaluate the performance of the student.
To pass the exam the student must attest a basic knowledge of all the topics covered in the course. In order to achieve the maximum score 30/30, the student must demonstrate to know all the topics of the course in an excellent way and must be able to apply them to the solution of problems.
Students have the opportunity to be aware of their level of preparation during the practical lectures carried out by the teacher or by the tutor. On these occasions they can test their skills to solve exercises and grading tests, by comparing their results with those presented by the teacher and the tutor.


G. Rodriguez.
Algoritmi Numerici.
Pitagora Editrice, Bologna, 2008.
ISBN: 88-371-1714-0.

More Information

The main tools to support teaching is the teacher's personal web site. It provides information updated in real time, including: lectures diary reporting the topics treated in each lecture, information on teaching activities, additional documents to support learning, grading tests, links to the tutor's web site, which contains solutions of exercises and of grading tests.

Questionnaire and social

Share on:
Impostazioni cookie