HACKER Q&A
📣 hedora

Best intro to programming book for 2nd graders?


So, back in the day, my parents bought a laptop, and a purple book about programming qbasic. About a year before that, my dad and I wrote a CHIP-8 program.

What good references have people found for a grade school intro to programming? The kiddo already worked through game builder garage, and is familiar with scratch.

Ideally, it would be available in dead-tree form, and assume an offline programming environment, but those aren’t hard requirements.

It doesn’t really matter if it’s a modern programming environment or not; we have dos, win 3.1, linux, etc.


  👤 makuchaku Accepted Answer ✓
I personally taught my 8yr son programming using Swift playground on an iPad. Its a great visual app which asks kids to solve fun challenges and minimal coding - but teaches them basics of variables, if/else, loops pretty well. Its a great starting point.

He also experimented alot with scratch.

Now he's 9 and learning intermediate Python through community classes taught by our area hi-schoolers.

He recently made a summer holiday project called "Story Machine" which takes 5 nouns, calls a generative AI API to create a story, uses Spacy to find nouns and randomly replaces those nouns with another set of random nouns - creating a funny story in the process. UI input using tkinter :-)

I helped him to learn concepts like API calls, JSON, generative AI, UI, event based coding etc - he google searched himself to figure out how to use those concepts.

Once you teach them the basics, they will fly!


👤 okaram
My kids are older now, but I found this very interesting - https://www.kogics.net/kojo

One thing that worked for me is to let them guide me. When they stopped being interested I'd wait a few months and try again


👤 bombcar
Do they like Minecraft? Because Minecraft itself gets programming agacent - but modded Minecraft just is programming, and that’s using things like OpenComputer and not even talking about modifying mods themselves.

👤 WillPostForFood
I like "Learn to Program", by Chris Pine. It is very simple and straightforward. You get students into interactive exercises very quickly. You can preview it online:

https://pine.fm/LearnToProgram/


👤 jawns
Disney Coding Adventures is a series of physical books that present coding basics like functions and loops, but it sounds like your 8 year old may have progressed beyond that.

👤 hsm3
Honest question: Does the kid really want learn via dealing with a book? Programming has such a wonderful virtuous feelback look built in, seems a shame to get in the way of that. My son learned a ton of programming mainly by building bigger and bigger things (with more and less help from me), and only after many years got to a point where researching a question on stackoverflow/etc started working for him. All the progress was well-motivated by the task at hand, not the next page of the book.

One tool that we found to be a very deep learning ground: an iPad app called Tynker. It is another block-based env like Scratch, though we found Tynker to have stronger primitives (e.g., you wind up forced to use globals to pass state around less often). Some big advantages: 1) iPad is super portable, so works when travelling 2) has an excellent physics engine built in - we made an Angry Birds clone 3) was strong enough to support making a piano app that can play concurrent tones. 4) Lots of samples shared by community for inspiration.


👤 sanswork
[delayed]

👤 Obscurity4340
Shortcuts is a really good start for getting him to think algorithmically without sweating the actual code writing yet and still getting satisfying results to show for it. Its really colorful and tactile too which appeals to multiple learning styles. Get him to put together simple shortcuts that accomplish some small goal or series of goals and work him up to the automations with various triggers (turn all the wifi off at 9pm, or lock when connected to power, etc. Then use that as a springboard to writing actual code (which he will appreciate much more when he's got that experience and success in getting it to do what he wants)

👤 mdonahoe

👤 turtlebits
IME, kids at that age learn through play/engagement, not reading reference books. Have them come up an idea of a fun project and do it with whatever tools they are familiar with.

👤 guiambros
[delayed]

👤 marttt
Strange as it may seem, me (computer hobbyist) and my son (3th grade) ended up working with this book on QBASIC: http://tedfelix.com/qbasic/

Yes, QBASIC. Back to the 1990s. DOSBox or something similar needed for it to work under Windows 10. But: the syntax is easy to grasp even for children who are not native English speakers, and the full-screen IDE with Large Friendly Letters On A Blue Screen seems to help the kids in maintaining focus. Modify your code, hit F5, repeat. For teaching/learning the absolute basics of programming, QBASIC still seems a really good option.

Going through this book with my son just these days, and I think he's doing great. It's a really well written book, too. Careful wording, empathetic towards the child-learner. A prime example of "new is not always better".

When we're done with the introductory book, we'll probably move foward to "Sprites in QBASIC" by the same author: http://tedfelix.com/qbasic/sprites.html


👤 Someone1234
I've been using this:

"Invent Your Own Computer Games with Python, 4th Edition."

https://inventwithpython.com/invent4thed/

I feel like it has been going pretty well so far.


👤 tmaly
For second grade I would recommend the ScratchJr book and also the ScratchJR cards.

I have taught Scratch to different grades at my kids school. I have found third grade to just barely grasp Scratch.

ScratchJr on the other hand can be picked up by kids as young as 4 but ideally at 5.

I have a whole curriculum designed around it that pushes the boundaries of what you can do with it.