Ask HN: An approachable book on programming concepts/computer basics for a teen?

1 points by jamesgill ↗ HN
My teenage daughter is taking an 'intro to programming' class in high school, and the class is starting with Scratch/App Inventor to introduce concepts (algorithms, etc.).

To inspire her a bit, I'd like to supplement this with an easy, approachable print book (even a graphic novel-type) that would introduce her to fundamental concepts like algorithms and even basics of 'how computers work'. Caveat: she's not tech-averse, but has had very limited tech exposure (yes, really). Grateful for any suggestions.

3 comments

[ 4.2 ms ] story [ 21.3 ms ] thread
Girls who code would be my top suggestion for her, otherwise The computer always wins - Elliot Lichtman, how computers really work - Matthew Justice.
https://mitpress.mit.edu/9780262560993/the-little-schemer/

She can play along on the computer by installing mit-scheme (http://www.gnu.org/software/mit-scheme/) and placing the snippet below into ~/.scheme.init

   (define atom?
     (lambda (x)
       (and (not (pair? x)) (not (null? x)))))

   (define lat?
     (lambda (l)
       (cond
        ((null? l) #t)
        ((atom? (car l)) (lat? (cdr l)))
        (else #f))))

   (define member?
     (lambda (x l)
       (cond
        ((null? l) #f)
        ((eq? (car l) x) #t)
        (else (member? x (cdr l))))))

   (define mber?
     (lambda (a lat)
       (cond
        ((null? lat) #f)
        (else (or (eq? (car lat) a)
                  (mber? a (cdr lat)))))))
Not a book, but she can try the free cuses in https://www.datacamp.com/ I recommend to start with Python and later switch to Scheme when she get enlightened.

Which programming languages are you using? Sometimes it's better to if someone at home can help with the setup and early debugging.