This course will be delivered as an ONLINE COURSE for remote participation because of the COVID-19 measures enforced by most European governments.
REGISTRATION is strictly NECESSARY since the details to access the online course will be provided to the registered and accepted attendees only.
The workshop will take place online 10:00-12:00 and 13:00-16:00 CEST each day.
Overview
This 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.