on June 18, 2013
I have the attention span of a goldfish. This book was easy to follow and many of the samples programs are fun. I am almost done with the book which is a clear sign of success. Its a good way to cover the basics.
on December 2, 2012
It's hard to say how should you teach kids programming. This is not an easy topic. Jason tries to make the subject as simple as possible, but this is really not that easy if you start looking at details. However, Jason makes his best and makes it really good, to give you plain and straightforward explanation of Python. First of all he tells you how to install and configure programming environment. And for thous, who have never ever developed in the past, configuring Python may not be that straightforward. After you are ready to go, author takes you on the journey through the set of most basic constructs of the language. You will learn concepts of variables, classes, objects. You will get familiar with arrays, maps and constructs that let you create conditions and loops within the application. It would be fair to say, that half of the book is filled with these simple foundations of the development process. After all the basics are laid out you will be told how to use graphics in applications. How to combine the code and pictures and make them work for you. Do you recall famous LOGO? Yes, this "turtle like" computing language! You will find it here as well with all it's simplicity. But this time, you are getting it in Python flavor.
After you have learned all the basics it's time to do some serious stuff. Jason guides you through the game development process by showing how to create simple games. What's really cool here is the fact you really do something. You will create simple games that do something. And this is the place where simple, boring "Hello world" strings are taken over by moving objects and graphics. If you have read carefully first part of the book you should be able to follow second part and be able to develop discussed games. Just one remark here. As reading first part of the book is rather easy, the leap between simple constructs and games is quite big. It may turn out that you will slow down with your reading and will have to focus more, but still you should be able to follow what author has to offer.
Last thing to discuss here is the definition of "kid". This book requires your kid to be able to read and to understand some basic concepts of mathematics like addition, multiplication, angles, length, width, measurement, etc. It's hard to judge, but in my opinion there is no point of buying this book unless your kid is 9-12 years old. Well, in fact, in case you have really smart kid, you can buy the book sooner.
Anyway. If you think about pushing your kid towards programming, buy this book together with Raspberry PI and you are ready to go :)
on January 11, 2013
Python for Kids: A Playful Introduction to Programming is the book that fills the hole in my Python library. It starts with a nice introduction and installation instructions for Windows 7, Mac OS X, and most importantly to me, Ubuntu (on which you are really only checking to make sure you have Python 3 installed, since Python is installed by default, although Ubuntu releases older than 12.04 may still have Python 2.x installed as default). Perhaps it is because we started in a similar era, but I found Briggs very easy to read and follow; like me, he started out by learning BASIC on a TRS-80. More likely, the clarity and tone are the result of an intentional focus so that kids can comprehend the complexities of the material. In either case, he did a wonderful job.
The book is broken down into logical chapters, each building upon the previous ones. It starts with foundational concepts like variables and calculations, adds types like strings and lists and tuples, then begins with an introduction to graphic interaction using the turtle module. This is much sooner than typical, and I think it is beneficial because it gives kids a quicker jump to that fun moment of power, "Hey! I just made that thing move on the screen."
Then the book builds understanding with explanations of if and else statements and loops. On top of that are added the concepts of functions, modules, classes, and objects. We are now a mere third of the way through the book.
From here on, the simple explanations given will be expanded upon in easily-absorbed chunks. Built-in Python functions and useful modules each get a chapter. Then, we revisit turtle graphics to play some more. Once the basic graphic concepts are taught with turtle, tkinter is presented.
The last third of the book is focused on games. Specifically, using some fun game examples to flesh out the concepts more completely, developing greater fluency with the concepts, grammar, and vocabulary already presented.
One weakness of many beginning programming books is that once you finish the book you have to do further research on your own to figure out what to do next. I love that Python for Kids does not end this way, but instead includes a useful Appendix titled Where to Go from Here. This Appendix is short, but gives enough information to help the reader learn just a little bit about some Python resources and other programming languages to make those next steps just a little bit easier.
This book is suitable for kids in upper elementary school and older. The only real prerequisites are the ability to read and understand the concepts and a computer that will run Python. While the book is clearly written using suitably simple vocabulary, it is not watered down and never talks down to the reader. For this reason, despite the title, this book could be just as useful for the adult programming novice, too.
In spite of the proliferation of Python Tutorials, this text for kids (who can read well and understand basic mathematics) has several unique features: 1. It attempts (and succeeds) in being highly portable between Windows, Mac OS X, and Linux. 2. It is the only Python 3 text that I have seen so far that is intended for the juvenile market. 3. It offers bite sized pieces of the language in a simple progression until the middle of the book (only then offering an extended game example. 4. It provides an interesting game example based upon Tkinter and Gimp which provides additional portability between Operating Systems since Pygame (generally used for introducing programming of games to kids is only available in the Windows environment (also Tkinter is a valuable tool for building GUI Interfaces). The colorful and imaginative illustrations by the author of a popular and fun-loving Haskell tutorial add considerably to the entertainment vallue of this text for children and adults. Two additional features of this useful and entertaining volume not normally contained in a programming tutorial are appendices describing both graphics programming environments and other (than Python) Programming Languages along with a summary of the operating environments in which they are available, and another appendix summarizing and defining the key words of Python 3 (very useful for future reference).
I highly recommend this lighthearted, highly portable and easy to understand guide to Python for kids and adult beginners.
--Ira Laefsky, MS Engineering (Computer Science)/MBA, Information Technology Consultant and HCI Researcher
formerly on the Senior Consulting Staff of Arthur D. Little, Inc. and Digital Equipment Corporation
on May 3, 2016
My 9yo, who has Aspergers and an IQ of 140 and reads at a 7th-grade level, had grown bored with Scratch, having learned everything about it that interested him. 20 years earlier I had tried to interest my nephews in programming by writing a tutorial for them for Microworlds, which was then just about the only choice for programming for kids. My tutorial walked the student through creating a couple of simple games. I wrote that tutorial because Microworlds never offered anything similar.
But Microworlds has let the world pass it by. I thought Python and this book looked like a better choice for his next step.
I like the book and I do recommend it. But I would say it is best for kids who are older than the stated demographic of 5th - 8th grade. I'd say high school is more realistic for this book. It's 190 pages until you get to the first game project, and that project goes to page 217. That first game project has a lot of code for a 11yo (5th-grader)'s first project.
My 9yo never needs help on math or science homework. But he has needed my help at many points in this book. He's on chapter 9. Today, he got stuck on a part in chapter 9 where it has the student create and open a file. Problem is, it instructs the kid to save the file to the root of the C: drive, and then assumes that's where it is when the code opens the file. Well, as far as I know, the last version of Windows that allowed that without special settings was Windows XP. This book was published in 2013, and my son was using Windows 7. Windows 7 was the dominant version of Windows then. But the author seems to have been using Windows XP, as far as I can tell. Kids that age today don't have to deal much with directories, so the problem threw him. Since it wouldn't let him save it to the root of C:, he saved it to his personal folder where he saves everything else. But then he didn't understand why the code wouldn't open the file. I'd like to see the 11yo who can get through this book without help.
With a target audience of 5th - 8th grade, there could and should have been shorter, simpler game projects earlier on. If your kids is in the targeted age range, expect them to need help frequently.
on October 23, 2013
I am not a programmer... but, this course in text is better than most teachers... worth learning by this text, rather than paying a college, or online company... I am beginning to understand a new language quickly...
on November 23, 2013
I'm a computer scientist and an educator. To my opinion, this is a bad book. It does not teach kids how to actually program.
The book may be fun and appealing to kids. It contains some cool stuff about python. It contains plenty of examples. But all it teaches kids is to copy-and-paste this example from the book and run it on a computer.
It doesn't teach kids how to actually compose programs and write them. It doesn't tell those basics that every beginner is supposed to know, like, how to find a smallest number in the list. It does not even contain a notion of an algorithm. It doesn't mention how to find and fix mistakes in the program. Instead, it immediately jumps to some advanced concepts, like classes.
So, if you want your kid to learn actual programming, this is going to be a bad book for that.
on October 3, 2013
I'm a full time plumber and part time programmer. I've been doing programming of some sort since 1985. I realized how much of a benefit learning programming was for me at an early age, so I decided to teach my 6th grade son and a couple of his friends how to program. After a bit of research I settled on "Python For Kids" and used it as the curriculum for teaching them last year. This year I have started teaching the class again, but this time to a dozen Jr. High boys at a home-school co-op. My studends are having a blast and so am I.
The author has done a great job in that he took a somewhat simple programming language and related the programming concepts at a level that young minds can grasp. He has also been very helpful when responding to email questions along the way. I highly recommend this book as a great primer to get kids interested in programming. And like the author states: learning programming, even if you never need it, teaches you skills that you will find useful throughout your life.
on December 28, 2012
I asked my 8-year-old to share her thoughts on Python for Kids. She chose five stars and wrote the following:
"The book is well-written and colorful. I like it a lot!
The text is easy to read and fun. It keeps you turning pages.
There's a creative twist that keeps your mind moving!
I especially enjoyed the wizard list on pages 32-36 and the turtle graphic in chapter 11 (pages 146-161).
Great book overall!"
I love that my daughter is writing real Python programs by following along with this book. She also read and did the exercises in the No Starch "Super Scratch Programming Adventure!" book, which she liked. However, I don't know of any IT people who do work in Scratch. Plenty use Python though!
I'd like to thank No Starch for sending us a review copy.
on June 9, 2016
I am teaching my 8 year old programming python using this book. Its a good book, however I wish the author had given some programming exercises which I could give to my 8 year old.
I can teach him the concepts in this book but its hard for me to find the assignments which are right for kids.