Complete Fortran Course

Chapter 1: Introduction to Fortran
  • Lesson 1: What is Fortran?
  • Lesson 2: History and Evolution of Fortran
  • Lesson 3: Applications of Fortran in Scientific Computing
  • Lesson 4: Setting Up the Fortran Environment (gfortran, Intel Fortran, etc.)
  • Lesson 5: Writing and Running Your First Fortran Program
  • Lesson 6: Fortran Compilation and Execution
Chapter 2: Variables, Data Types, and Constants
  • Lesson 1: Declaring and Initializing Variables
  • Lesson 2: Data Types: Integer, Real, Complex, Logical, Character
  • Lesson 3: Implicit and Explicit Typing (IMPLICIT NONE)
  • Lesson 4: Constants and Named Constants (PARAMETER)
  • Lesson 5: Type Conversion and Casting
Chapter 3: Operators in Fortran
  • Lesson 1: Arithmetic Operators
  • Lesson 2: Relational and Logical Operators
  • Lesson 3: Bitwise Operators
  • Lesson 4: Assignment and Compound Assignment Operators
Chapter 4: Control Structures
  • Lesson 1: Conditional Statements: IF, IF-ELSE, IF-ELSEIF-ELSE
  • Lesson 2: SELECT CASE Statement
  • Lesson 3: Loops: DO, DO WHILE, EXIT, CYCLE
  • Lesson 4: GOTO Statements and Labels (Legacy Code)
Chapter 5: Functions and Subroutines
  • Lesson 1: Subprograms: Functions vs. Subroutines
  • Lesson 2: Function Declaration and Invocation
  • Lesson 3: Passing Arguments (By Value, By Reference)
  • Lesson 4: Recursive Functions
  • Lesson 5: Internal and Module Procedures
Chapter 6: Arrays and Data Structures
  • Lesson 1: Declaring and Using Arrays
  • Lesson 2: Multidimensional Arrays
  • Lesson 3: Array Slicing and Array Operations
  • Lesson 4: Dynamic Memory Allocation (ALLOCATE and DEALLOCATE)
  • Lesson 5: Fortran Derived Data Types
Chapter 7: Strings and Character Handling
  • Lesson 1: String Declaration and Initialization
  • Lesson 2: String Concatenation and Manipulation
  • Lesson 3: String Comparison
  • Lesson 4: Fortran LEN() and TRIM() Functions
Chapter 8: Fortran I/O Operations
  • Lesson 1: Standard Input and Output (READ, WRITE, PRINT)
  • Lesson 2: File Handling in Fortran (OPEN, CLOSE, INQUIRE)
  • Lesson 3: Formatted and Unformatted I/O
  • Lesson 4: Direct Access File Handling
Chapter 9: Modules and Namespaces
  • Lesson 1: Introduction to Fortran Modules
  • Lesson 2: Creating and Using Modules
  • Lesson 3: Importing Modules (USE statement)
  • Lesson 4: Separate Compilation and Linking
Chapter 10: Object-Oriented Programming in Fortran
  • Lesson 1: Introduction to OOP in Fortran
  • Lesson 2: Defining and Using Derived Types
  • Lesson 3: Encapsulation with Modules
  • Lesson 4: Operator Overloading
  • Lesson 5: Polymorphism and Abstract Interfaces
Chapter 1: Memory Management and Pointers
  • Lesson 1: Introduction to Pointers in Fortran
  • Lesson 2: Pointer Arithmetic and Pointer Arrays
  • Lesson 3: Pointer Association (NULLIFY)
Chapter 2: Parallel Programming in Fortran
  • Lesson 1: Introduction to Parallel Computing in Fortran
  • Lesson 2: Coarrays in Fortran (COARRAY)
  • Lesson 3: OpenMP for Multithreading
  • Lesson 4: MPI for Distributed Computing
Chapter 3: Numerical and Scientific Computing
  • Lesson 1: Floating-Point Precision and Error Handling
  • Lesson 2: Matrix Operations in Fortran
  • Lesson 3: Linear Algebra Libraries (BLAS, LAPACK)
  • Lesson 4: Solving Differential Equations in Fortran
Chapter 4: Special Libraries for Scientific Computing
  • Lesson 1: Using LAPACK for Linear Algebra
  • Lesson 2: Using BLAS for Performance Optimization
  • Lesson 3: FFTW for Fast Fourier Transforms
  • Lesson 4: Scientific Visualization with Fortran
Chapter 5: Fortran for Computational Fluid Dynamics (CFD)
  • Lesson 1: Introduction to CFD in Fortran
  • Lesson 2: Solving Partial Differential Equations (PDEs)
  • Lesson 3: Finite Difference and Finite Element Methods
Chapter 6: High-Performance Fortran (HPF)
  • Lesson 1: Introduction to High-Performance Fortran
  • Lesson 2: Data Parallelism and Distributed Memory Computing
Chapter 7: Signal Handling in Fortran
  • Lesson 1: Handling System Signals
  • Lesson 2: Implementing Error Handling with Signals
Chapter 8: Preprocessor and Macros
  • Lesson 1: Introduction to Fortran Preprocessor (cpp, fpp)
  • Lesson 2: Conditional Compilation (#ifdef, #define)
  • Lesson 3: Macros and Code Optimization
Chapter 9: Networking and Socket Programming in Fortran
  • Lesson 1: Introduction to Network Programming
  • Lesson 2: Socket Communication in Fortran
  • Lesson 3: Implementing TCP/IP Clients and Servers
Chapter 10: File I/O and Data Serialization
  • Lesson 1: Binary and ASCII File Handling
  • Lesson 2: Reading/Writing Data in CSV and JSON Formats
Chapter 11: Creating and Using Fortran Libraries
  • Lesson 1: Building a Static Library in Fortran
  • Lesson 2: Building a Dynamic Library in Fortran
  • Lesson 3: Linking Fortran Libraries in Other Languages
Chapter 12: Debugging and Profiling Fortran Code
  • Lesson 1: Debugging Fortran Programs (gdb, valgrind)
  • Lesson 2: Profiling Fortran Code for Performance Optimization
Chapter 13: Design Patterns in Fortran
  • Lesson 1: What are Design Patterns?
  • Lesson 2: Creational Patterns | Singleton, Factory Method, Abstract Factory, Builder, Prototype
  • Lesson 3: Structural Patterns | Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
  • Lesson 4: Behavioral Patterns | Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
Chapter 14: Cryptography and Security in Fortran
  • Lesson 1: Introduction to Cryptography in Fortran
  • Lesson 2: Implementing Symmetric and Asymmetric Encryption
Chapter 15: Working with Modern Fortran Features
  • Lesson 1: Fortran 2008, 2018, and 2023 New Features
  • Lesson 2: Improved Error Handling and Performance Optimizations
Chapter 16: Bonus | Real-World Applications of Fortran
  • Lesson 1: Building a Simple Weather Prediction Model
  • Lesson 2: Implementing a Scientific Simulation
Course Duration: about 50+10 hours

The online class is held via Skype (or Zoom or Microsoft Teams) and the cost per hour of tutoring is only $15. At the end of this long course, you will master all the required basic and advanced concepts of Fortran and we will develop a real-world application together for about 10 hours which fully prepares you to find a job as a Fortran developer.
To book this class, message or call my telegram or WhatsApp:
+98 (912) 490-8372 or +98 (935) 490-8372
You can also send email to me:
abolfazl.mohammadijoo@gmail.com

Your Message






























Introductory Course of Fortran


Chapter 1: Introduction to Fortran
Chapter 2: Variables, Data Types, and Constants
Chapter 3: Operators in Fortran
Chapter 4: Control Structures
Chapter 5: Functions and Subroutines
Chapter 6: Arrays and Data Structures
Chapter 7: Strings and Character Handling
Chapter 8: Fortran I/O Operations
Chapter 9: Modules and Namespaces
Chapter 10: Object-Oriented Programming in Fortran

Advanced Course of Fortran


Chapter 1: Memory Management and Pointers
Chapter 2: Parallel Programming in Fortran
Chapter 3: Numerical and Scientific Computing
Chapter 4: Special Libraries for Scientific Computing
Chapter 5: Fortran for Computational Fluid Dynamics (CFD)
Chapter 6: High-Performance Fortran (HPF)
Chapter 7: Signal Handling in Fortran
Chapter 8: Preprocessor and Macros
Chapter 9: Networking and Socket Programming in Fortran
Chapter 10: File I/O and Data Serialization
Chapter 11: Creating and Using Fortran Libraries
Chapter 12: Debugging and Profiling Fortran Code
Chapter 13: Design Patterns in Fortran
Chapter 14: Cryptography and Security in Fortran
Chapter 15: Working with Modern Fortran Features
Chapter 16: Bonus | Real-World Applications of Fortran
Course Duration: about 50+10 hours

The online class is held via Skype (or Zoom or Microsoft Teams) and the cost per hour of tutoring is only $15. At the end of this long course, you will master all the required basic and advanced concepts of Fortran and we will develop a real-world application together for about 10 hours which fully prepares you to find a job as a Fortran developer.
To book this class, message or call my telegram or WhatsApp:
+98 (912) 490-8372 or +98 (935) 490-8372
You can also send email to me:
abolfazl.mohammadijoo@gmail.com

Your Message