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

The available training programs are geared toward those who are willing to use object-oriented technology in their projects and who have 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, such as reliability, numerical robustness and performance.

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:

  • the history and evolution of programming languages
  • the programming paradigms introduced in each programming language generation
  • influence of these paradigms on development methods and on daily work
  • limiting factors with each generation of programming languages
  • why and how new paradigms have been added over 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 more general 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, Jacoco)
  • 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 gained an initial development experience that equips them to read and understand existing Java source and to develop small standalone Java applications.

Developing numerical applications in the Java language - using Hipparchus 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 topics are covered:

  • Setting up the Eclipse integrated development environment
  • Setting up the free software libraries Hipparchus and Orekit
  • Tour of all high level packages of Hipparchus 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 3 days

session 3

At the end of this session, trainees will have a pragmatic knowledge of the benefits of object-oriented paradigm for the development of scientific algorithms. They will understand some common pitfalls and know how to avoid them in developing robust and high performance code. They will know the available concepts and algorithms in the Hipparchus and Orekit libraries. They have their 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). All sessions are limited to 8 students. For information about scheduled sessions or if you want to set up a session at your premises, please use the general orekit email address: or ask CS space flight dynamics department at the following address:

CS Systèmes d'Information
BU E-space & Geoinformation
parc de la plaine - 5 rue Brindejonc des Moulinais
BP 15872
31506 Toulouse CEDEX 5

phone: +33 5-61-17-66-66 (ask for Luc Maisonobe or Nicolas Frouvelle)
fax:   +33 5-61-34-84-15