A self-study introduction to array programming languages with exercises. This course consists of a series of short instructional notes interleaved with problem sets.
Originally written for Dyalog APL, extended by Daniel Gregoire for BQN, J, and K (ngn/k) as a learning exercise.
If you're just starting out, you can use the TryAPL online interpreter. Put TryAPL on one half of your screen, and view the course on the other half.
Chapters and exercises involving the use of external files and some system functions require the full Dyalog system, which can be downloaded for free from the Dyalog website.
If you need help typing APL glyphs (e.g. ×⌿⍳) then see the APL Wiki.
If you're just starting out, you can use the BQN online REPL. Put the online REPL on one half of your screen, and view the course on the other half.
Chapters and exercises involving the use of external files and some system values require the full BQN system, which can be installed using instructions in the CBQN repository.
If you're just starting out, you can use the J Playground. Put the J Playground on one half of your screen, and view the course on the other half.
Chapters and exercises involving the use of external files and some foreign system functions require the full J system, which can be installed using instructions on the J wiki.
If you're just starting out, you can use the K online REPL. Put the online REPL on one half of your screen, and view the course on the other half.
Chapters and exercises involving the use of external files and some operating system facilities require the full K system, which can be installed using the instructions in K's readme.txt.
This course assumes high-school / secondary level mathematics knowledge, and some familiarity with basic programming terminology (e.g. function, variable, recursion). It is not intended as a general introduction to programming, but more of a fast-track to getting up and running with modern APL.
If you have any suggestions, criticisms or praise, please create an issue on GitHub.