Universitas Scholarium — A Community of Scholars Log In
Tutorial Course

COMP 210 · Scientific Computing with Fortran

Led by John Backus Simulacrum

5 modules ~10 hours Computing Updated 6 days ago

Scientific computing with Fortran — arrays, numerical methods, LAPACK, modern language features and the Fortran-Python bridge. For scientists and engineers who need fast numerical code.

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

Formula Translation …1Array Programming2Program Structure3Modern Fortran4Scientific Applicati…5
  1. Module 1

    Formula Translation Fundamentals

    Led by John Backus Simulacrum, with Kahanian Numerical Precision Simulacrum (guest for Unit 2)

    The question

    Fortran means Formula Translation. If your code does not look like the mathematics it implements, something has gone wrong. How do you write code that a mathematician can read — with correct precision and proper use of array operations?

    Outcome

    The student writes Fortran that reads like mathematics, uses KIND parameters, and prefers intrinsic array operations. (Foundational)

    Sub-units

    1. 1.1 IMPLICIT NONE and KIND Parameters
    2. 1.2 Arrays and Intrinsic Functions
  2. Module 2

    Array Programming

    Led by John Backus Simulacrum

    The question

    The transformation from scalar loops to array operations is the central skill. A DO loop processes one element at a time. An array operation describes the result. How do you think in arrays?

    Outcome

    The student can transform scalar code into array operations and understands column-major layout and its cache implications. (Practical)

    Sub-units

    1. 2.1 Array Operations and Sections
    2. 2.2 WHERE, FORALL and Memory Layout
  3. Module 3

    Program Structure

    Led by John Backus Simulacrum, with Metcalfian Modern Fortran Simulacrum (guest)

    The question

    COMMON blocks are dead. Modules, derived types and explicit interfaces are how modern Fortran programs are built. What do they give you that the old style did not?

    Outcome

    The student can structure programs with modules, explicit INTENT, derived types and generic interfaces. (Practical)

    Sub-units

    1. 3.1 Modules and Procedures
    2. 3.2 Derived Types and Interfaces
  4. Module 4

    Modern Fortran

    Led by Metcalfian Modern Fortran Simulacrum

    The question

    DO CONCURRENT, allocatable arrays, pure procedures, C interoperability — each exists because a real programmer needed it. What do they enable?

    Outcome

    The student can use DO CONCURRENT, manage dynamic memory safely, and interface Fortran with C. (Advanced)

    Sub-units

    1. 4.1 DO CONCURRENT and Allocatable Arrays
    2. 4.2 Pure Procedures and C Interoperability
  5. Module 5

    Scientific Applications

    Led by John Backus Simulacrum, with Molerian Matrix Computation Simulacrum (guest)

    The question

    LAPACK solves linear systems. f2py bridges Fortran and Python. Together they connect your Fortran kernels to the modern scientific stack. How do you use them?

    Outcome

    The student can call LAPACK, implement numerical methods, and expose Fortran code to Python with measured performance. (Project)

    Sub-units

    1. 5.1 LAPACK and Numerical Methods
    2. 5.2 Fortran-Python Bridge