Cerfacs Enter the world of high performance ...

Advanced programming practices for scientific computing

  Friday 22 March 2024

  Training       Cerfacs, Toulouse, France    

Cerfacs is Qualiopi certified for its training activities

Duration : 1 day / 6 hours

Abstract

Programming plays a crucial role in scientific research, and this training session is designed to provide participants with a strong foundation in programming skills and code development practices.

Objective of the training

The primary goal of this advanced training is to enhance the candidate’s ability to excel in professional settings that involve scientific software programming. This objective will be accomplished by improving understanding of programming projects, introducing common concepts, and directing participants to additional online resources.

Learning outcome

Upon completing this course, participants should be able to:

1. Identify the principal code smells,Identify then reduce the statefulness of a code
2. Prepare the error handling strategy of an edge case
3. Read a global callgraph, and know what should be expected from high-level, mid-level and low-level parts of a code base
4 Consider the global git history of a code and spot conserning trends.
5. Assess the different complexities of a program: mccabe, indentation-based, structural
6. Understand what is a unit test, a functional test?
7. Know how to use some standards : semantic versionning, keep-a-changelog, cactus branching model, sphinx docs

Teaching methods

Each skill or concept will be illustrated with examples from real-world projects. This training is language-agnostic, making it suitable for participants regardless of their preferred programming language.

Referent teacher: Antoine DAUPTAIN

Target participants

This 6-hour training session is tailored for engineering graduates with more than one year of experience, especially those in the middle of Ph.D. studies in Numerical Simulation of Physics.

Prerequisites

  • Participants are required to have a basic understanding of a data processing language like Python, Matlab, or R, or a compiled language like C or Fortran, and be familiar with Git/GitLab.
  • Level B2 of CEFR is required (training can take place in French or English depending on the audience)

To verify that the prerequisites are satisfied, the following questionnaires must be completed. You need to get at least 75% of correct answers in order to be authorized to follow this training session. If you don’t succeed it, your subscription will not be validated. You only have two chances to complete them.

Questionnaire

Registration

Before signing up, you may wish to report us any particular constraints (schedules, health, unavailability…) at the following e-mail address : training@cerfacs.fr

I certify that I obtained at least 75% of correct answers, I register

Deadline for registration: 15 days before the starting date of each training

Fee

  • Trainees/PhDs/PostDocs : 96 € excl. tax
  • CERFACS shareholders/CNRS/INRIA : 240 € excl. tax
  • Public : 480 € excl. tax

Program

Morning

– 9:00 Warm-up, Initial evaluation
– 10:00 Code smells, Some error handling
– 11:00 Break
– 11:15 Hands on standards (semver, changelog, cactus branching, sphinx)
– 12:30 Lunch

Afternoon

– 13:30 Discussion and feedbacks
– 14:00 Code Complexity Indicators, Unit and functional tests
– 15:00 Break
– 15:15 Global CallGraphs, Git Evolution
– 15:40 Final evaluation
– 16:55 Training feedback

Evaluation of learning

A final exam will be conducted during the training.

CALENDAR

Monday

29

April

2024

Code coupling using CWIPI

Monday 29 April 2024

  Training    

Monday

13

May

2024

Implementation and use of Lattice Boltzmann Method

Monday 13 May 2024

  Training    

Tuesday

14

May

2024

Advanced Lattice Boltzmann Methods

Tuesday 14 May 2024

  Training    

ALL EVENTS