Rethinking Programming Education: Towards Visual and Understandable Programming
This essay critiques the shortcomings of current "live coding" environments, exemplified by JavaScript and Processing, in programming education. It argues that these environments fail to effectively support powerful ways of thinking and don't allow programmers to see and understand program execution. The author proposes that understanding program flow and data state is key to learning programming, advocating for visualization techniques like timelines and data visualization to make the process more transparent and understandable. The importance of programming language design is also stressed, promoting metaphors closer to human thought processes and more easily understandable syntax. The essay emphasizes decomposition and recomposition methods to encourage creative learning.
Read more