Disclosure: Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Best Courses Guides

9 Best Fortran Courses to Take in 2023

Here is a guide with the best online courses to learn Fortran, the powerful and general-purpose programming language used by millions of professionals worldwide.

Calling all scientists and researchers! Are you tired of using time-consuming programming languages that can’t keep up with the demands of your research? Are you looking for a language specifically designed for scientific and engineering applications, with a long history of use in these fields? Or maybe you have access to supercomputers but want to utilize every single core and thread on it as efficiently as you can?

Look no further than Fortran, the powerful, general-purpose programming language used by millions of professionals worldwide. From stunning renderings of blackholes to forecasting the weather deemed for next week, Fortran has likely played a role in some of the most impressive scientific simulations you’ve seen.

So, are you hooked by my sales pitch? Though I’m not selling much, as nearly all of the best Fortran courses I’ve recommended in this guide are free. Read on more to find out!

Click on one to skip to the course details:

Course Workload In Brief
1. Fortran for Scientific Computing (PRACE & VSC) 20 hours Best overall free course for researchers
2. Modern Fortran (West Virginia University) 12 hours Best free up-to-date course focusing on parallel programming
3. Introduction to Fortran (Texas Agricultural and Mechanical University) 2 hours Best free short and hands-on introductory course
4. Introduction to Fortran (LinkedIn Learning) 2–3 hours Best free short hands-on course with exercises
5. Fortran Video Tutorials (Cyprien Rusu) 2 hours Best free course for Linux users
6. Modern Fortran Programming for Chemists and Physicists (University of Helsinki) N/A Best free slide-based course for chemists and physicists
7. Fortran Programming Tutorials (Fluidic Colours) 11 hours Best free video-based course on Fortran 90
8. Fortran for Physics (Discord Physics Seminar) 4–5 hours Best free hands-on course on Fortran 95
9. Beginning Fortran for Science and Engineering Students (Robert Spall) 2–3 hours Best course on Fortran applications

What is Fortran?

Fortran, or FORmula TRANslation, is a general-purpose, imperative programming language developed by a team of IBM researchers led by John Backus. When it was released, many scientific and engineering calculations were still being performed by hand, which was both time-consuming and error-prone. Although computers were capable of scientific computing, the languages used to program them were too low-level and difficult-to-learn for the average researcher.

Fortran was the solution to the problem. It provided a more efficient and reliable way of performing scientific and engineering calculations while at the same time abstracting away the low-level concepts into higher-level ones, and hence became the first ever high-level programming language. It quickly dominated the scientific computing sphere as researchers could easily translate mathematical formulas into code and quickly perform complex simulations on large amounts of data within the matter of hours or even minutes.

Over the decades, Fortran has undergone several major versions to keep up with current programming trends, with the most popular versions of Fortran being Fortran 77, 90, 95, 2003, 2008, and more recently, 2018. The language continues to evolve and be refined to meet the changing needs of the latest ground-breaking scientific and engineering research.

Hence despite its age, Fortran remains a popular language for HPC (high performance computing) and is in use in many areas such as weather modeling, materials science, molecular dynamics, and computational physics. Many national laboratories, universities, research institutes, aerospace and defense companies, and government agencies all rely on Fortran for their scientific work, and additionally Fortran is also seeing a resurgence in open-source activity.

Learning Fortran can be a valuable skill for anyone interested in scientific and engineering research, opening up a wide range of career opportunities and allowing individuals to contribute to the advancement of scientific and engineering knowledge.

Find your next course on Class Central

Best Courses Guides Methodology

I built this ranking following the now tried-and-tested methodology used in previous Best Courses Guides (you can find them all here). It involves a three-step process:

  1. Research: I started by leveraging Class Central’s database with 100K online courses and 200K+ reviews. Then, I made a preliminary selection of Fortran courses by rating, reviews, and bookmarks.
  2. Evaluate: I read through reviews on Class Central, Reddit, and course providers to understand what other learners thought about each course and combined it with my own experience as a learner.
  3. Select: Well-made courses were picked if they presented valuable and engaging content and they have to fit in a set of criteria and be ranked accordingly: comprehensive curriculum, affordability, release date, ratings and enrollments.

Course Ranking Statistics

Here are some aggregate stats about the ranking:

  • Around 600 people are following the Fortran topic on Class Central.
  • All of the courses except for one are free, have free trial, or are free-to-audit.
  • No programming experience is required for any of the courses.

Without further ado, let’s go through the top picks.

1. Fortran for Scientific Computing (PRACE & VSC)

My #1 pick for the best Fortran course is Fortran for Scientific Computing by PRACE & VSC.

This free 35-days limited access course teaches the basics of the Fortran programming language, with a focus on high-performance scientific computing. By the end of the course, you’ll know the foundational concepts of programming, understand how to express numerical problems in Fortran, and use modern programming paradigms and scientific computing libraries to solve them.

No prior knowledge of programming is required to take this course.

(Oh and by the way, you should also watch the introductory video they’ve made for the course. It’s pretty funny!)

What You’ll Learn

The course begins by setting up your development environment for you to start writing your first Fortran program. Then, you’ll learn about Fortran data types, including complex numbers, and how to use conditional and iteration statements to help the program to make and repeat decisions. Combined with procedures that allow you to write reusable code, you can already write pretty complex programs!

Moving on, you’ll learn basic input and output, and how to work with text files. You’ll also learn how to work with arrays, which are essential for working with vectors and matrices in scientific computing (think linear algebra). Object-oriented programming will also be of interest to you as they are used to model real-world data and relationships, along with more advanced topics like modules and interfaces, dynamic memory and pointers, and type-bound procedures.

Finally, the course concludes with parallel programming for taking advantage of multiple processors, software engineering and performance aspects for efficiency, debugging and testing for accuracy, and other best practices for writing high-quality Fortran applications.

How You’ll Learn

This course is 5 weeks long, 4 hours a week. You’ll learn by watching the lecture videos, participating in the discussion forum with fellow students, and completing the coding exercises given in the course.

Institution Partnership for Advanced Computing in Europe; Vlaams Supercomputer Centre
Provider FutureLearn
Instructors Geert Jan Bex, Mag Selwa, Jan Ooghe, and Wouter Van Assche
Level Intermediate
Workload 20 hours
Enrollments 1K
Rating 4.9 / 5.0 (9)
Certificate Paid

Fun Facts

  • The course has 63 bookmarks on Class Central.
  • Geert Jan Bex, Mag Selwa, Wouter Van Assche are HPC consultants for the Flemish Supercomputer Center, where they provide support and training for HPC users. Geert’s research is on machine learning, Mag is on astrophysics, and Wouter is on bioinformatics.
  • Meanwhile, Jan Ooghe is a team leader of the HPC team at the same place, where he has worked since 2010.
  • PRACE also has courses with slides and exercises on beginner and advanced Fortran if you want to check those out.

If you’re interested in this course, you can find more information about the course and how to enroll here.

2. Modern Fortran (West Virginia University)

My second pick for the best Fortran course is the Modern Fortran workshop from West Virginia University.

You’ll develop a good understanding and learn the best current approaches of programming using features found in Fortran 95, 2003, 2008¸ or even 2018. Additionally, you’ll explore 4 different parallel programming paradigms (OpenMP, OpenACC, CUDA Fortran and MPI) and how to use them for high-performance computing.

The accompanying video lectures for this course can be found here: Modern Fortran.

This free course is aimed at graduate students and researchers. No prior knowledge about Fortran is required, though familiarity with basic programming concepts is recommended.

What You’ll Learn

The course begins with an introduction to the syntax and semantics of Fortran, as the way code is written in this language is different from C and other languages that are inspired by C. You will learn the anatomy of a standard Fortran program, including topics such as variables, control flow constructs, data structures, procedures, and modules.

Next, you will explore best practices for writing clean and modern Fortran code. You will not only learn how to write programs that are easy to read, but also how to write programs that are easy to modify, as other people may want to use your code in the future.

Parallelism is important in scientific computing because almost all computers today are multicore. You’ll learn how to write programs that can take advantage of multiple cores and accelerators by studying advanced parallel programming techniques from several paradigms like OpenMP, OpenACC, CUDA Fortran, and MPI.

How You’ll Learn

This course is 4 days long with each day taking 3 hours of study. You’ll learn by reading the lecture articles or watching the video presentations. You’ll also be given coding exercises to help you put into practice what you’ve learned.

Institution West Virginia University
Instructor Guillermo Avendano-Franco
Level Intermediate
Workload 12 hours
Certificate None

Fun Facts

  • The Carpentries is an organization that teaches foundational coding and data science skills to researchers worldwide through interactive workshops.
  • This course is an open-source project of The Carpentries. You can find ways to contribute here.

If you’re interested in this course, you can find more information about the course and how to enroll here.

3. Introduction to Fortran (Texas Agricultural and Mechanical University)

My third pick for the best Fortran course is Introduction to Fortran by Texas Agricultural and Mechanical University.

If you’re a student or a researcher who’ll be dabbling in Fortran soon for numerical computation and scientific programming, this short course is for you.

This is a free basic to intermediate level course using Fortran 90 covering basic language elements and concepts, intrinsic functions and usage, programming best practice, and relevant open-source tools. By the end, you’ll be given enough examples to make sense of the language and explore it on your own.

No programming experience required.

You can find the course website here.

What You’ll Learn

After installing Fortran onto your system, you’ll start the course by analyzing the structure of a typical program. You’ll look at variables and intrinsic data types, and learn how to implicitly or explicitly set types.

Next, you’ll look at control constructs which allow you to change the sequential execution of your program. The constructs you’ll look at specifically are conditionals, switches, loops, and branches.

A Fortran program can consist of multiple sub-units, some of them being subroutines, functions, and modules. They are helpful for avoiding code repetition, and you’ll learn the difference between them and how to use them.

Arrays allow the program to hold a list of values that can be accessed and modified. Arrays can have up to seven dimensions and can act like matrices. You’ll learn how to use arrays especially when you begin reading from users or files and writing to files. Finally, you’ll end the course with a hands-on demonstration of the language.

How You’ll Learn

This course is 2 hours long. You’ll learn by watching the lecture videos and trying out the exercises in the slides.

Institution Texas Agricultural and Mechanical University
Provider YouTube
Instructor Abishek Gopal
Level Beginner–Intermediate
Workload 2 hours
Certificate None

Fun Facts

  • Abishek Gopal is an assistant research scientist with a background in high-performance computing, applied fluid dynamics, and turbulent flows. Currently, he is working on developing the Regional Community Earth System Model (R-CESM) and optimizing the Community Earth System Model (CESM) for various high-performance computing architectures.

If you’re interested in this course, you can find more information about the course and how to enroll here.

4. Introduction to Fortran (LinkedIn Learning)

LinkedIn Learning’s Introduction to Fortran course with free trial covers the foundational concepts of programming using Fortran 90 for doing lots of calculations fast. By the end, you’ll cover the basics of programming, variables, logic and control flow, and procedures and modules which culminates in a finished product — a To Do application.

No programming experience is required to take this course.

What You’ll Learn

After setting up Fortran on your preferred OS, you’ll be given a walkthrough of the structure of a Fortran program. Then, you’ll learn how to fix mistakes that you might in your code by consulting with the compiler error messages to see what’s wrong — a handy skill to have — as well as basics like variables, named constants, expressions, constructs, and arrays. You’ll not only learn how to use them but also when to use them to ensure optimal efficiency.

Interactivity allows the user to give inputs to the compiler, rather than having to change the values in the program manually. You’ll learn how to get input from both users and files, before seeing the way code can be organized and packaged into neat modules. The course concludes with a discussion on some of the more advanced features of Fortran and some common patterns that you can use to handle different classes of problems.

How You’ll Learn

This course is 2–3 hours long. You’ll learn by watching the lecture videos and following along with the instructor as he codes. The course also provides exercises and code examples for you to practice your coding skills.

Provider LinkedIn Learning
Instructor Brad Richardson
Level Beginner
Workload 2–3 hours
Enrollments 11K
Rating 4.7 / 5.0 (38)
Certificate Paid

Fun Facts

  • Brad Richardson is a Nuclear Engineer currently working as a consultant for research software engineers. He has been writing Fortran for over a decade and has worked on several open-source libraries and tools.
  • He is also an instructor on Udemy with two published courses.

If you’re interested in this course, you can find more information about the course and how to enroll here.

5. Fortran Video Tutorials (Cyprien Rusu)

Fortran Video Tutorials is a set of free instructional videos specifically for Fortran 95 on Ubuntu Linux. Experienced programmers will quickly learn all they need to know to quickly get up and running with Fortran.

Programming experience is required to take this course.

What You’ll Learn

Compilation and launching the script will be the first topic of the video where you’ll write a quick “Hello, World!” script to dip your toes in. Then, you’ll quickly learn about variables and how mathematics is performed in Fortran, before discovering the control constructs like conditionals and loops.

Opening and writing files will also be discussed, specifically generating tabular data into a text file. From then on, you’ll learn how to handle precision, formatting the printing of data, and subroutines to perform repetitive operations.

How You’ll Learn

This course is 2 hours long. You’ll learn by watching the course videos and following along with the instructor as he codes.

Channel Cyprien Rusu
Provider YouTube
Instructor Cyprien Rusu
Level Intermediate
Workload 2 hours
Views 79K
Likes 822
Certificate None

Fun Facts

  • Cyprien Rusu is a French engineer working in Simulation. He’s passionate about photography, iOS development and language learning.
  • His YouTube channel covers many engineering and physics related topics.

If you’re interested in this course, you can find more information about the course and how to enroll here.

6. Modern Fortran Programming for Chemists and Physicists (University of Helsinki)

Fortran is one of the most widely used programming languages in scientific computing, and Modern Fortran Programming for Chemists and Physicists aims to make Fortran much more accessible.

This free course will cover the basics and some advanced features of Fortran 2008. By the end, you’ll have written several small and medium-size programs resembling coding needs encountered in chemistry and physics research.

Background in computer programming (in any language) is not required.

What You’ll Learn

You’ll begin this course by going through the basic syntax and constructs of the programming language, like program control, operators, modules and procedures, and arrays. With just these basic features, you can already begin writing useful scientific code.

Adding on to what you’ve learned, you’ll deal with reading files containing large datasets, transforming the data, and extracting the results into another file. You’ll also learn to differentiate between Fortran’s built-in and derived data types, as well as labeling procedures to help communicate its effects to potential readers.

Parallel programming is at the heart of high-performance computing. It can speed up code by a hundred-fold or even more. You’ll see how to run code on multiple cores simultaneously, before moving on to other language features like interoperability with other languages (like C). Finally, you’ll learn what the fuss is with object-oriented programming and follow the best practices for coding in Fortran.

How You’ll Learn

This course consists of 7 lectures. You’ll learn by going through the lecture slides, completing the programming assignments given, and reviewing the demo program shown.

Institution University of Helsinki
Instructor Pekka Manninen
Level Beginner
Workload N/A
Certificate None

Fun Facts

  • Pekka Manninen is a Program Director at CSC. He has a long experience in supercomputing and supercomputing infrastructures and has been leading and involved in several pan-European e-infrastructure initiatives over the course of years, including the LUMI supercomputer project. He holds a PhD in theoretical physics and has the title of docent at the University of Helsinki.

If you’re interested in this course, you can find more information about the course and how to enroll here.

7. Fortran Programming Tutorials (Fluidic Colours)

Fortran Programming Tutorials is a collection of free tutorials on Fortran programming teaching the fundamental concepts of the language.

Targeting science and engineering students beginning to learn programming, the course discusses the fundamental concepts of the language in this series, although experienced programmers can follow along as well.

You can find the GitHub repository for this course here.

What You’ll Learn

You’ll begin the course by coding a simple “Hello, World” program in Fortran to give you a taste of the language. Then, you’ll look at variables and data types, including implicit and explicit type casting, as well as explore the operators available in Fortran.

Moving on, you’ll learn how to read input from the user and make decisions about that input by using control flow structures like conditional statements or loops (and even nested ones). You’ll then learn the relationship between strings and arrays, and how to modify and print them. You can also read input from files and write to files to save any output from the program. You’ll see this in action when you plot data onto graphs.

Functions, subroutines, and procedures are related by saving you the hassle of rewriting the same code over and over again but are different in their own ways. You’ll learn when to use one over the other. The final part of the course demonstrates how you can perform linear algebra operations in Fortran.

How You’ll Learn

This course is 11 hours long. You’ll learn by watching the lecture videos and following along with the course instructor as he codes.

Channel Fluidic Colours
Provider YouTube
Instructor Arun Prasaad Gunasekaran
Level Beginner
Workload 11 hours
Views 203K
Likes 1K
Certificate None

Fun Facts

  • Fluidic Colours is a channel dedicated to teaching relevant programming tools and skills (like Fortran, Python, LaTeX and many more) that are handy for people in academia and research.
  • He also has an advanced course on Fortran Programming.

If you’re interested in this course, you can find more information about the course and how to enroll here.

8. Fortran for Physics (Discord Physics Seminar)

In this free introductory two-part course on Fortran for Physics, you’ll learn the basics of Fortran 95 needed to write simple programs, before learning how to implement complex algorithms, and in the process pick up advanced concepts like object-oriented programming.

No prior knowledge of programming is required to take this course.

What You’ll Learn

The course begins with an overview of the Fortran programming language, including the syntax, structure, data types, and loops. You’ll explore each of these concepts deeply and see when to use them. Additionally, you’ll learn the difference between subroutines, functions, and modules, and be able to write your own.

Then, you’ll be guided through an implementation of the Lanczos algorithm. To do this, you’ll make use of more advanced concepts like Object-Oriented Programming, plotting, managing packages, and utilizing CUDA cores.

How You’ll Learn

This course is 4–5 hours long. This course is a hands-on tutorial on Fortran, so you are expected to follow along. It is recommended to have a recent if not latest version of Fortran installed on your computer.

Channel Discord Physics Seminars
Provider YouTube
Instructor Slenderman
Level Beginner
Workload 4–5 hours
Certificate None

Fun Facts

If you’re interested in this course, you can find more information about the course and how to enroll here.

9. Beginning Fortran for Science and Engineering Students (Robert Spall)

Beginning Fortran for Science and Engineering Students teaches the basics of Fortran 90/95 programming. It is a paid short course that covers just enough of the necessary concepts (including DISLIN, a graphics/widget plotting package) needed for STEM students to write useful scientific computational code.

Previous programming experience would be helpful but is not absolutely necessary.

What You’ll Learn

The course covers the following topics:

  • Variables and data types
  • Control flow structures (conditionals and loops)
  • Input/Output (reading user input, files, formatting text)
  • Functions, subroutines, and modules
  • Timing code,
  • DSLIN,
  • Parallel programming with OpenMP

How You’ll Learn

This course is 2–3 hours long. All Fortran codes used as examples are downloadable, as are the course notes.

Provider Udemy
Instructor Robert Spall
Level Beginner
Workload 2–3 hours
Enrollments 1K
Rating 4.0 / 5.0 (163)
Certificate Paid

Fun Facts

  • Robert Spall is a professor emeritus at Utah State University. He has 28 years of teaching experience and 6 years as a department head. His research interests include vortex breakdown, aerodynamics of sailboat sails, buoyancy-driven flows, and environmental flows.

If you’re interested in this course, you can find more information about the course and how to enroll here.

Elham Nazif Profile Image

Elham Nazif

Part-time content writer, full-time computer science student.

Comments 0

Leave a reply

Your email address will not be published. All comments go through moderation, so your comment won't display immediately.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Browse our catalog

Discover thousands of free online courses from top universities around the world like MIT, Stanford, and Harvard.

Browse all subjects