APL2 is like many subjects in programming and mathematics in that it can appear sprawling, complex, vast and difficult to grasp if a few underlying principles are not well understood. Selecting and emphasising these to the point where they become the basis of ingrained habits on the part of students is the first crucial step towards success in teaching APL2. The next is to use these principles to separate clearly the roles of a set of primitive functions, namely disclose, first, take, pick and index which have strong similarities both in their function and in the symbols used to represent them. Then comes the discipline of using these and other functions in ways that exploit the self-specification nature of APL2, which if applied properly bears the same relation to software engineering as alternative medicine does to the orthodox brand.
/lp/association-for-computing-machinery/topics-in-teaching-and-using-apl2-kpNAMCE0PR