Beginning Fortran for Science and Engineering Students
4.0 (79 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
378 students enrolled

Beginning Fortran for Science and Engineering Students

When You Need to Crunch Numbers
4.0 (79 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
378 students enrolled
Created by Robert Spall
Last updated 5/2020
English [Auto]
Current price: $20.99 Original price: $29.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 2 hours on-demand video
  • 1 article
  • 30 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Students will learn the basics of Fortran programming with simple applications in the fields of science and engineering.
  • Must have access to a computer. DOS or Linux command line processing abilities would be useful but not absolutely necessary.
  • Previous experience with a programming language is also helpful but not necessary.

This course introduces beginning students to the basics of Fortran90/95 programming.  Out of necessity, it does not cover all aspects of the language, but enough so that students will be able to write useful code after completion.  The course  will be of particular value to those STEM students who would like to learn a language which has stood the test of time, and is widely used in the area of scientific computing.  Also useful for those who need to work with legacy Fortran code but have no Fortran background.  Previous programming experience would be helpful but is not absolutely necessary.  The course assumes some basic ability to use a command-line interface. I will also provide a short introduction to the use of DISLIN, a graphics/widget plotting package that you can implement in your Fortran codes.  All Fortran codes used as examples are downloadable, as are the course notes.

Who this course is for:
  • STEM students in high school and college wishing to learn the basics of Fortran programming.
  • Those interested in scientific computing.
Course content
Expand all 29 lectures 02:02:46
+ Basic Fortran
8 lectures 30:09

Shows where to download and install either the g95 or gfortran compiler, compiler options, etc.   

I have added a new Section 8, Lecture 29 for a quick demonstration on how to set up a simple environment to write, compile, and execute your codes. 

Section 8 will hold lectures developed after the initial release of the course (so that I do not have to record everything all over to keep lecture numbers consistent).

Preview 05:42

Understand the 3 basic "sections" of a Fortran code.

Preview 04:12

Understand  basic constant and variable types.

Data Types: Constants and Variables

Students should know how to perform basic input and output operations in their codes.

Basic Input/Output

Understand basic assignment statements and operator types.

Assignment Statements and Operators

Have an idea of the range of intrinsic (built-in) functions available in Fortran.

Intrinsic Functions

This is not a formal lecture but a web site where you can upload your Fortran source code for a free source code check which will provide you with compile-time diagnostics.  It is very useful.

Preview 00:00

Students should be able to follow the basic logic of this simple Fortran90/95 program.

Section 1 Example
In this assignment, you will use basic Fortran to compute the period of a pendulum given the acceleration of gravity, pendulum length, and angle of displacement.
Compute Period of Simple Pendulum
2 questions
Section 1 Quiz
5 questions
+ Branching Structures
3 lectures 12:55

Understand logical expressions.

Logical Expressions

Understand the use of if-then-else constructs.

IF-THEN-ELSE Constructs

Understand the case construct and its value as an option to if-then-else constructs.

CASE Construct
In an outdoor spray painting application, the paint can only be sprayed if the relative humidity is less than 85%, the wind speed is less than 3 meters/second, and the temperature is between 10 and 30 degrees C. We will write a program to determine if conditions are met.
Paint Spraying Considerations
1 question

Questions from Sections 1 and 2 material.

Section 2 Quiz
5 questions
+ Fortrtan Loops
3 lectures 11:03

Students should be able to successfully implement Counting DO loops into a program.

Counting DO Loops

Students should be able to effectively implement CYCLE and EXIT statements into a program.

CYCLE and EXIT Statements

Effectively implement WHILE loops into a program.

While Loops
Section 3 Quiz
5 questions
You are to write a code to estimate the value of Pi using a Monte Carlo technique.
Monte Carlo Code to Estimate Pi
1 question
A simple code to count simulated flips of a coin; heads or tails. You are to debug the code. That is, fix compiler errors, then make sure the code itself is correct, without mistakes (other than compiler errors).
Debug a Code
1 question
+ Arrays
3 lectures 11:55

Students should understand how to declare arrays in their programs.

Declaring Arrays

Students should know how and when to use arrays in their programs.

Using Arrays

Students should understand how to use intrinsic (built-in) functions for array operations.

Intrinsic Functions for Matrix Operations
We would like to compute the temperature distribution in an L-shaped domain using an iterative technique. Essentially a square region with the upper, right quadrant neglected.
Compute Temperature in L-Shaped Domain Using an Iterative Technique
1 question
Section 4 Quiz
7 questions
+ Input/Output
4 lectures 20:57

Students should be able to implement PRINT statements in their Fortran codes.

Formatted PRINT Statements

Students should understand basic usage of the FORMAT statement in WRITE operations.

Formatted WRITE Statements

Students should be able to write code to open data files and read/write to these files.

Formatted Input

Students should be able to read/write to unformatted files and understand the advantages and disadvantages of doing so.

Unformatted Files
You will open a user specified (from terminal) file, read in the data, and write out the data using formatted write statements.
Open and Read File Practice
1 question
Quiz 5
4 questions
+ Functions, Subroutines, and Modules
3 lectures 11:53

Students should be able to define and implement user defined Functions in their Fortran programs.


Students should understand how and why to use Subroutines in their Fortran programs.


Students should understand the use of Modules in their Fortran programs.

Write a program to compute the flight path of a baseball assuming no lift due to spin and no drag.
Compute Flight Path of Baseball
2 questions
Quiz 6
5 questions
I have attached a code for you to debug. The purpose of the code is to sum the elements of a 1 dimensional array using a subroutine.
Debug a Code
1 question
+ Miscellaneous Topics
4 lectures 19:18

Students should be able to implement timing routines into their Fortran codes.

Timing Your Code

This lecture is a brief introduction to the graphics capabilities of the DISLIN graphics package.

Preview 03:59

This is a simple example of using DISLIN to create line plots.

Preview 03:39

This is a more involved DISLIN graphics application coupled to a problem in fluid dynamics.  (Note the system will not allow the uploading of an executable, so you will need to install DISLIN and compile if you want to run towed_sphere.)

Preview 06:44
Tridiagonal matrices often arise in the solution of engineering problems by numerical methods. You will write a tridiagional matrix solver to solve a tridiagonal system of equations. (Note that the system of equations should be diagonally dominant.)
Tridiagonal Matrix Solver
1 question
+ New/Added Lectures
1 lecture 04:36

Develop, compile, debug, and execute a simple Fortran code using an editor and command line approach rather than a single integrated development environment (IDE).  If you begin with this approach, you will have a much better idea of what compiler options to use.

Preview 04:36