MIT lecturer Ana Bell, who has been programming since she was twelve and now teaches popular introductory courses in computer science, says that coding consists of almost equal parts creativity and logic. The creative part, she explains, gets exercised particularly when you have to come up with an algorithm to solve a given problem, because for any given complex problem there are many possible approaches to tackling it. The logical part comes into play when you sit down to translate that algorithm into an unambiguous sequence of rules in a programming language, and again when you discover that the code you’ve written doesn’t work exactly as you intended it to and you have to set about debugging it.

In the second of two pilot video episodes of the Chalk Radio podcast, Dr. Bell joins host Sarah Hansen to discuss the particular kind of thinking that coding entails. Here she offers her thoughts on the relevance of human programmers even in an age when AI language models can write code much faster than we can:

Later in the interview, we find out how an inanimate object such as a rubber duck can be a useful partner when your coding project is stuck in the debugging stage:

The full interview, embedded below, covers these topics and many others, including Dr. Bell’s childhood love for “choose your own adventure” books, as well as the many ways in which we all create and apply our own algorithms in everyday life, whether we’re programmers or not:

If watching the interview has awakened your curiosity about coding and computational thinking, and you’re eager to learn more, just visit the MIT OpenCourseWare website, where you can access free course materials–including full lecture videos–from Dr. Bell’s popular 6.100L Introduction to CS and Programming Using Python, as well as two courses she co-taught with Prof. Eric Grimson and Prof. John Guttag, 6.0001 Introduction to Computer Science and Programming in Python and 6.0002 Introduction to Computational Thinking and Data Science.