554027 Modern Fortran Programming for Chemists and Physicists (2 cr)

All research scientists of today benefit from being able to do computer programming; ranging from writing simple utilities for data analysis to full-blown simulation software. Fortran is, despite of its very long history, still one of the most widely used programming languages in scientific computing. It is well-suited for numerical computing because of its performance, simple syntax and inherent treatment of standard mathematical objects, especially multi-dimensional arrays.

This course will cover the basics and some more advanced features of the most recent version of the Fortran programming language, the Fortran 2008 standard. The course can be used as a first course in computer programming (for those who have managed to bypass learning how to code) or to revive long-forgotten programming skills. On the other hand, attendees already fluent with some other programming language will learn yet another language syntax, and those knowing some older Fortran standard will update their skills to the modern features of the language. The following topics will be covered:

During the course, the attendees will be writing several small and medium-size Fortran programs resembling coding needs encountered in chemistry and physics research.

Trainer: Pekka Manninen, Ph.D., docent (email: manninen@cray.com, tel. 040 3502220)

Lectures: The course consists of 14 hours of face-to-face learning sessions. Lectures in Period III on Mondays from 2.15 pm to 4.00 pm (Jan 13 - Feb 24, 2014). An exception: the lecture on Feb 3 from 3.15 pm to 5.00 pm.

Room: Computer classroom D211, Physicum building, Kumpula campus.

Credits: 2 ECTS. A programming project work is required for the credits.

Literature: Metcalf, Reid, Cohen: Modern Fortran Explained (Oxford University Press, 2011); Haataja, Rahola, Ruokolainen: Fortran 95/2003 4th ed. (CSC, 2007) (pdf version freely available). Lecture notes and other materials will be available online.

Language: English if necessary; Finnish otherwise.

Prerequisites: Some ability to maneuver in a Unix/Linux environment. Some background in computer programming (in any language) will be beneficial but not mandatory.

Miscellaneous: Note that the features of the most recent Fortran standard (2008) are not fully available in any other Fortran compiler than Cray Fortran Compiler. This is an issue mostly in case of the coarrays lecture and the related programming assignment. You can access the Cray compiler on CSC's Cray XC30 service Sisu. Please obtain an account (free of charge for academics) to the system unless you have one already.


Lecture notes