What if we have 90 minutes only to teach programming?
This work addresses the challenge of making programming education more accessible to novices, but it remains a conceptual proposal without empirical validation.
The authors propose lowering the entry barrier to programming by reducing accidental complexity through a functional, concatenative language (CON-CAT) derived from category theory, aiming to teach programming fundamentals in 90 minutes. No concrete results or numbers are provided.
Programming is about automation in a wide variety of domains. Developing itself is one of those. As a side-effect, progress in automated coding may make people less willing to learn computer programming. This could become an issue, if the skill of computational problem solving is not only for the immediate economic benefit, but an important part of our knowledge about the world. We suggest that weakened incentives can be countered by lowering the entry barrier. We plan to shorten learning time by reducing the accidental complexity of the programming language and its runtime system. We describe a session plan that introduces programming and computing fundamentals for novices, assuming only basic mathematical background. This requires a non-mainstream, functional and concatenative language. This language, CON-CAT, is a by-product of research in category theory. It provides direct access to fundamental ideas like recursion and advanced ones like Gödel-encoding in an entertaining puzzle-like manner.