With Let’s Talk Python by Pavel Anni
Is your kid (or grandkid/niece/nephew/etc.) interested in coding? Do you want to help them learn (and learn a bit yourself)? This book will help you do it!
Read on for more.
The goal of this book is to give young readers (aged 10+) several practical project ideas to start their journey in programming. The book uses Python as it is considered the most beginner-friendly language.
The reader will follow along the learning journey of the main character and build a practical application that will be very similar to the real online applications that most people are familiar with.
Why I am writing this book
There is a high demand for books and courses that teach children programming. What is most important is to teach kids not only the basics of a certain programming language, but also to teach them to think algorithmically, and to learn problem-solving techniques and apply them in real life.
This book is written for children, but it also includes sections for parents (and grandparents) that give advice on certain topics that might be difficult for kids. Like “how to explain this in a slightly different way” or “where to find more information about this topic”.
I think that many parents (and especially grandparents) are also be interested in learning basic programming skills themselves – especially if they had similar (STEM-like) training in the past. That makes this book doubly attractive!
What makes this book different?
People have different learning styles. Some prefer the university style: first the theory, then examples, then exercises, and finally tests. Some prefer a project-based approach when you learn by solving practical problems. It is good to take various approaches in teaching programming, as each will find its audience.
This book is 1) project-oriented; 2) dialogue-oriented; and 3) uses “learn from mistakes” approach.
- Project-oriented. Most children don’t like doing “exercises” – simple tasks that you must do only to please your teacher or parent and get a good grade. They like creating things that they can use and that look like real things from the “adult” world. This book doesn’t start with boring language basics like available arithmetic operations and truth tables for logical algebra. This book starts with several project ideas that might be interesting for kids of age 9 to 15.
These ideas include:
- a coffee shop application to take orders for coffee/chocolate drinks with different toppings
- a builder supply shop where you describe which LEGO parts you need to build a castle or a car
- a collection catalog for dolls, stuffed animals, LEGO minifigures, NERF guns, etc.
- a collection of jokes and memes that can generate random funny messages
- and more
In this book we have a main character and their friends. They will work on different projects, exchanging ideas, approaches, and solutions. They will work as a team (e.g. one of them works on the backend part and another one works on the web frontend).
As a side project we will even use Python to program microcontrollers like Adafruit’s Circuit Playground and make it blink and beep. Some other project ideas can be borrowed from Tiny Python Projects by Ken Youens-Clark, as we can use them to learn language and programming concepts that are important. In each chapter we build one of the components of the future application (text dialogues, menus, error handling, web interface, database interface). After each chapter our application is functional, but it improves – step by step.
In other words, it’s a book about a programmer’s journey – with adventures, dangers, mistakes and, of course, a happy end.
- Dialogue-oriented. Usually, tutorials sound like a monologue where a teacher tells the student what to do. There is no way a reader can ask a question. In this book there is a main hero who works on a project. Very often he has questions, sometimes naïve (some may say “stupid”) and he doesn’t hesitate to ask his father or Google. Sometimes he (the main hero) discusses his project with his friends, and it also involves questions and answers. In this book we try to guess (based on our previous teaching experience) what questions may be asked in each situation and use our characters to discuss them.
- Learn from mistakes. As our main character keeps working on his project, he makes mistakes. A lot. Sometimes he finds the solution himself, sometimes he searches the Internet, and sometimes his dad helps him. We strongly believe that this is the best way to learn something: try something -> make mistakes -> get feedback -> think -> fix -> try something new.
What will the reader be able to do after reading this book?
After reading this book, the reader will be able to:
- Install an easy-to-use Python development environment on Windows, Mac, and Linux
- Create simple text-based applications implementing basic online shop features
- Perform basic database operations
- Run a simple online application (a shop, a collection of something, etc.) as a web service
Who is this book for?
The book is written mainly for kids, i.e. children aged 9 to 15, and their parents/aunts/uncles/grandparents/older cousins/etc.
It has many dialogues, diagrams, illustrations to make it easy to understand. There are a lot of questions, including some that might seem silly and they are discussed and explained from different angles.
The book has a collection of quotes from programmers, mathematicians, engineers. Even the funniest memes from programmers’ community will be included to illustrate certain points (how to test, what to expect from users, etc.). (As they say, some people learn programming only to be able to understand programming memes.)
This book covers (or at least touches) a wider range of topics compared to a typical “Python programming” book (i.e. not only the language elements). In this book we discuss the ways of thinking that we apply when working on programming problems. This book borrows some ideas from The Programmer’s Brain by Felienne Hermans, such as using mental models, naming variables, different programming activities besides writing code, etc. The main goal of this book is not to teach kids how to write Python programs, but rather to teach them how to think about problems and analyze them, how to work on projects, how to interact with work partners and users.
What should readers know before trying to use this book?
- be able to download and install an application.
- be able to work with files: e.g. open a text file and save it.
- be able to work with terminal applications in their OS of choice.
- be familiar with popular online applications – we will create something similar, so we’d better know how it works.
- have some basic programming experience with Python (e.g. from an introductory online course).
If you want to learn more, you can check out the book here.