Skip to content

APL Course

A self-study introduction to Dyalog APL with exercises.

This course consists of a series of short instructional notes interleaved with problem sets. The first few sessions are accompanied by video tutorials.


This site is a work in progress. Currently we are transferring content from APL Workshop while reviewing and updating it.

Rendering of mathematical notation

There is a known issue with the MathJax renderer.
If you see some text which looks like
\(\sum_{n=1}^N n\)
then try refreshing the page. It should look like:
mathjax example rendering

Getting Started

If you're just starting out, you can use the TryAPL online interpreter. Put TryAPL on one half of your screen, and this site on the other half.

If you need help typing APL glyphs (e.g. ×⌿⍳) then see the APL Wiki.


This course assumes high-school / secondary level mathematics knowledge, and some familiarity with basic programming terminology (e.g. function, variable, recursion). It is not currently intended as a general introduction to programming, but more of a fast-track to getting up and running with modern APL. It is expected that most users will learn the basics here and leave the course to further their own learning


If you have any suggestions, critcisms or praise, please create an issue on GitHub.