Training

Overview

You can get the most from Orekit by attending the training sessions organized by CS Communication & Systèmes. The instructors are the experts who design, develop, maintain and use Orekit.

The available training programs have been prepared for an audience of people willing to use object oriented technology in their projects and having a space flight dynamics background rather than information technology background. These programs differ from classical object oriented training sessions due to this strong orientation towards numerical computation and its focus on practical problems encountered in this field like reliability, numerical robustness and performances.

Training programs

The complete set is split in three sessions

Object oriented technology for numerical computing

This session is oriented towards trainees who are not computer science experts. The following concepts are taught:

  • programming languages evolution history
  • programming paradigms introduced at each programming language generation
  • influence of these paradigms on development methods and on daily work
  • limiting factors at each programming language generation
  • why and how new paradigms have been added along time
    type prerequisites duration
    lecture basic knowledge of development principles
    with programming languages like FORTRAN or C
    1 day
    session 1

At the end of this session, trainees will have a clear understanding of the differences between functional programming, imperative (procedural) programming, and object oriented programming. They will know about primitive types, user types, dynamic memory allocation, data abstraction, classes and inheritance.

Object oriented concepts and the Java language

This session is a classical training session for the Java programming language. It is not directly oriented towards numerical computation. The following concepts are taught:

  • Java language principles
  • Java language syntax
  • Main standard packages and classes
  • Eclipse integrated development environment
  • Maven build tool
  • Testing tools (Junit, Cobertura)
  • Auditing tools (Checkstyle, Findbugs, PMD ...)
    type prerequisites duration
    lecture
    hands-on practice
    knowledge of object-oriented principles
    as presented in session 1
    4 days
    session 2

At the end of this session, trainees will know the syntax of the Java language and have a first development experience which is sufficient to read and understand existing Java source and to develop small standalone Java applications.

Developing numerical applications in the Java language - using Apache commons-math and Orekit

This session is also oriented towards trainees who are not computer science experts but rather space flight dynamics engineers and numerical analysts. It adds the necessary do's and don'ts that apply to high performance and robust numerical applications development, especially in mathematics and space flight dynamics fields. The following concepts are taught:

  • Setting up Eclipse integrated development environment
  • Setting up the free software libraries Apache commons-math and Orekit
  • Tour of all high level packages of Apache commons-math and Orekit
  • Design patterns for development of robust and high performance numerical computation applications
  • Development of a complete standalone space flight dynamics application using existing Orekit library objects
  • Extending existing Orekit library objects to meet mission-specific needs
    type prerequisites duration
    lecture
    hands-on practice
    space flight dynamics or numerical analysis background
    knowledge of object-oriented principles as presented in session 1
    basic knowledge of the Java language syntax
    2 days
    session 3

At the end of this session, trainees have a pragmatic knowledge of the benefits of object oriented paradigm for the development of scientific algorithms. They understand some common pitfalls and know how to avoid them and develop robust and high performance code.. They know the available concepts and algorithms in the Apache commons-math and Orekit libraries. They have a first development experience of space flight dynamics applications in an integrated development environment with these libraries.

Training sessions organization

The training sessions can be organized both at your premises anywhere in the world or at CS premises in Toulouse (France). Prices for the training sessions at CS premises are shown in the following table:

session industry
commercial companies
academics
research laboratories
students
Object oriented technology for numerical computing
(session 1)
550 € 300 € 150 €
Object oriented concepts and the Java language
(session 2)
2200 € 1000 € 500 €
Developing numerical applications in the Java language
using Apache commons-math and Orekit (session 3)
1100 € 600 € 300 €
prices for training sessions at CS premises

The prices above include training fees, an USB stick containing lecture material and exercises, and lunches. They do neither include travel nor hotel fees.

For information about scheduled sessions or if you want to set up a session at your premises, please use the general orekit email address: orekit@c-s.fr or ask CS space flight dynamics department at the following address:

CS Communication & Systèmes
Activité Défense Espace & Sécurité - Division Espace & Renseignement
parc de la plaine - 5 rue Brindejonc des Moulinais
BP 15872
31506 Toulouse CEDEX 5
FRANCE
phone: +33 5-61-17-66-66 (ask for Luc Maisonobe, Nicolas Frouvelle or Christine Fernandez-Martin)
fax: +33 5-61-34-84-15