This online course is targeted at scientists who wish to extend their knowledge of Fortran to cover advanced features of the language.
Topics covered include (still preliminary)
- Best Practices
- global objects and interfaces
- abstract interfaces and the IMPORT statement
- object based programming
- Object-Oriented Programming
- type extension, polymorphism and inheritance
- binding of procedures to types and objects
- generic type-bound procedures
- abstract types and deferred bindings
- IEEE features and floating point exceptions
- Interoperability with C
- mixed language programming patterns
- Fortran 2003 I/O extensions
- OO Design Patterns: application of object-oriented programming
- creation and destruction of objects
- polymorphic objects and function arguments
- interacting objects
- dependency inversion: submodules and plugins
- Coarrays
- PGAS concepts and coarray basics
- dynamic entities
- advanced synchronization
- parallel programming patterns
- recent enhancements: collectives, events, teams, atomic subroutines
- performance aspects of coarray programming
The course combines lectures and hands-on sessions.