Fiches de cours

Scientific programming for Engineers

MATH-611

Lecturer(s) :

Anciaux Guillaume

Language:

English

Frequency

Every year

Remarque

Every year / Next time: Fall 2018

Summary

The students will acquire a solid knowledge on the processes necessary to design, write and use scientific software. Software design techniques will be used to program a multi-usage particles code, aiming at providing the link between algorithmic/complexity, optimization and program designs.

Content

Object Oriented Paradigm

C/C++ and Python programming (class, operator, template, design patterns, STL)

Programming techniques, code factorization

Pointers, memory management, data structures

Linear system solving (Eigen library)

C++/Python coupling (pybind)

Post-treatment: Paraview, numpy/scipy, matplotlib

 

Classical problems: series calculations, solar system and many-body calculation, sparse linear algebra.

 

Note

A Linux laptop is required for this class

Keywords

programming, scientific, code design, algorithm, optimization, analysis

Learning Prerequisites

Required courses

Basis in programming languages (C/Fortran)

Basic Linux knowledge is required

Important concepts to start the course

A Linux laptop is required for this class

Expected student activities

Exam: 4 evaluated homeworks

 

In the programs

Reference week

 
      Lecture
      Exercise, TP
      Project, other

legend

  • Autumn semester
  • Winter sessions
  • Spring semester
  • Summer sessions
  • Lecture in French
  • Lecture in English
  • Lecture in German