Learning resources: Fortran

How to Use these Resources

The resources below offer tutorials and references for learning modern Fortran programming and using in different computing contexts.  Most target computational scientists and engineers with varying degrees of programming experience in other languages.  Additional references specific to using Fortran in HPC applications can be found on our MPI and OpenMP resource pages.



Modern Fortran -- different versions (2020, 2019, 2017) of a ~1 hr video tutorial on modern Fortran, aimed at computational scientists.  Part of the Virtual Tutorials series from ARCHER (the UK National Supercomputing Service)

Fortran Programming Tutorials -- a YouTube playlist of short (~10-45 mins each) giving a thorough introduction to modern Fortran programming. Aimed at computational scientists. Includes several applied mathematical examples.  Includes code from examples and exercises on Github. From FluidicColors.

Advanced Fortran Programming -- another playlist from FluidicColors with more intermediate to advanced aspects of Fortran programming. Includes code from examples and exercises on Github.


Self-paced online courses

An Introduction to Fortran Programming -- self-paced online course from the Cornell University Center for Advanced Computing (CAC) geared at computational scientists and engineers

The Fortran Tutorial -- a worksheet-driven (exercise-driven) seven-part tutorial on modern Fortran programming (compatible with Fortran 95).


Web pages / written online tutorials

The Basics of the Fortran Programming Language -- a single-page quick start on Fortran.  A good entry point that should be supplemented by further resources

Introduction to Fortran Programming -- slides (Part 1 and Part 2) along with code examples (Part 1 and Part 2) from a 2014 workshop on Fortran aimed at computational scientists.  From the National Institute for Computational Scientists (NICS) at the University of Tennessee, Knoxville.

Fortran for C/C++ Programmers -- online tutorial explaining Fortran 95 to people with prior programming experience in C and/or C++

Learn Fortran -- comprehensive written tutorial on modern Fortran.  From tutoriaslpoint.com.

Additional Fortran tutorials -- a curated list of web resources for Fortran programming, from beginner to advanced levels.  From fortran.com.



Parallel Programming in Fortran 95 Using OpenMP (2002) -- online book (in PDF form) from Universidad Politécnica de Madrid

Modern Fortran: Building efficient parallel applications -- book from Manning Publications geared at high-performance applications using Fortran.  Includes all code samples (on Github).

Introduction to High-Performance Scientific Computing -- book by Victor Eijkhout from the Texas Advanced Computing Center (TACC).  Available in online and print versions.  Chapters 20 & 27 give a comprehensive theoretical summary of compilers and C/Fortran language interoperability, respectively.