PROGRAMMING AND NUMERICAL METHODS

Course objectives

GENERAL OBJECTIVES This course provides the basic knowledge of some numerical methods for the solution of common mathematical problems in applied sciences and engineering and gives the basic concepts of Matlab programming. The course acts as a link between the basic and the engineering courses of the three-year degree programme in Aerospace Engineering. Particular attention will be devoted to the analysis of the methods and their implementation in Matlab environment. To this aim, the course will consist of theoretical lectures, whose aim is to illustrate the main characteristics of the methods and the basic programming structures, and to solve some test exercises; and practical lectures, where numerical methods are implemented using Matlab and used for solving simple applied sciences and engineering problems. SPECIFIC OBJECTIVES 1. Knowledge and understanding: the student will know the basic concepts of numerical analysis and the main properties of the numerical methods commonly used to solve problems that arise in applied sciences and engineering. The student will learn the basic concepts of programming that are required for the implementation of the proposed methods in Matlab environment. 2. Applying knowledge and understanding: the student will be able to use the numerical methods learned; he will be trained to recognize the class of numerical methods necessary to solve a given problem, to select the most suitable ones based on their main properties, to provide an algorithmic solution, to implement the algorithm using Matlab, to find problem solution using the implemented Matlab code, to estimate the errors and to analyse the results. 3. Making judgments: the student will be able to select a numerical method suitable for solving some test problems, to estimate approximation errors and to analyze its performance through numerical experiments and to compare the performance of different numerical methods. To this aim, several exercises will be proposed during both theoretical and lab lessons; some of them will be solved by the teacher, some others will be proposed as guided lab exercises, while the remaining ones will be given as homework and solutions are made available. 4. Communication skills: the student will be trained to rigorously describe the basic mathematical concepts of numerical analysis, the algorithmic formulation of some numerical methods and the developed Matlab code, the results of numerical tests. 5. Learning skills: the student will be able to classify a problem with respect to the class of numerical methods required for its solution, to use some basic numerical methods to solve some application problems, to implement them in Matlab environment, to evaluate the results in a critical manner, with particular reference to expected errors type.

Channel 1
VITTORIA BRUNI Lecturers' profile

Program - Frequency - Exams

Course program
1. Problem conditioning and algorithm stability 2. Iterative methods for nonlinear equations and nonlinear systems: bisection method, iterative methods, Newton's method, secant method; convergence and stopping criteria 3. Numerical linear algebra: direct methods to solve linear systems; iterative methods, Jacobi and Gauss-Seidel methods; convergence criteria 4. Polynomial approximation of data: linear least squares; interpolation with algebraic polynomials, Lagrange polynomials, divided and finite difference Newton polynomials, convergence criteria 5. Numerical integration: elementary and generalized trapezoidal and Simpson’s rules; convergence criteria for generalized formulas 6. Numerical methods to solve ODE: Euler and Runge-Kutta methods for initial value problems, implicit methods convergence criteria 7. Finite difference methods for boundary value problems: linear and non linear ODEs 8. Introduction to programming and numerical computing 9. Matlab: primitive data types, variables, expressions and assignment, array and matrices, conditional statements and boolean expressions, loop statements (for and while), function and script 10. Matlab codes for presented numerical methods
Prerequisites
Basic notions of calculus, geometry and linear algebra
Books
Calcolo Numerico, L. Gori, Ed. Kappa, 2006 Esercizi di Calcolo Numerico, L. Gori-M.L. Lo Cascio, F. Pitolli, Ed. Kappa, 2007 Course Slides (download from e-learning platform)
Teaching mode
The course includes both lectures and lab exercises. During the lectures, the teacher will outline and discuss the main features of the numerical methods listed in the program. During lab exercises, firstly the teacher will give an introduction to programming in Matlab, then the teacher will show how to code algorithms. During the course the teacher will also provide guided exercises on numerical methods and programming and will assign homeworks to students.
Frequency
Attendance is recommended
Exam mode
The written test consists of 5 exercises; two of them require Matlab implementation. The written test lasts 3 hours. The score assigned to each exercise is in the range [0, 30]. The final score is the weighted mean of the individual scores; the weights are (2/9, 2/9, 1/9, 2/9, 2/9). The oral examination requires to pass the written test with a score greater than or equal to 16/30. The oral examination consists of a discussion concerning the written test and some questions oriented to assess the ability in analyzing a problem, selecting the most suitable numerical method for its solution and discussing the results. The score to the oral test is assigned according to the following criteria: minimal knowledge (rated between 18 and 20); average knowledge (21-23); ability to apply the knowledge in a sufficient manner (24-25); good ability to apply knowledge with sufficient communication skills and critical judgements (26-27); ability to apply knowledge in an excellent manner with good communication skills and critical judgements (28-30 cum laude). The final score is the arithmetic mean of the scores assigned to written and oral tests.
Lesson mode
The course includes both lectures and lab exercises. During the lectures, the teacher will outline and discuss the main features of the numerical methods listed in the program. During lab exercises, firstly the teacher will give an introduction to programming in Matlab, then the teacher will show how to code algorithms. During the course the teacher will also provide guided exercises on numerical methods and programming and will assign homeworks to students.
  • Lesson code1037941
  • Academic year2025/2026
  • CourseAerospace engineering
  • CurriculumSingle curriculum
  • Year3rd year
  • Semester1st semester
  • SSDMAT/08
  • CFU9
  • Subject areaMatematica, informatica e statistica