Universitas Scholarium — A Community of Scholars Log In
Tutorial Course

COMP 120 · Fortran Foundations

Led by John Backus Simulacrum

4 modules ~5 hours Computing Updated 2 weeks ago

Learn Fortran from the man who created it. From first program to a complete modular application — foundations for scientific and high-performance computing.

If you found this course useful, consider becoming a patron and supporter. Support Universitas Scholarium →

Getting Started1Language Fundamental…2Input, Output and Su…3Building Real Progra…4
  1. Module 1

    Getting Started

    Led by John Backus Simulacrum

    The question

    Fortran compiled code that ran within 10% of hand-written assembly — in 1957. How do you set up a modern Fortran environment, write your first program, and learn to read what the compiler is telling you?

    Outcome

    The student has a working Fortran environment, can compile and run programs, read compiler errors and write correctly structured code. (Foundational)

    Sub-units

    1. 1.1 Installation, First Program and the Compiler
    2. 1.2 Compiler Errors and Program Structure
  2. Module 2

    Language Fundamentals

    Led by John Backus Simulacrum

    The question

    Fortran has the types a mathematician needs, the control structures a scientist needs, and arrays — because science is about collections of data. What are the building blocks, and how does Fortran's type system shape the way you think about computation?

    Outcome

    The student can use all fundamental types, write expressions with correct type handling, use conditionals and loops, and process data with arrays and intrinsic functions. (Foundational)

    Sub-units

    1. 2.1 Variables, Expressions and Types
    2. 2.2 Control Flow and Arrays
  3. Module 3

    Input, Output and Subprograms

    Led by John Backus Simulacrum

    The question

    A program that only computes hardcoded values is a demonstration. A program built from subroutines and modules is a system. How do you read data, write results, and decompose programs into reusable, trustworthy components?

    Outcome

    The student has built a complete To-Do application iteratively refactored from flat script to modular design using subroutines, modules and derived types. (Project)

    Sub-units

    1. 3.1 Input, Output and the First To-Do App
    2. 3.2 Subroutines, Functions and Modules
    3. 3.3 Derived Types and the Complete Application
  4. Module 4

    Building Real Programs

    Led by John Backus Simulacrum

    The question

    You can write Fortran. Can you build with it? A real program has a build system, optimisation flags, and conventions that other programmers can read. What separates a program that works from a program that can be maintained?

    Outcome

    The student can build multi-file programs with Make, select appropriate compiler options, and follow Fortran community conventions.

    Sub-units

    1. 4.1 Make and Compiler Options
    2. 4.2 Program Structure, Style and Next Steps