# Recommended Fortran tutorials?

**URL:** <https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859>\
**Category:** Uncategorized\
**Created:** [March 18, 2021, 3:07pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859 "2021-03-18T15:07:12Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [March 18, 2021, 3:07pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/1 "2021-03-18T15:07:12Z")

</div>

Participants in the GSoC and others new to Fortran would like a good tutorial to get started. There are many listed at the [Fortran Wiki](http://fortranwiki.org/fortran/show/Tutorials). Skimming the first few listed there, I think

- [Introduction to Fortran](https://qc2-teaching.readthedocs.io/en/latest/programming.html) (2020) from the Grimme group

is good but short. Longer and also good is

- [Modern Fortran Tutorial](https://masuday.github.io/fortran_tutorial/index.html) (February 2020) by Yutaka Masuda.

What other tutorials would experienced Fortranners recommend?

---

<div class="post-metadata">

**Author:** ![awvwgk](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/awvwgk/32/154_2.png) [@awvwgk](https://fortran-lang.discourse.group/u/awvwgk)\
**Post date:** [March 18, 2021, 4:51pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/2 "2021-03-18T16:51:23Z")

</div>

Thanks for recommending our introduction to Fortran, I’m happy you found it useful.

I’m going to teach a six week Fortran course starting next month based on this material. Until then some updates to the material can be expected, especially with regard to using _fpm_. Also, feedback is always very welcome.

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [March 18, 2021, 8:44pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/4 "2021-03-18T20:44:31Z")

</div>

There is a online book (401 pages) by Victor Eijkhout, [Introduction to Scientific Programming in C++/Fortran 2003](https://web.corral.tacc.utexas.edu/CompEdu/pdf/isp/EijkhoutIntroSciProgramming-book.pdf) which discusses Fortran after C++, pointing out differences. The author also makes available a book [Introduction to High Performance Scientific Computing](https://pages.tacc.utexas.edu/~eijkhout/istc/istc.html).

---

<div class="post-metadata">

**Author:** ![rwmsu](https://avatars.discourse-cdn.com/v4/letter/r/48db29/32.png) [@rwmsu](https://fortran-lang.discourse.group/u/rwmsu)\
**Post date:** [March 18, 2021, 9:12pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/5 "2021-03-18T21:12:25Z")

</div>

Another good introductory online book is Ed Jorgenson’s  
Introduction to Programming using Fortran 95/2003/2008

[http://www.egr.unlv.edu/~ed/fortran.html](http://www.egr.unlv.edu/~ed/fortran.html)

The NASA SIVO Seminar Series on the Fortran 2003 Standard by  
Tom Clune and associates also has some useful info about Fortran 2003  
features circa 2008

[https://modelingguru.nasa.gov/docs/DOC-1375/version/20](https://modelingguru.nasa.gov/docs/DOC-1375/version/20)

---

<div class="post-metadata">

**Author:** ![vmagnin](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/vmagnin/32/28_2.png) [@vmagnin](https://fortran-lang.discourse.group/u/vmagnin)\
**Post date:** [February 7, 2023, 3:15pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/6 "2023-02-07T15:15:16Z")

</div>

> [@Beliavsky](#):
>
> There is a online book (401 pages) by Victor Eijkhout, [Introduction to Scientific Programming in C++/Fortran 2003](https://web.corral.tacc.utexas.edu/CompEdu/pdf/isp/EijkhoutIntroSciProgramming-book.pdf) which discusses Fortran after C++, pointing out differences.

The latest version is now entitled [Introduction to Scientific Programming in C++17/Fortran2008](https://web.corral.tacc.utexas.edu/CompEdu/pdf/isp/EijkhoutIntroSciProgramming-book.pdf)

And there are now 4 books (freely available PDFs):  
[https://theartofhpc.com/](https://theartofhpc.com/)

- The Science of Computing - The Art of High Performance Computing, volume 1
- Parallel Programming in MPI and OpenMP - The Art of HPC, volume 2
- Introduction to Scientific Programming in C++17/Fortran2008 - The Art of HPC, volume 3
- Tutorials for High Performance Scientific Computing - The Art of HPC, volume 4

---

<div class="post-metadata">

**Author:** ![Aurelius\_Nero](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@Aurelius\_Nero](https://fortran-lang.discourse.group/u/Aurelius_Nero)\
**Post date:** [February 7, 2023, 6:14pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/7 "2023-02-07T18:14:55Z")

</div>

How is this course going to be taught ? Will the lectures be accessible online ?  
If so, send me a link so I can share it on the Discord.

---

<div class="post-metadata">

**Author:** ![awvwgk](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/awvwgk/32/154_2.png) [@awvwgk](https://fortran-lang.discourse.group/u/awvwgk)\
**Post date:** [February 7, 2023, 7:06pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/8 "2023-02-07T19:06:31Z")

</div>

> [@Aurelius\_Nero](#):
>
> How is this course going to be taught ? Will the lectures be accessible online ?

You can find the course material here:

> **[GitHub - grimme-lab/qc2-teaching: Resources for teaching quantum chemistry...](https://github.com/grimme-lab/qc2-teaching)**
>
> Resources for teaching quantum chemistry courses in Bonn - GitHub - grimme-lab/qc2-teaching: Resources for teaching quantum chemistry courses in Bonn

The course is offered for master students in chemistry at the university of Bonn every summer, but also possible to work through as a self-study.

---

<div class="post-metadata">

**Author:** ![Aurelius\_Nero](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@Aurelius\_Nero](https://fortran-lang.discourse.group/u/Aurelius_Nero)\
**Post date:** [February 7, 2023, 7:10pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/9 "2023-02-07T19:10:02Z")

</div>

Thank you

---

<div class="post-metadata">

**Author:** ![cval26](https://avatars.discourse-cdn.com/v4/letter/c/bcef8e/32.png) [@cval26](https://fortran-lang.discourse.group/u/cval26)\
**Post date:** [February 11, 2023, 9:14pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/10 "2023-02-11T21:14:00Z")

</div>

I’d recommend the lecture notes of David Apsley from the Univ. of Manchester (link below). They’re divided in introductory and advanced, and cover many topics concisely but clearly.

They’re very good for mastering the fundamentals and then moving on to more specialized topics as desired.

[https://personalpages.manchester.ac.uk/staff/david.d.apsley/lectures/fortran/index.htm](https://personalpages.manchester.ac.uk/staff/david.d.apsley/lectures/fortran/index.htm)

---

<div class="post-metadata">

**Author:** ![vmagnin](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/vmagnin/32/28_2.png) [@vmagnin](https://fortran-lang.discourse.group/u/vmagnin)\
**Post date:** [February 13, 2023, 10:04am UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/11 "2023-02-13T10:04:32Z")

</div>

I have found this site which offers Fortran tutorials:

> **[Over 1500 tutorials in 11 languages](https://learntutorials.net/)**
>
> Tutorial by example in: de, es, fr, hi, it, nl, pl, ru, sv, ja, ko

I have not tested all languages. And I suspect it is automatic translation, but very readable.

> **[Fortran Tutoriel =\> Démarrer avec Fortran](https://learntutorials.net/fr/fortran/topic/904/demarrer-avec-fortran)**
>
> Learn fortran - Démarrer avec Fortran

---

<div class="post-metadata">

**Author:** ![ricriv](https://avatars.discourse-cdn.com/v4/letter/r/f17d59/32.png) [@ricriv](https://fortran-lang.discourse.group/u/ricriv)\
**Post date:** [February 13, 2023, 1:14pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/12 "2023-02-13T13:14:02Z")

</div>

Maybe it’s a little outdated, but my go-to reference is [MTU - Fortran 90 Tutorial](https://pages.mtu.edu/~shene/COURSES/cs201/NOTES/fortran.html).

---

<div class="post-metadata">

**Author:** ![hkvzjal](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/hkvzjal/32/3055_2.png) [@hkvzjal](https://fortran-lang.discourse.group/u/hkvzjal)\
**Post date:** [February 13, 2023, 1:37pm UTC](https://fortran-lang.discourse.group/t/recommended-fortran-tutorials/859/13 "2023-02-13T13:37:01Z")

</div>

The one that got me started with Modern Fortran was this one [https://wiki.uiowa.edu/download/attachments/109785161/fortran-novella-Holcomb.pdf](https://wiki.uiowa.edu/download/attachments/109785161/fortran-novella-Holcomb.pdf) it is referenced here 👍

> [@Beliavsky](#):
>
> There are many listed at the [Fortran Wiki](http://fortranwiki.org/fortran/show/Tutorials)
