
Ask HN: Gift for a 11-year-old hacker - saturnian
My sister is a bright, self-motivated, girl that has taught herself HTML and CSS, but hasn&#x27;t learned a real programming language yet. She still doesn&#x27;t grasp the concept of a function, which is understandable at her age. There&#x27;s lots of books on CS that I&#x27;d love to give her, but that she&#x27;s too young for. Any suggestions?
======
babyrainbow
Try to explain programs as a to do list for computers. This might be hard
since her fist exposure to computers is HTML/CSS. kind of sad actually. How
did that happen? Just curious...

Maybe show her that she can put dots of any colors on screen using html canvas
and javascript. Show her how to draw lines. How to draw circles and color
them. Show her how to move them....That should be enough to get her off from
Html/Css and move to real computer programs...

May be just leave her alone..encourage her to spend less time with computers
and go out and play with other kids..She is 10 year old, right?

------
atmosx
Not sure if this is going to work, but instead of trying to explain what a
function is at a theoretical level - which _is_ a difficult concept to grasp
at that age - why not show her the code without too much theory?

I'm not a programmer by profession, so take everything I say with a grain of
salt, why not trying to _show_ what a ruby add/multiply function looks like:

    
    
        #!/usr/bin/env ruby
        
        def add(x,y)
            b = x + y
            return b # could be just "b" or omitted but I consider verbosity a *virtue* here
        end
    
    

Of something like:

    
    
        #!/usr/bin/env ruby
        
        def hello(name)
           puts "Good morning, #{name}"
        end
    
    

I believe Ruby is a better choice than Python because it _can_ be more
verbose, closer to English and doesn't rely on indentation. Javascript might
be another option, but explaining the difference between class and function in
JS to a novice might be problematic.

There's this book which is rather playful:
[http://poignant.guide/book/chapter-1.html](http://poignant.guide/book/chapter-1.html)

------
gus_massa
What about "hardware"? I bought to my daughter a Snap Circuit kit, but she was
younger.
[https://www.google.com.ar/search?q=snap+circuit&tbm=isch](https://www.google.com.ar/search?q=snap+circuit&tbm=isch)

------
randack
I purchased a BitsBox subscription for my nieces/nephews, and they love it.
[https://bitsbox.com/](https://bitsbox.com/)

It's not cheap, but I'm a big believer in encouraging this kind of learning,
and I feel like it's been worth it. They range from 7-13 yrs.

------
kentbrew
Get her a decent hacker's keyboard. She will treasure it always.
[https://elitekeyboards.com/products.php?sub=pfu_keyboards](https://elitekeyboards.com/products.php?sub=pfu_keyboards)

~~~
jungletek
$225? Only 60 keys? No mention of Linux support?

LOL. Why? What are the advantages over the multitude of other mechanical
keyboards out there these days?

------
asidiali
If she likes games -
[https://getchip.com/pages/pocketchip](https://getchip.com/pages/pocketchip)

