Enzo Alda is the founder of Lakebolt Research, a firm focused on end-user computing. He formerly held roles at technology startups and large organizations like Oracle, Bloomberg, and Google. Mr. Alda conceived and implemented the engine that powers real-time calculations in the Bloomberg terminal.
Before coming to the United States, Mr. Alda lectured courses in compiler construction and programming language design. He holds degrees in Software Engineering, Computer Science, and an MBA. Mr. Alda joined the IEEE in 1999.LinkedIn Profile
We show, with a live demonstration, how a functional reactive computing environment can be used effectively in programming education. Part of the presentation is an experience report describing still ongoing experiments started early last year, aimed at modernizing a Programming 101 course for engineers. These experiments are testing ideas presented at last year‘s ITPC.
Exploiting the commonality of simple expressions across most languages, we manage to build a multi-paradigm education experience centered on programming language concepts, rather than language specific details. Our results show better student engagement and confidence. A new curriculum is already taking shape as a consequence of this work.
The advent of the information age inevitably put traditional school systems around the planet in a bind. New terms, like digital literacy and computational thinking, were coined to help form our nascent understanding of the issues. There is a lot of debate going on: we started experimenting ideas not long ago and the science is still very young, with just a few comparative studies. We have a lot to learn.
Whether, when, and how to teach programming is part of that debate. For instance, block coding and the illusion of “syntax free” programming was, and still is, touted by many as the way to teach programming. Yet, it turns out it falls short on its promise. That is just one data point in the saga. Combining the ideas of Douglas Engelbart, Stephen Wolfram, and others with our own experience, we propose and demonstrate a “natural path” to learning computational thinking and programming.