Teacher(s)
Language
French
Prerequisites
This course assumes that you have acquired the basic notions of programming (instructions, variables, loops, conditions, etc.) and the programming methodology in Python as taught in the LINFO1101 or LEPL1401 courses, as well as the basics of the Java language such as taught in the LEPL1402 course. This course also assumes that the basic notions of algebra and analysis covered by the LINFO1111 and LINFO1112 courses have been acquired.
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.
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:
|
|
Content
The philosophy of the course is to introduce numerical methods by describing and, above all, implementing concepts from algebra and mathematical analysis courses. The aim is to develop algorithms while observing the limits of implementing a mathematical concept: data representation (numbers, etc.) and error handling (calculation, stability, propagation, etc.).
Teaching methods
By presentation of the concept and by implementation in Python.
Evaluation methods
The examination will be a written, on-site test with open-ended questions. It will cover all the material from the lectures and practical sessions. The examination grade will contribute 90% to the final evaluation, while the remaining 10% will come from continuous work during the practical sessions. In the event of a second examination session, the continuous assessment grade is retained and incorporated into the final grade using the same weighting (10%). In the event of re-enrollment in the following academic year, the continuous assessment must be completed again.
The continuous assessment is based on the practical sessions, which are weighted equally and result in a single overall grade, communicated after the end of the final session. Failure to comply with the methodological instructions provided by the instructor, particularly regarding the use of online resources, plagiarism, or collaboration between students on an exercise, will result in an overall mark of 0 for the continuous assessment.
In particular, the use of generative AI tools and any form of collaboration is strictly prohibited for the exercises. The distribution or exchange of (fragments of) code between students is not permitted by any means whatsoever (GitHub, Facebook, Discord, etc.), even after the submission deadline for the exercises.
The continuous assessment is based on the practical sessions, which are weighted equally and result in a single overall grade, communicated after the end of the final session. Failure to comply with the methodological instructions provided by the instructor, particularly regarding the use of online resources, plagiarism, or collaboration between students on an exercise, will result in an overall mark of 0 for the continuous assessment.
In particular, the use of generative AI tools and any form of collaboration is strictly prohibited for the exercises. The distribution or exchange of (fragments of) code between students is not permitted by any means whatsoever (GitHub, Facebook, Discord, etc.), even after the submission deadline for the exercises.
Online resources
Teaching materials
- "Numerical Methods in Engineering with Python 3" de Jaan Kiusalaas (ISBN-13: 978-1107033856)
- "Numerical Algorithms" de Justin Solomon (ISBN-13: 978-1482251883)
- Slides on Moodle
Faculty or entity