Fortran for Scientific Computing
Offered By: Partnership for Advanced Computing in Europe via FutureLearn
Course Description
Overview
Discover the power of Fortran for scientific programming
Fortran is a programming language that has been designed for scientific computing, allowing users to naturally express numerical problems.
On this course, you’ll discover how to express your numerical problems as a Fortran program, exploring the power and versatility of this popular programming language.
Learn how to use Fortran to solve numerical problems
Alongside computing experts at the Partnership for Advanced Computing in Europe (PRACE), you’ll get the chance to understand how to use modern programming paradigms to solve numerical problems.
This includes how to use object-oriented programming to design efficient and maintainable code, and being aware of potential correctness and performance pitfalls.
Explore data types and scientific computing libraries
Identify the various numerical data types in Fortran (including user-defined types), examine character data and logical data, and delve into functions and subroutines.
You’ll learn what control flow statements are, all about file I/O, and see how Fortran interacts with numerical libraries such as BLAS and LAPACK.
Learn how to program in Fortran
You’ll come away with solid foundational training in Fortran, able to understand Fortran best practices, and aware of what exactly makes it an excellent choice for high-performance computing.
This course is for anyone who wants to write code to solve numerical problems or perform simulations. The programmer can focus on the domain, rather than the technicalities of the programming language. This course is also very useful for those who want to extend or to maintain software projects that are developed using Fortran.
Syllabus
- Introduction and the basics of Fortran
- Welcome and introduction
- Set up and your first Fortran program
- Data types
- Conditional and iteration statements
- Procedures
- Basic input and output
- Next steps
- Beyond the basics
- Introduction to week 2
- Arrays
- Procedures in detail
- More control flow statements
- File I/O: formatting
- Next steps
- Object-oriented programming
- Introduction to week 3
- User defined types
- Modules & interfaces
- Dynamic memory & pointers
- Type-bound procedures and object-oriented programming
- Next steps
- Software engineering and performance aspects
- Introduction to week 4
- Best practices
- Performance
- I/O performance
- Next steps
- Scientific libraries and parallel computing
- Introduction to week 5
- Libraries for linear algebra
- HDF5
- Bits & pieces
- Parallel programming
- Next steps
Taught by
Geert Jan Bex
Related Courses
Mastering Programming with MATLABVanderbilt University via Coursera Advanced R Programming
Johns Hopkins University via Coursera Application Programming Fundamentals
LearnQuest via Coursera Aprendiendo Python con circuitos digitales
Coursera Project Network via Coursera Basics in computer vision
Higher School of Economics via Coursera