Hero roadmap: the whole course on one page
| All 50 lessons | |
| How to practice | |
| Two capstones, revisited | |
| Where to go next |
All 50 lessons
This page maps the full arc of the course in one place, from first compiles to two finished capstones. Use it as a checklist and mark each lesson as you complete it.
Lessons 1 through 40 live on the Fortran course index, so the list below points there by number. Lessons 41 through 50 carry full links with exact titles.
Lessons 1 to 10
- Lesson 01: What is Fortran and where it runs
- Lesson 02: Install gfortran
- Lesson 03: Your first program
- Lesson 04: Program structure
- Lesson 05: Types: integer real complex logical character
- Lesson 06: Kind parameters
- Lesson 07: Operators
- Lesson 08: Conditions
- Lesson 09: DO loops
- Lesson 10: Arrays
Lessons 11 to 20
- Lesson 11: Array sections
- Lesson 12: Character strings
- Lesson 13: Formatted IO
- Lesson 14: Files
- Lesson 15: Subroutines and functions
- Lesson 16: Modules
- Lesson 17: USE with ONLY
- Lesson 18: INTENT
- Lesson 19: OPTIONAL and PRESENT
- Lesson 20: Explicit interfaces
Lessons 21 to 30
- Lesson 21: Derived types
- Lesson 22: Type-bound procedures
- Lesson 23: Object orientation
- Lesson 24: Operator overloading
- Lesson 25: Finalization
- Lesson 26: Allocatable arrays
- Lesson 27: Pointers in Fortran
- Lesson 28: DO CONCURRENT
- Lesson 29: Coarrays
- Lesson 30: OpenMP basics
Lessons 31 to 40
- Lesson 31: Namelists
- Lesson 32: IEEE arithmetic
- Lesson 33: Intrinsic matrix math
- Lesson 34: Random numbers
- Lesson 35: String tools
- Lesson 36: Command-line arguments
- Lesson 37: Environment variables
- Lesson 38: error stop
- Lesson 39: Testing
- Lesson 40: Build with gfortran and make
Lessons 41 to 50
- Lesson 41: Debugging
- Lesson 42: C interoperability
- Lesson 43: From fixed form to free form
- Lesson 44: Numeric models
- Lesson 45: Performance
- Lesson 46: Modern Fortran tour: 2008, 2018, 2023
- Lesson 47: Capstone: stats tool
- Lesson 48: Capstone: 1D heat equation
- Lesson 49: Style guide
- Lesson 50: Hero roadmap: the whole course on one page
How to practice
Type every snippet by hand instead of copying it. Short programs with one new idea per file build skill faster than long reading sessions.
After each lesson, break the example once and read the error. Fixing a compiler message teaches more than ten clean builds.
program practice_loop
implicit none
integer :: i
do i = 1, 3
print *, "lesson =", i
end do
end program practice_loop
Two capstones, revisited
The course ends with two builds: a stats tool and a 1D heat solver. Each one reuses files and modules and tests from earlier lessons.
Rebuild both from memory in order: stats first, then heat. The second pass always runs faster and shows which ideas stuck.
program capstone_order
implicit none
print *, "first stats"
print *, "then heat"
end program capstone_order
Where to go next
Strong next steps are parallel loops, C libraries, and a first published model. Each direction builds directly on the capstones above.
Refresh C for interop before connecting foreign libraries. A solid view of C types and strings makes every later integration easier.
Next: Fortran course
Article author: Arthur Isaev