How to Train Your Programmer
The world of programming education is currently exploding. This talk will both survey the current approaches as well as take a deep dive into the approach-agnostic theoretical and pedagogical challenge of teaching programming and computer science, mainly: abstraction. Through a multidisciplinary montage I will identify the problem of teaching abstraction as a ubiquitous demand across nearly every domain, and align the issues of creativity and critical thinking in the humanities with issues in computer science. The talk will conclude with a discussion of how the discipline of computer science and that of the humanities can inform each other to produce more effective and creative solutions to both teaching abstractions and developing abstractions.