10 Best Fortran Courses for Beginners in 2024
From astrophysics and fluid dynamics to nuclear physics and weather modeling, write efficient numerical algorithms with the best Fortran courses.
Quick Access:
- Beginner courses: Fortran for Scientific Computing, Introduction to Fortran Short Course, Fortran Programming for Chemists and Physicists, Fortran Programming Tutorials, Fortran for Physics
- Some programming experience recommended: Modern Fortran, Fortran Video Tutorials, Beginning Fortran
- Courses with exercises: Introduction to Fortran, Exercism
Attention scientists and researchers! Tired of sluggish programming languages that can’t handle your research demands?
Discover Fortran, the high-performance language designed for scientific and engineering applications. With a long, and I mean long, history of use in these fields and the ability to efficiently utilize every core and thread on supercomputers, Fortran has likely played a role in some of the most impressive scientific simulations you’ve seen — from stunning renderings of blackholes to forecasting next week’s weather.
So, are you hooked by my sales pitch? But I’m not selling much, though, as nearly all of the best Fortran courses I’ve found are free, free to audit, or have free trials. Read on to find out!
Click on the shortcuts for more details:
Here are my top picks. Click on one to skip to the course details:
What is Fortran?
Fortran, short for FORmula TRANslation, is the oldest high-level programming language that remains in use today. Created in the 1950s by an IBM research team headed by John Backus (Yes, the same Backus in BNF), Fortran revolutionized scientific and engineering computing. It continues to be a dominant language in these fields, with its enduring influence on modern scientific programming.
There’s a common misconception that Fortran is a dead language — far from it! At least according to IEEE Spectrum, which places Fortran over Julia, Clojure, and Elixir for wide-spread use. Fortran is constantly evolving to meet the changing needs of cutting-edge research, with Fortran 2023 having been just released, though Fortran 90, 95, and 2008, are still the most used. Thus despite its age, Fortran remains a popular language for high-performance computing (HPC) and is widely used in fields such as weather modeling, materials science, molecular dynamics, and computational physics.
Fortran continues to be relied upon by national laboratories, universities, research institutes (especially in astrophysics), aerospace and defense companies, and government agencies for their scientific work. Additionally, the language is experiencing a resurgence in open-source activity, with a huge vibrant scientific community backing it. Learning Fortran can be a valuable skill for anyone interested in scientific and engineering research, opening up diverse career opportunities and enabling individuals to contribute to the advancement of scientific and engineering knowledge.
Courses Overview
- Around 1.4K people are following the Fortran subject 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 most of the courses.
Best Overall Free Course for Researchers (PRACE & VSC)
You can access Fortran for Scientific Computing for free for 35 days or pay for extended access and a certificate. This course teaches the basics of the Fortran programming language, with a focus on high-performance scientific computing. By the end, 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 course introductory video. It’s pretty funny!)
What you’ll learn in this course:
- Setup development environment
- Learn Fortran data types, including complex numbers
- Understand conditional and iteration statements
- Explore procedures for writing reusable code
- Learn basic input and output, and working with text files
- Work with arrays for scientific computing
- Introduction to Object-Oriented Programming for modeling real-world data
- Advanced topics: modules, interfaces, dynamic memory, pointers, and type-bound procedures
- Conclude with parallel programming for multiple processors
- Discuss software engineering and performance aspects for efficiency
- Cover debugging and testing for accuracy
- Learn best practices for writing high-quality Fortran applications
- Learn by watching lecture videos, participating in the discussion forum with fellow students, and completing coding exercises.
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.
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 | 1.6K |
Rating | 4.8 / 5.0 (12) |
Certificate | Paid |
Best Free Up-to-Date Parallel Programming Course (West Virginia University)
With 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.
This course includes:
- Introduction to Fortran syntax and semantics
- Anatomy of a standard Fortran program
- Variables, control flow constructs, data structures, procedures, and modules
- Best practices for writing clean and modern Fortran code
- Writing programs that are easy to read and modify
- Understanding the importance of parallelism in scientific computing
- Advanced parallel programming techniques
- Paradigms including OpenMP, OpenACC, CUDA Fortran, and MPI
- Learn to write programs that can utilize multiple cores and accelerators
- Course format is 4 days long with each day taking 3 hours of study. Learn by reading the lecture articles or watching the video presentations and doing coding exercises.
This course is an open-source project of The Carpentries, that teaches foundational coding and data science skills to researchers worldwide through interactive workshops. You can find ways to contribute here.
Institution | West Virginia University |
Instructor | Guillermo Avendano-Franco |
Level | Intermediate |
Workload | 12 hours |
Certificate | Not available |
Best Free Short, Hands-on Introductory Course (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 Introduction to Fortran course is for you.
This is a free beginner 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.
In this course:
- Install Fortran onto your system
- Analyze the structure of a typical program
- Study variables and intrinsic data types
- Learn about implicit and explicit type setting
- Explore control constructs for changing program execution
- Cover conditionals, switches, loops, and branches
- Understand multiple sub-units in a Fortran program; subroutines, functions, and modules
- Avoid code repetition using sub-units
- Explore arrays for holding lists of values with up to seven dimensions
- Utilize arrays for reading from users or files and writing to files
- Conclude the course with a hands-on demonstration
- Learn through lecture videos and exercises in the slides.
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.
Institution | Texas Agricultural and Mechanical University |
Provider | YouTube |
Instructor | Abishek Gopal |
Level | Beginner–Intermediate |
Workload | 2-3 hours |
Certificate | Not available |
Best Free Short Hands-on Course with Exercises (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:
- Set up Fortran on preferred OS
- Walkthrough of Fortran program structure
- Learn to fix mistakes using compiler error messages
- Cover basics: variables, named constants, expressions, constructs, and arrays
- Understand optimal usage for efficiency
- Explore interactivity for user inputs
- Learn to get input from users and files
- Organize code into modules
- Discussion on advanced features and common patterns in Fortran
- Learn through lecture videos and instructor-led coding
- Practice coding skills with exercises and code examples provided.
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.
Provider | LinkedIn Learning |
Instructor | Brad Richardson |
Level | Beginner |
Workload | 2–3 hours |
Enrollments | 24.8K |
Rating | 4.7 / 5.0 (40) |
Certificate | Paid |
Best Free Course for Linux Users (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 in this course:
- Compilation and script launching
- Write a “Hello, World!” script
- Variables and mathematics in Fortran
- Discover control constructs: conditionals and loops
- Discuss opening and writing files, including generating tabular data
- Handle precision and formatting for printing data
- Explore subroutines for repetitive operations
- Learn through course videos and instructor-led coding demonstrations.
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.
Channel | Cyprien Rusu |
Provider | YouTube |
Instructor | Cyprien Rusu |
Level | Intermediate |
Workload | 2 hours |
Views | 84K |
Likes | 1K |
Certificate | Not available |
Best Free Slide-Based Course 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.
No background in computer programming (in any language) is required.
In this course:
- Cover basic syntax and constructs of the programming language
- Learn about program control, operators, modules, procedures, and arrays
- Begin writing useful scientific code with basic features
- Deal with reading files containing large datasets
- Transform data and extract results into another file
- Differentiate between built-in and derived data types
- Label procedures to communicate effects to potential readers
- Explore parallel programming for high-performance computing
- Learn to run code on multiple cores simultaneously
- Explore interoperability with other languages such as C
- Understand object-oriented programming in Fortran
- Follow best practices for coding in Fortran
- Learn through lecture slides, programming assignments, and demo programs.
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.
Institution | University of Helsinki |
Instructor | Pekka Manninen |
Level | Beginner |
Workload | N/A |
Certificate | Not available |
Best Free Video-Based Course on Fortran 90 (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.
This course will teach you how to:
- Code a simple “Hello, World” program in Fortran
- Learn about variables and data types
- Explore implicit and explicit type casting
- Study available operators in Fortran
- Read input from the user
- Make decisions using control flow structures
- Understand the relationship between strings and arrays
- Modify and print strings and arrays
- Read input from files and write to files
- Plot data onto graphs
- Explore functions, subroutines, and procedures
- Learn when to use each
- Perform linear algebra operations in Fortran
- Learn through lecture videos and instructor-led coding demonstrations
Fluidic Colours is a channel dedicated to teaching relevant programming tools and skills (Fortran, Python, LaTeX and many more) that are handy for people in academia and research. He also has an advanced course on Fortran Programming.
Channel | Fluidic Colours |
Provider | YouTube |
Instructor | Arun Prasaad Gunasekaran |
Level | Beginner |
Workload | 11 hours |
Views | 590K |
Likes | 1K |
Certificate | Not available |
Best Free Hands-on Course on Fortran 95 (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. It is recommended to have a recent if not latest version of Fortran installed on your computer.
This course teaches:
- Overview of Fortran programming language
- Cover syntax, structure, data types, and loops
- Explore concepts deeply and learn when to use them
- Understand the difference between subroutines, functions, and modules
- Learn to write your own subroutines, functions, and modules
- Implement the Lanczos algorithm
- Utilize advanced concepts like Object-Oriented Programming
- Learn plotting, managing packages, and utilizing CUDA cores
You can find the Physics Discord server here. They occasionally host talks and seminars from esteemed physicists and researchers.
Channel | Discord Physics Seminars |
Provider | YouTube |
Instructor | Slenderman |
Level | Beginner |
Workload | 4–5 hours |
Certificate | Not Available |
Best Course on Fortran Applications (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. All Fortran codes used as examples are downloadable, as are the course notes.
Previous programming experience would be helpful but is not absolutely necessary.
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.
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.
Provider | Udemy |
Instructor | Robert Spall |
Level | Beginner |
Workload | 2–3 hours |
Enrollments | 1K |
Rating | 4.0 / 5.0 (163) |
Certificate | Paid |
Best Free Programming Exercise Platform with Personal Mentoring for all levels (Exercism)
Exercism is a free online coding platform that provides interesting and unique programming exercises of various difficulty levels. As learning a skill is all about practice, doing exercises on Exercism is an excellent way to practice your Fortran skills.
When you have solved and submitted an exercise, you’ll receive automated feedback on your code. If you find an exercise particularly challenging, you can request a mentor to look over your code and give you personalized advice on how to improve it, which I think is the best feature about this website! 24 people have contributed towards the Fortran syllabus and exercises, with over 60 mentors available at the time of writing.
What you’ll learn:
- Exercism contains 30+ Fortran exercises of three difficulties
- Easy: “Hello World”, acronyms and pangrams, converting numbers to strings, Collatz Conjecture
- Medium: working with DNA and RNA sequences, natural numbers and prime numbers, triangles, chess and dice problems, analyzing allergy scores
- Hard: working with matrices, perfect numbers, rational numbers, analyzing a list of high scores, calculating ages of planets based on their orbital periods.
Provider | Exercism |
Level | All levels |
Workload | N/A |
Enrollments | 1.4K |
Cost | Free |
Certificate | Not available |
Why You Should Trust Us
Class Central, a Tripadvisor for online education, has helped 60 million learners find their next course. We’ve been combing through online education for more than a decade to aggregate a catalog of 200,000 online courses and 200,000+ reviews written by our users. And we’re online learners ourselves: combined, the Class Central team has completed over 400 online courses, including online degrees.
Best Courses Guide (BCG) Methodology
I (Elham) built this ranking following the now tried-and-tested methodology used in previous BCGs (you can find them all here). It involves a three-step process:
- Research: I started by leveraging Class Central’s database and the internet. Then, I made a preliminary selection of Fortran courses by rating, reviews, and bookmarks.
- 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.
- Select: Well-made courses were picked if they presented valuable and engaging content. Selection criteria includes comprehensive curriculum, affordability, release date, ratings and enrollments.
Ultimately, I used a combination of data and my own judgment to make these picks. I’m confident these recommendations will be a reliable way to learn Fortran.
Pat revised the research and the latest version of this article.