Module page

Laboratorio di programmazione e calcolo                  

academic year:   2013/2014
instructor:  Stefano Finzi Vita
degree course:  Mathematics - DM 270/04 (triennale), I year
type of training activity:  affine e integrativa
credits:  9 (72 class hours)
scientific sector:  MAT/08 Analisi numerica
teaching language:  italiano
program:   I-Z
period:  I sem (30/09/2013 - 17/01/2014)


Lecture meeting time and location

Presence: highly recommended

Module aims: The main goal is to introduce the students to a constructive approach to mathematics also by means of personal computers. In this respect, the course complements other courses of the first year where the logic/deductive point of view is more emphasized. A major part of this course will be devoted to problem solving, to the analysis of basic algorithms and to their implementation in C.

Module subject: The main topics are:

  1. Introduction to the C++ language: structure of a C++ program, types of variables, commands of the pre-compiler, arithmetic and logic operators, pointers, mathematical functions. Input/output. Cicles: for, while, do-while. Alternatives: if-else, switch. Matrix and vectors in C. Functions. Graphics commands.
  2. Number and functions on a computer. Floating point representation, rounding and truncation errors. Logic operations, Boolean algebra. Basic operations on sets. Polynomials, Horner’s algorithm. Taylor expansion. Numerical derivatives.
  3. Linear maps in the plane. Linear systems. Gauss method, Jacobi method. Algorithms for computing the determinant and the inverse matrix.
  4. Sequences and series. Limit approximation, stopping rule and error. Recursive sequences, fixed point theorem.
  5. Root finding. Bisection, Newton’s and secant algorithms. Convergence and a priori error estimates. Order of convergence of Newton’s method.
  6. Polynomial interpolation. Error estimates for linear and quadratic interpolation. Composite Lagrange interpolation.
  7. Quadrature formulas. Rectangle, trapezoid and Simpson’s rules. Geometric interpretation. Error estimates.

Detailed module subject: Programma settimanale degli argomenti svolti a lezione (versione finale)

Suggested reading: On-line material given by the instructors

  • Luis J. Aguilar, "Fondamenti di programmazione in C++", McGraw-Hill, 2008
  • A.Quarteroni, R.Sacco, F.Saleri, "Matematica Numerica", Springer, 2008
  • A.Quarteroni ,"Elementi di Calcolo Numerico",Progetto Leonardo ,1998
  • J.F. Epperson, "Introduzione all'analisi numerica", McGraw-Hill, 2003

    Issues:

    Type of course: standard

    Exercises:

    Examination tests:

    Useful links:

    • Form per la registrazione ai canali di LPC (entro il 18.10.2013) : Link
    • Per approfondire le successioni per ricorrenza: Iterata iuvant. Modelli matematici discreti e applicazioni (note della Scuola estiva 2013 del PLS per studendi delle superiori): link

    Knowledge and understanding: Successful students will be able to have a basic knowledge of programming and of the mathematical properties of simple algorithms. They will also achieve some fundamental notions about convergence, order of convergence, errors and complexity for elementary algorithms.

    Skills and attributes: Successful students will be able to write a simple C code for scientific purposes and to manage elementary numerical algorithms to solve problems. They will be able to choose the appropriate algorithm for simple problems like finding the root of an equation, computing an integral or solving a linear system. During the laboratory sessions they will learn how to use PCs, graphic tools and a LAN network.

    Personal study: the percentage of personal study required by this course is the 65% of the total.

    Statistical data on examinations

  • © Università degli Studi di Roma "La Sapienza" - Piazzale Aldo Moro 5, 00185 Roma