Numerical algorithmic

linfo1113  2021-2022  Louvain-la-Neuve

Numerical algorithmic
6.00 credits
30.0 h + 30.0 h
This course assumes that the student already masters the basics of programming (instructions, variables, loops, conditions, ...) and programming methodology as taught in courses LINFO1101 or LEPL1401.
The basic notions of algebra and analysis covered by courses LINFO1111 and LINFO11112 should also be mastered.

The prerequisite(s) for this Teaching Unit (Unité d’enseignement – UE) for the programmes/courses that offer this Teaching Unit are specified at the end of this sheet.
Main themes
  • Representation of floating point numbers
  • rounding error problem and error propagation (discussion for the methods below).
  • Notion of convergence and stopping criteria of iterative methods
  • Representation of matrices, efficient multiplication of matrices
  • Resolution of linear systems, including iterative methods
  • Interpolations and regressions
  • Numerical integration, numerical differentiation
  • Resolution of ordinary differential equations: problems with initial value
  • Resolution of nonlinear equations (function roots), application to simple one-dimensional optimization problems (including notion of minimum / maximum local or global)
Since the course is intended for IT professionals, the emphasis will be on practical implementation of these methods. 
Applications and examples will be taken preferably in the other courses of the program SINF1BA (economics, electronic basics for computer science, for example). Otherwise, they will be taken in other domains (mechanical, for example) but the teacher will take care to introduce the relevant concepts.
Learning outcomes

At the end of this learning unit, the student is able to :

Given the learning outcomes of the "Bachelor in Computer science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
  • S1.G1, S1.3
  • S2.2, S2.4
  • S6.1
Students who have successfully completed this course will be able to:
  • model a simple problem using the proper mathematical notation,
  • identify classical numerical methods suitable for solving a simple problem expressed mathematically,
  • choose, on the basis of precise criteria, the most effective method for numerically solving such a problem,
  • implement a numerical resolution of this simple problem,
  • explain the problems related to the numerical resolution of equations and their impacts: rounding errors, convergence, stopping criteria.
Philosophy: introduction to numerical methods by means of description and especially implementation of concepts from algebra courses and mathematical analysis.  The aim is to develop algorithms to understand the limits of implementing a mathematical concept: data representation (numbers,...) and error processing (calculation, stability, propagation,...).
Language: Python
Teaching methods
By presentation of the concept and by implementation.  If the COVID allows it, the lectures are given face-to-face or, if not, remotely.  Practical work is given entirely in the classroom if possible, otherwise it is given every other week in the classroom and every other week remotely.
Evaluation methods
If the COVID allows, the exam is written and open-ended.  Alternatively, the exam could be written as a distance written exam with a mix of open-ended and multiple-choice questions.
Weekly workouts contribute 2 points in the final evaluation.  The weighting between continuous assessments and the sessional examination could be modified according to health conditions.
Online resources
Teaching materials
  • Numerical Methods in Engineering with Python 3 de Jaan Kiusalaas - ISBN-10: 1107033853
  • Slides on moodle
Faculty or entity

Programmes / formations proposant cette unité d'enseignement (UE)

Title of the programme
Learning outcomes
Bachelor in Computer Science

Master [120] in Data Science : Statistic