To me the books looks quite underwhelming. It seems focused too much on the superficial aspects of programming, like jargon a software engineer may mention occasionally at home. It may look fun and appealing to their adult parent. But what can a child learn from it?<p>Maybe doing more with math (even if at 1+1=2 level), repetitive processes as loops, idea of recursion, idea that a computer cannot compute more than one can do with pencil and paper.. More _universal_ aspects of computation can be really illuminating to kids, I think.
Great book and write-up. I self-published a children's book about two years ago and experienced the same challenges. I had many previously written manuscripts and decided to publish one at the urging of my kids. I used the editing and design packages offered by our illustrator and published via Amazon CreateSpace (which Amazon seems to be phasing out).<p>The final book was very nice. However, business-wise, it's not a good investment. It's a good thing I didn't go into the process with any major ambitions. I haven't checked in a while, but I earn a little less than $1 per sale through Amazon (due to fees and printing costs). Most sales were from friends and family and little else. I tried the Amazon promotions, giveaways on GoodReads, etc. It's very hard to sell as a self-published author, unless you already have a huge following.<p>The book is still a very nice keepsake and it's nice to give away copies to schools and get positive feedback.
This was a great write-up about the author's experience. I, too, have self-published a niche book -- a coloring book with patterns from modern math, starting with Penrose tilings and then heading through totally symmetric self-complementary plane partitions, domino tilings of Aztec diamonds, fully packed loop diagrams, and alternating strand diagrams. Just fun stuff related mostly to statistical mechanics that I see my math friends working with.<p>I learned some Adobe inDesign to lay it out myself, generated all the images myself with Python, Sage, Tikz, or just drew them in Inkscape. Then I had it printed at a local print shop. That means there was an initial investment, but once I set the right price I could make a (small) profit by just selling them all. The per-price cost when printing 100 is substantially lower than individual copies.<p>Another difference for me: I have some connections to the local art scene and was able to sell at several art crawls. I think people found it a refreshing counterpoint to the rest of the art -- something nerdy for the nerdy folks, something they could get for a niece who is excited about math or a cousin who is a math teacher.<p>Marketing is still the hardest thing, for me as for this author. Facebook word-of-mouth has been the best.
How do you get a kid to understand something as abstract as an algorithm or a programming paradigm?<p>My approach is to start from something they are familiar with, like cooking. You have the ingredients (input), a sequence of ordered steps (algorithm) and the output (the expected result of the recipe).<p>What if you fry potatoes before you peel them? what if you omitted mentioning that potatoes had to be peeled? what if you use carrots instead of potatoes? what if potatoes are expired? does the potato shape or size matter for your recipe?... and you can continue from there.<p>That takes you as far as understanding that some instructions cannot be rearranged, that some attributes of the ingredient are important while some others aren't (leading to generalized recipes that accept more ingredient types), that there is a proper level of detail and verbosity, that there are validations that are required for your ingredients, that are best practices to be followed (e.g: washing your hands and your ingredients), etc.<p>Then, maybe the kid doesn't like cooking. You can try something else, like constructing a house for the dog, etc. Finally, you may want to try an electronics kit like Snap Circuits. I highly recommend it.<p>This approach in my opinion much better than starting from something like type inheritance and composition, or what a keyboard is... the reason being, the kid can build an intuition around it, experiment with it and even teach it to other kids. Most importantly, this knowledge can be applied directly into programming.<p>The key however, is to <i>emphasize</i> the concepts that can be translated into programming, otherwise it's just going to be wasted opportunities.
Programming (IMHO) is the art of explaining things 100% explicitly.
I have no idea how to convey that concept to children in an artist way, but I feel it's not through Garbage Collection, Inheritance and Source Control.
This seems like a cool holiday gift for adult programmers but for kids, I think it doesn't really touch the core idea.<p>(Just my 2c)
I like the concept, but I'm not a fan of the execution. To be blunt, it comes off as very half-assed. The pages shown in the blog post look like first- or second-round drafts, not final revisions.<p>I'm sure this took a lot of work, and I applaud the authors for completing and publishing the book. However, in my experience, a product will always take a lot of work, but a good product will take a lot lot lot of work!
Our culture has an awkward relationship between talent due to genetics and due to hours and hours of practice. Props to the author for creating this. But part of me feels like this book is slightly too heavily skewed in the direction of thinking that genetics is more in control of talent rather than practice. Why do I say this? Because it seems to believe that there aren't implicit ways of improving brain capability through the use of, for instance, mathematics. By teaching the child what it is you want them to know directly, instead of concentrating the attention on, for instance, developing their imagination (without the constraints of having to anchor it in programming), you're essentially placing a vote on the belief that the child won't be able to pick this stuff up easily once you've built their brain up.
If I read it in a bookshop, I'd put it back next to the copies of <i>Go the F@ck To Sleep</i>/<i>The Ladybird Book of the Mid-Life Crisis</i>. My wife buys lots of children's books, and the art, writing, and topic wouldn't appeal to her.<p>while it's more focussed on using computers to help children learn, I'd recommend <i>Mindstorms</i> by Seymore Papert[0] as a great resource for learning more about how to combine children, technology, and education.<p>0: <a href="https://mindstorms.media.mit.edu/" rel="nofollow">https://mindstorms.media.mit.edu/</a>
Seems like it is getting harder and harder to promote original content on the web without being considered spam.
I think product-hunt might be a useful tool in promoting something like this but I do not know if it is the right place either...
It sounds like Producthunt + Kickstarter could have possibly helped a lot here.<p>Incidentally, this post may prove to be another great channel - imagine this wasn't a post-mortem, but a pre-Kickstarter update on the process & journey of working on the book...of course, making the HN front page these days requires quite a bit of luck.
Great work and thanks for sharing the process! simplifying complex things into concepts that are digestible by young people is a challenge, and really makes me consider how I came to understand these concepts.<p>Though some may say simpler is needed, it's not that I entirely disagree but I think of the situation of "being young and not 'getting' it" from another angle.<p>When i was young, if I didn't understand something 100% I sought the answer elsewhere (including more challenging sources or by hands on action). Well... i still do that. I've gotten better at recognizing how to navigate new things of course.<p>But throughout my life a lot of concepts have and continue to be abstract to me (I am self taught, no college degree) - I don't often need to know the formal description of something to, eventually, connect the dots. (I am sure I'm not alone on that front but won't claim I know how common it is. I am writing this comment casually but any sources on learning and development methods would be appreciated.)<p>Regardless, my point is, I think these technical concepts could be very useful even if "imperfect", to plant the seeds of ideas and maybe kick start further curiosity. it'd be telling if kids looked back on this book or ones like it and began "correcting" the limericks, or suggesting alternatives like in this thread lol
> So the things that I did wrong.<p>> Started Marketing too late. I probably should have either started with a Kickstarter, pre-announced the book, or found a publisher. Book marketing is competitive enough that I needed a better plan than I had.<p>I've done three Kickstarters for comic books. "When your Kickstarter is running" is not the time to build your fan base.<p>My method was to post pages online for free as I drew them. Once I had enough to be worth publishing in a book, it was time for a Kickstarter for a modest print run. I typically met my goals within the first week, if not in the first weekend, because I'd slowly built my following while drawing the book, instead of once it was all done.<p>This works well for me, and for a whole ton of other independent comics creators. It would probably work better for someone making an abecdeclarium than for someone making a lengthy, difficult graphic novel about a lesbian robot with Philip K. Dick problems; a short verse with a cute drawing about a nerdy subject is exactly the kind of thing that people love to hit the 'share' button on without prompting.<p>You do have to be cool with a lot of people seeing your work without ever giving you a single cent for this to work. Just think of it as something like the Red Hat model, where you contribute to the Linux kernel for the benefit of everyone who uses it, and get paid by a far smaller number of users to support it. :)<p>----<p>(Of course "get my story about putting together a Programmer ABCs to read to your kids on the front page of Hacker News" ain't a bad piece of promotion either, given how many people are saying "ooh I just ordered it for a kid in my life".)
I like his rhymes if I had kids I'd buy his book. Some of them seem maybe a little much for the age group, even with the pictures. I don't know if things like a garbage collector really conveys much useful information to someone that young. But I guess it would depend on the kid. Still a cool idea for a kid's book though.
The rhymes and illustrations look great! Is there a board book edition?<p>Other great STEM and computers books for kids:<p>"A is for Array"<p>"Lift-the-Flap Computers and Coding"<p>"Computational Fairy Tales"<p>"Hello Ruby: Adventures in Coding"<p>"Python for Kids: A Playful Introduction To Programming"<p>"Lauren Ipsum: A Story About Computer Science and Other Improbable Things"<p>"Rosie Revere, Engineer"<p>"Ada Byron Lovelace and the Thinking Machine"<p>"HTML for Babies: Volume 1 of Web Design for Babies"<p>"What Do You Do With a Problem?"<p>"What Do You Do With an Idea?"<p>"ABCs of Mathematics",
"The Pythagorean Theorem for Babies",
"Non-Euclidian Geometry for Babies",
"Introductory Calculus for Infants",
"ABCs of Physics",
"Statistical Physics for Babies",
"Netwonian Physics for Babies",
"Optical Physics for Babies",
"General Relativity for Babies",
"Quantum Physics for Babies", "Quantum Information for Babies", "Quantum Entanglement for Babies"<p>"ELI5": "Explain like I'm five"<p>Someone should really make a list of these.
Thanks for sharing this.<p>I learned to program when I was very young. One thing sticks out to me about the strategy of the first person I learned from. He explained to me just how complicated our actions, as humans, really are. Want to make a PB&J Sandwich? Think about how many micro-steps are involved in that process! Everything from small wrist movements to understanding how to navigate the refrigerator define such an everyday, common task. He then described how we can transpose those types of actions and objects to programs. This quickly led to an understanding of concepts like conditionals and loops for repetitive tasks.<p>I think that approach is well-suited for children learning to program. Avoid jargon, start with fundamental concepts, connect the concepts to experiences the child understands.<p>I hope to see more attempts at children's books which stroke the curiosity of the budding programmer.
Why give children a book about programming when you can let them write programs instead? Every kindergartner can program a storyline in ScratchJr before they can learn how to read.<p>I am speaking as a dad who went through this. Books are much better for learning to read and learning to like reading, because good books for kids are just fun.
Hackers should really be writing more books for kinds. Not only about programming but about "life, the universe and everything" too - I wish there were an introduction into understanding myself, life, the society and other stuff written by a likely-minded person available to read when I was a kid.
Based solely on the pictures in the article, I just bought a copy of this book. It will arrive Monday. If I like it, I plan to buy at least two more as gifts.<p>I've been looking for a book like this since I had my first kid three years ago!