Fortran Course for Engineers and Scientists

FortranLogo

Fortran is an excellent programming language for numerical algorithms with very good performance and the syntax offers a very high level of mathematical expressiveness.

This course teaches modern Fortran syntax. I.e the syntax of Fortran 95, Fortran 2003. Old Fortran77-stile syntax is not part of the course. However, since Fortran is backward compatible with older versions, questions about the porting of old stile code to new stile are part of the course.

This course focuses on Fortran constructs which enable compilers to automatically parallelise code for computers with many processors.

The exercise part of the course takes up about 50%-60% of the time. The course content includes:

1) Basic Syntax

  • Basic program structure
  • Data types, variables and arithmetic
  • control flow constructs (Loops, If-conditions)

2) Arrays

  • Array declaration and construction
  • Array-subobjects
  • Character-slicing
  • Elementwise array-assignments and operations
  • Allocatable arrays
  • Pointer to objects and arrays

3) Subroutines and functions

  • Subroutines
  • Functions
  • Global data
  • Pure, elemental, recursive procedures
  • Optional arguments
  • Procedures as arguments to other procedures

4) Module

  • Module structure and usage
  • Derived data types
  • Intrinsic statement
  • Public, private, protected attributes
  • Generic procedures
  • Operator overloading

5) Classes and inheritance

  • Class declaration and usage
  • Derived classes
  • Destructor
  • Abstract class

6) Input & output from and to files.

  • Formatted, sequential files
  • Format edit descriptors
  • Reading and writing numbers from / to strings

Each of the above chapters includes one or several exercise units. The course duration is 3 days. Depending on the prior knowledge of participants 4 or 5 days may be advisable in order to profit maximally from the exercises. Course size is 1 to 9 participants per trainer. We adapt the course material to your needs.

If you are interested in this course, please send us a message, since we plan courses dynamically on demand. In-house courses in Europe and online courses are also possible. (Price list).