## Course Description

In this five-day hands-on course students learn how to read, write, and debug complex Fortan programs.

## Course Objectives

Upon successful completion of this course, students will be able to:

- Read and understand Fortran programs
- Debug Fortran programs
- Create interactive Fortran programs
- Use all key features Fortran: arrays, branches, loops, subroutines, functions, etc.
- Write Fortran programs that solve complex mathematical, scientific, and engineering problems
## Course Benefits

Fortran is a general purpose programming language ideally suited for numeric and scientific computing. In this course, students learn how to read, write and debug Fortran programs. By learning Fortran programming students will be able to write, support, and enhance many important computer programs written in Fortran. Students also gain an understanding of programming principles.

## Who Should Attend

This course is valuable for anyone who has been tasked with revising, building, managing, supporting, or maintaining a Fortran programming project, and anyone who needs to learn Fortran.

## Prerequisite

To ensure success, we recommend students taking this course have a basic knowledge of computer use and terms, and keyboard skills.

## Method Of Instruction

Lecture, demonstrations, questions and answers, and numerous hands-on exercises.

## Hands-on Exercises

Throughout this course, students write numerous Fortran programs including:

- Simple print statement
- Simple and complex
`DO`

loops- Complex if-else
- Sorting
- Programs with arguments
- Formatting output
- Calling intrinsic functions
- Interactive programs that check for user input error
- Data type conversion
- Temperature conversion
- Solving simple geometry and engineering problems using functions and subroutines
- Reading and writing to files
- Solving mathematical equations
- Using external variables
- Using arrays to perform matrix arithmetic
## Course Outline

Chapter 1: History of Fortran

- Hollerith
- Versions of Fortran
Chapter 2: Basic Fortran Concepts

- Statements
- Expressions and Assignments
- Integer and Real Data Types
- Loops
- Formatting Output
- Compiling and Linking
Chapter 3: Constants, Variables, and Arrays

- Data Types
- Constants
- Specifying Data Type
- Named Constants
- Variables
- Arrays
Chapter 4: Arithmetic

- Arithmetic Expressions
- Intrinsic Functions
- Arithmetic Assignment Statements
- Complex Numbers
Chapter 5: Control Statements

- Control Structures
`IF`

and`END IF`

`DO`

Loops- Unconditional
`GO TO`

Statement- Computed
`GO TO`

StatementChapter 6: Input and Output

- Format Specifications
`READ`

and`WRITE`

and- Format Data Descriptors
`A`

,`E`

,`F`

,`H`

,`I`

- Format Control Descriptors
- Carriage-Control and Printing
- Opening, reading, writing, and closing files
Chapter 7: Characters

- Character Handling and Logic
- Substrings
- Character Expressions
- Character Assignment Statements
- Character Intrinsic Functions
- Relational Expressions
- Logical Expressions
- Logical Assignment Statements
Chapter 8: Functions and Subroutines

- Intrinsic Functions
- Statement Functions
- External Procedures
- Passing Parameters
- Common Blocks
- Call Statements
`EXTERNAL`

Chapter 9: Arrays

- Initializing Arrays
- Using
`DATA`

- Matrix Arithmetic