Description:
Fortran is among the earliest high level programming languages and the first one to be standardized.
The specific features of the language and a widespread experience acquired in coding allow Fortran
compilers to build highly optimized executables. The major revisions of the standard (77/90/2003)
give the chance to improve more and more the code design, and this, along with the large number
of mathematical functions included and an extensive collections of highly tuned scientific packages,
make Fortran a good candidate in the area of numerical, scientific, engineering and technical
applications.
Fortran 90, the ISO standard replacing the previous 77 release, adds many innovations: from the derived types which may be defined by the user, to a specific syntax to handle dynamically allocated memory.
Fortran 2003 further enlarges the potentiality of the language by proposing (among other things) the support for object-oriented programming and a standard way to interoperate with C.
Nowadays, Fortran compilers are available for a very large amount of system facilities, from workstations to massively-parallel systems. In the last few years also a version of FORTRAN (named CUDA Fortran) for running on Nvidia GPUs was developed.
In the framework of this course, we will give an introduction to the most important commands of
Fortran 90/2003 standard up to the definition of derived types, classes, operator overloading, and interoperability with C.
Fortran 90/2003 standard up to the definition of derived types, classes, operator overloading, and interoperability with C.
Skills:
By the end of the course the student will be able to:
• understand the basic elements of the language (type, variable, operator, expression, function, statement, flow control construct)
• structure a program in code units (program, function, subroutine, and module)
• manage arrays and dynamic memory
• define and use derived types, operator overloading, and classes
• understand the compilation process, including the usage and creation of static and dynamical libraries and how to interface with C
• understand the basic elements of the language (type, variable, operator, expression, function, statement, flow control construct)
• structure a program in code units (program, function, subroutine, and module)
• manage arrays and dynamic memory
• define and use derived types, operator overloading, and classes
• understand the compilation process, including the usage and creation of static and dynamical libraries and how to interface with C
Target audience:
Programmers of scientific and technical computing, which may benefit from the knowledge and usage of the main features available in Fortran.
Pre-requisites:
Base informatics. Use of basic informatics tools: line commands, editors, ...
Experiences in Fortran 77 and knowledge of elements of procedural programming (variables, expressions, execution flow, functions) may be helpful.
Partecipants who do not have a suitable program development environment are invited to install a Fortran 2003 compiler and a programmer editor on their computer.
Freely available tools are gfortran compiler (“https://gcc.gnu.org/fortran/”) and Geany editor (“https://www.geany.org/”). Instructions for downloading and installing these tools can be found on the relevant internet sites.
Intended for:
Companies
Research Institutions
Universities
Area:
Science
Length:
4 dd
Provided as:
Ordinary Course