Hi Jason. We at Via Lettera are very excited about the upcoming publication of ‘Python For Kids. Second edition’. Can you tell us what inspired you to write this book? Also, can you name some of the new features and updates that you made in the new edition?
The inspiration for Python for Kids was an article written in 2006 by science fiction author David Brin, titled “Why Johnny Can’t Code”; lamenting the fact that there was no simple and straightforward way to introduce kids to programming. He was talking about the Basic programming language, which I also learned as a child, but I figured Python would perfect for the task.
The second edition is basically a full refresh of the text of the book using the latest version of Python (3.10 at the time of writing), updating many of the code samples, and fixing some of the errors we’ve found in the first edition over the years.
Who is the target reader of this book? Is it strictly for children?
The target readers are children 10 years and up, but it’s really for anyone who is keen to try something new. I’ve been contacted by readers of all ages over the years – children younger than 10, adults, even grandparents.
What, in your opinion, are the challenges of teaching computer languages to children and why Python is such a good option?
The main challenge is that children typically want to jump ahead to programming games without learning the basics (and the basics of programming can be a little dry -- although we do our best in Python for Kids to make it as fun as possible). You really need an understanding of the basics for the games code to even make sense.
Would you share some tips for parents who want to help their children learn Python?
I don’t really have any tips other than a suggestion that you help your children with installation (as described in the first chapter). That can be problematic for some.
What are your hopes and expectations for the future of Python programming education for children? Would AI assistants be of help?
ChatGPT can certainly be useful when you hit a problem with your code. It can usually identify simple syntax errors (and even help with more complicated programs). A basic prompt like “What is wrong with this code:” followed by the code and the error you’re hitting, will often come back with a useful pointer at where you’ve gone wrong. My bigger concern with this is that I’ve often learned more by figuring out a problem myself, so there’s a delicate balance there. On one hand you have the satisfaction of figuring something out, and on the other frustration at not being able to find the answer leading to the learner abandoning the attempt altogether. From a learning perspective a future AI assistant would be better if it could hint at the answer a few times before actually providing the solution – I believe that’s probably more difficult with AI based on LLMs (Large Language Models).
As Douglas Rushkoff says in the title of one of his books, the dilemma today is to program or be programmed. In this context, do we all need to have basic skills in machine languages to cope with today’s world?
Yes, of course. Computers underpin so much of our society, there are so many jobs which involve computers, some fundamental knowledge has to be useful. There’s a huge leap you can make from knowing something is possible, and then having some basic skills to be able to attempt it.
What are you working on at the moment?
Nothing book related at the moment. My day-to-day work is in IT, so I spend a good part of each day working on big programming projects – at the moment in Python and another programming language: Scala.
Do you have a special message for your Bulgarian readers?
I’m delighted that my book is being translated to Bulgarian. I hope that Bulgarian kids will find learning to program a fun and rewarding experience.