Modern Fortran 2003/2008/2018

The Fortran 03 and Fortran 08 (also known as Fortran 2003 and 2008) standards
include many new features that can assist the Fortran programmer in the construction of
new programs and the maintenance of existing programs.

Fortran 2018 is an upcoming standard, formerly known as “Fortran 2015” (name changed to 2018 due to delay in standard release date).

This class provides the knowledge to be able to use these features to produce
efficient, portable, and maintainable code.

The class sessions include several opportunities to try these features
using a Fortran 03/08/18 compiler in the classroom immediately after
they are discussed. This provides strong reinforcement of the material
covered and creates the opportunity to ask questions of experienced instructors
when they arise during these lab sessions.  Although less desirable, the class also can be offered without the exercise sessions.

Topics can be selected by the customer for the unique needs of your staff.

This is usually a 3- or 4-day course.

Currently, our Fortran classes are offered only at customer sites.

Course Topics

    • Introduction
      • Course Description
      • Prerequisites
      • References
    • Miscellaneous
      • Names
      • Continuation Lines
      • The IMPORT Statement
      • ASSOCIATE Construct
      • Volatile Variables
      • Enumerators
      • DO Concurrent
      • Long Integers
      • TYPE Statement
      • Block Construct
      • EXIT Statement
    • Modules
      • The PROTECTED Attribute
      • The ISO_FORTRAN_ENV Module
      • Submodules
    • Procedures
      • Command-Line Arguments
      • Environment Variables
      • The VALUE Attribute
      • Abstract Interfaces
      • Procedure Pointers
      • Pointer Intent
      • Internal Procedures as Arguments
      • Nonpure Elemental Procedures
      • Miscellaneous Intrinsic Procedures
      • Bit Intrinsics
    • Arrays
      • Brackets for Array Constructors
      • Type in Array Constructors
      • Dynamic Assignment
      • MOVE_ALLOC Subroutine
      • Contiguous Arrays
      • Maximum Rank
      • Implied-Shape Arrays
    • Characters
      • Dynamic Character Length Assignment
    • Derived Types
      • Allocatable Components
      • Parameterized Derived Types
      • Declaring Parameterized Types
      • Parameter Inquiry
      • Structure Constructors
    • IEEE Arithmetic and Exceptions
      • Representation of Integers
      • Representation of Reals
      • Infinity
      • Not a Number
      • The IEEE_ARITHMETIC Module
      • Rounding Modes
      • Underflow
      • Exceptions
    • C Interoperability
      • The ISO_C_BINDING Module
      • The BIND(C) Attribute
      • Data Type Matching
      • Passing Character Strings
      • An Example of Calling C
      • An Example of C Calling Fortran
    • Extending Fortran
      • Renaming an Operator
      • Derived-Type Input/Output (DTIO)
      • DTIO Interface
    • Pointers
      • Pointer Lower Bounds
      • Rank Remapping
      • Abstract Interfaces
      • Procedure Pointer Declarations
      • Procedure Pointer Components
      • Arrays of Procedures
    • Input/Output
      • The IOMSG Specifier
      • Asynchronous I/O
      • Stream Access
      • The FLUSH Statement
      • The DECIMAL Specifier
      • The ROUND Specifier
      • NEWUNIT in OPEN
      • G0 Edit Descriptor
      • Unlimited Repeat Factor
      • Recursive I/O
    • Object-Oriented Programming
      • Type Extension
      • Classes
      • Polymorphism
      • Assigning to Polymorphic Variables
      • Type-Bound Procedures
      • A Class of Vehicles
      • A Vehicle Queue
    • Introduction to Coarray Fortran
      • Images
      • Coarray Declarations
      • Referencing Values on other Images
      • Syncing Images
      • Input/Output
      • A Sorting Example
    • Introduction to OpenMP
    • Optimization with the Intel Compiler (for Intel users)


The instructors for our classes are exceptionally knowledgable about Fortran on a wide variety of computer systems.  Our primary instructor, Dr. Walt Brainerd, is recognized world wide as an expert on the Fortran programming language.  He played a leading role in the development of Fortran 90, is the co-author of many programming books, including the Fortran 2003 Handbook and Guide to Fortran 2003 Programming,
and has presented Fortran training seminars to many organizations,
including NASA, Army Research Laboratory, Naval Research Laboratory, Phillips
Laboratory (Air Force), Los Alamos National Laboratory, Sandia National
Laboratory, Microsoft, Cray Research, Jet Propulsion Laboratory, Northwest
Airlines, Falcon Assets Management (US F & G), the Navy Oceanographic
Center, Westinghouse, Duke Energy, Ontario Power, the Canadian AEC, Saudi Aramco,
and the Army Waterways Experiment Center.

Walt earned one of the first
Ph.D.s in Computer Science in the United States.


      • Each participant receives a CD with the class notes and examples.

Questions, pricing, availability?
The Fortran Company
Voice & Fax: +1-877-355-6640