Literature for Modern Fortran Lectures

I already mentioned it in some comments:
I am going to take over the Fortran lecture at my local university (Fachhochschule Aachen, Germany).

It will be my first own lecture and since I’m 25 years old, I would consider me to be rather inexperienced, therefore I could use some help!

First of all some more details about the course:

  • It was and will be a so called “Blockkurs” (block course) which means the lessons will not be stretched over a whole semester. Instead it will be a compact course that takes approx. 2-3 weeks with 4-5 h each day.
  • The course consisted of lectures and hands-on exercises (~50/50)
  • It was a German course and I tend to keep it in German at the beginning, because I’m way more confident in my native language
  • I can overtake the lecture notes and slides, which are basically the same! They “grew” from 199x and I definitely want to start over with new lecture notes, but since I don’t have that much time during my work (< 1 day/week), I plan to do it step by step and use the old lecture notes as fallback.

My ideas for the new lecture notes:

  • I want to do it in LaTeX
  • I want them to be “open source”, which means people can collaborate and/or use the slides for their own lectures
  • I want a modular structure to be able to easily adopt the lectures for specific target audience. E.g. there should be one or a few modules for the basics, and then there are exchangeable advanced modules which build on top of them, e.g. parallel programming. Maybe these modules dependencies can build a “Fortran skill tree”.

Now to my first question (there will be more in the future, for sure):
To build the new lecture notes, I need literature for inspiration for the structure of the course and to be able to reference them.

I know there are some authors in this community, which is perfect!
I think I want to buy and read two or three books, depending on how much they overlap.
Which books would you suggest me to buy and in which order should I read them?

Any suggestions for the course in general are welcome, too!

8 Likes

The first one is very pedagogical, the second the best reference book, the third brings practical information for scientists.

I also like this one for style advices:

More books here: Learn Fortran - Fortran Programming Language

6 Likes

This sums up to more or less 60 hours, equivalent to a typical 1-semester course. I have been teaching Fortran for (too) many years within such a 60h (30/30 lecture/exercise lab) and my experience is such that while it was more than enough for a Fortran 77 course back in 1990s, it is definitely too short to put the whole Modern Fortran. So you’ll have to carefully choose what to include and what to omit.

2 Likes

You could talk about Fortran Package Manager

2 Likes

And there is a German translation of the doc: Fortran-Paketmanager (fpm) — Fortran Package Manager

3 Likes

I will! We had a discussion about it a few days ago. I think this will be the first thing the students will learn in practice.

1 Like

There is also
Chapman, S. J. . 2018. Fortran for Scientists and Engineers . 4th ed. New York. McGraw-Hill Education
with plethora of code samples (downloadable from the book page), Good programming practice and Programming pitfalls boxes, chapter summaries, exercises, quizzes. According to preface, the book is accompanied by an Instructor’s Manual, containing the solutions to all end-of-chapter exercises. I tried to find that Manual, to no success. Maybe you have to purchase the book as an instructor to get it.

5 Likes

For

The latex-github-collab template by Laurence @lkedward

2 Likes

Thank you very much for this one.
Maybe I have to overthink if LaTeX is still the best choice, because it would be very nice to have more options for the output format, e.g. html to host it on a website.
At least it might be very useful for other projects.

2 Likes

Maybe pandoc can help:

1 Like

The Fortran Wiki has lists of courses and tutorials. You mentioned that your course will be in German, at least to start. When your notes are ready could you please link to them at the Non-English Resources page, which is currently sparse?

3 Likes

When you have your materials prepared, I’d recommend submitting a paper to the Journal of Open Source Education to publicize it.

5 Likes

When you have your materials prepared, I’d recommend submitting a paper to the Journal of Open Source Education to publicize it.

Do you think they can accept a paper (in English) about educational material in German (or of course any other non-English language)? I have searched an answer in https://jose.theoj.org/about but found no clue.

1 Like

You can try to get the slides from hlrs Stuttgart. They have excellent courses

1 Like

There are lots of tutorials etc on the Web most in F95 though. Check

Tutorials in Fortran Wiki

Also, I found the material from the following two short courses at the
UK Archer center to be helpful

Along with the LRZ short course material at

https://doku.lrz.de/display/PUBLIC/Programming+with+Fortran

Edit

If I were asked to teach a Fortran class to undergraduates as a first programming language, I would probably chose Chapman’s book as the required text or primary reference. I think it’s structure, exercises, examples etc are more in line with a college course text than some of the other Fortran books mentioned which I consider excellent references for people that already know Fortran 77/90 and want to learn new features but not what I would use to teach undergraduates. Just my humble opinion.

3 Likes

I’m not sure. Would be worth asking though.

1 Like

+1

2 Likes

+1. If I remember correctly when I first post questions here, @FortranFan suggested me to read a Fortran book. Although I was slightly bothered at that time, I bought Chapman’s book which is a very comprehensive book which covered F2008 and some F2015. The only draw back is that it does not cover F2018. However even F2008 and some F2015 in many cases perhaps are more than enough.

My criterion is very simple, the book needs to cover modern Fortran and it has to be as thick as possible, LOL. Besides the content, I would like to talk about the quality of Chapman’s book itself. I did not buy the US version, I bought new soft cover international version on abebooks at around $40. To my great surprise, the quality of the international version is extremely good! The paper quality is super decent and the glue is super thick.

Definitely truly printed from McGraw Hill Education and can last perhaps forever, and way much better than those Amazon’ printed books (you know those printed at San Bernardino or Las Vegas, you know those books which are ‘print as needed’ which means they are printed after you ordered them ).

2 Likes

I forgot a very important piece of information:

When attending the course, the students have learned at least to program with Java, C/C++ and Python.
But it would be still good to have parts/modules in the lecture notes that cover basic programming skills in order to make them accessible for programming newbies.

2 Likes

I also should have added another LRZ link

https://doku.lrz.de/display/PUBLIC/PRACE+Course%3A+Advanced+Fortran+Topics

Looks like the material there does a good job of covering CAF.

4 Likes