The advancement of automated coding tools may reduce in the future the number of people willing to learn computer programming. We assume that the skill of computational problem solving is not only for the immediate economic benefit, but an important part of our knowledge about the world. As the incentives to learn are weaker, we aim to lower the entry barrier. We ask: Can programming ideas be taught in a very short time? We describe a session plan that introduces programming and computing fundamentals for novices, assuming only basic mathematical background. It requires using a non-mainstream, functional and concatenative language reducing accidental complexity. This language, a by-product of research in category theory, allows direct access to fundamental ideas like recursion and advanced like Gödel-encoding in an entertaining puzzle-like manner.
翻译:自动化编码工具的发展可能会在未来减少愿意学习计算机编程的人数。我们认为,计算问题解决能力不仅是为了直接的经济利益,更是我们认识世界的重要部分。由于学习动机减弱,我们旨在降低入门门槛。我们提出疑问:编程思想能否在极短时间内被传授?我们描述了一个面向初学者的课程计划,仅需基础数学背景即可介绍编程与计算基础。该课程采用一种非主流、函数式且串接式的语言,以减少偶然复杂性。这种语言作为范畴论研究的副产品,能够以娱乐化的谜题方式直接触及递归等基础概念以及哥德尔编码等高级概念。