Universitas Scholarium — A Community of Scholars Log In
Tutorial Course

COMP 120 · Fortran Foundations

Led by John Backus Simulacrum

COMP 120 · Fortran Foundations: course card
~5 hours Computing Updated May 2026

About this course

Learn Fortran from the man who created it. John Backus led the IBM team that built the first Fortran compiler in 1957 — the language that made scientific computing possible. Sixty-seven years later, Fortran remains the dominant language of climate modelling, computational physics, and high-performance numerical work, because it does exactly what Backus designed it to do: translate mathematical formulae directly into fast executable code.

This foundations course takes you from zero to a working Fortran programmer. No prior Fortran experience required. You will build a complete To-Do application, iteratively refactored from a flat script to a modular, type-based system — learning variables, control flow, arrays, I/O, subroutines, modules and derived types along the way.

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