This interview was originally released as a Spark Plus podcast (4/6/12). An edited version will air on an upcoming episode of Spark.
There's been a lot of talk about whether learning computer programming language is as essential a skill as learning to read or write. Carlos Bueno believes it is. The self-taught programmer feels so strongly anyone can -- and should -- learn computer programming that he's written a children's book, titled Lauren Ipsum, that introduces coding to kids through metaphor.
Bueno argues that learning computer programming teaches kids more than just how computer software works. "It teaches you how to practice problem solving, critical thinking, being brief and being clear," he said to Spark host Nora Young in a recent interview. "Programming is one of the most personally empowering skills you can learn. It's kind of the fourth R."
Bueno also felt compelled to write the book because he saw that how computer programmers solve problems is very different from how programming is taught in classrooms. He drew on this when writing the book, because learning to think like a programmer, Bueno argues, is the first step to becoming one. "It's always been a really good way to learn things," he said. "I try to learn from analogy and example because they stick in my brain more."
According to Bueno, there are practical reasons for learning basic computer science. You don't have to become a computer scientist just because you know how to code, just as you don't have to become a writer because you know how to write or a fashion designer because you know how to sew. "Computer literacy means knowing enough to be able to do it for yourself so you don't have to rely so much on third-party experts."
Bueno points to the pivotal legal case between software companies Oracle and Google. Oracle believed that Google stole one of their Java APIs (application programming interfaces) and sued them. But because the judge ruling over the case had a basic understanding of computer science, he looked at the code in question and determined that not to be the case. "If he hadn't been a programmer, he might have made a different ruling or outsourced his job to a third-party expert," Bueno said. The judge may not have been a computer scientist, "but he knows what's easy, he knows what's hard and he knows what's possible. so his imagination isn't limited to what people tell him."
For those who feel overwhelmed by the thoughts of binary codes and matrices, Bueno says not to worry. Programming is not as hard as people are led to believe. "There's a myth that you need a special kind of mind to understand computer science, and it's not true." Buenos taught himself computer science, and for him, it was very similar to the time he spent as a child taking apart electronics and putting the pieces back together in working order. Kids are smart, he says, and they know how to ask the right questions. "It's astonishing what kids can do if you don't tell them that it's too hard."