Ask HN: Best way to teach programming to a person with Asperger+ADD?

12 points by watson ↗ HN
I have a family member who's diagnosed with a mild case of Asperger syndrome combined with Attention deficit disorder (ADD). He is in his late 20ies and have been obsessive about computers his whole life. But for some reason he have never taken on programming.

I would love to teach him the programming craft as I think he'll be very good at it and that this in turn will help him secure a steady job (something that isn't easy with the combination of Asperger and ADD).

I have a small project (a web-app) in mind that I think we could work towards - hopefully something that might even bring in some cash for him if it becomes popular.

I'm a seasoned programmer my self with 15+ years of experience. In the last 8 years I've been programming Ruby and lately Node.js, so I was thinking of teaching him one of these languages. But I'm not sure and was wondering if any of you guys had any suggestions of which language to use and which approach I should use for teaching.

In the end I'm simply looking for advise on how to approach this. Looking forward to your thoughts!

9 comments

[ 0.29 ms ] story [ 26.2 ms ] thread
I'd start witn some very simple examples. "Hello, world" stuff. Nothing that requires any up-front study. That may be enough to spark the fire,
(comment deleted)
It might be a bit unconventional, but if you're doing it to teach him to provide for himself why not actually offer him some money?

Chances are he's already quite capable of programming, but has just never seen any real reason for picking it up.

I'd say find a sum of money that would sort of impress him, then find a nice task he probably would be able to do (perhaps with your guidance) that would be worth that much money (to someone in general,) and ask him to do that for you.

It might not work, but when trying to get someone to a final destination I usually try to give someone as realistic an taste of the first step along the way and see if they're interested in taking more afterwards.

I'd like to add one more thing, in that if you're really trying to help, consider expose him to some NLP.

NLP got a bad reputation from the people in the self-help industry that latched on to it, but at its core it's about modelling thought processes (N) and language (L) to try to identify a sequence of repeatable steps that will consistently achieve a desired result (P).

In essence it's a pretty good attempt at creating a functioning, logical, model of everything an Aspie doesn't intuitively understand.

(comment deleted)
My girlfriend brother is Asperger too: Bad grades, excellent knowledges about grammar and strange words, obsessed with League of Legends (a videogame), reading and sometimes astrology.

I am sorry, watson, because I have no magic pills.

I understand your worry in making him able to live without depending on someone else resources. We are too trying to achieve the same that you, but we are doing it slowly because we are sure that if he knows what we are planning he will never perceive it as interesting.

At the moment, we have been able to make him somewhat interested about the technical part of computers doing him a demo of "security pentesting": We (I, with him at my side making jokes and enjoing the process and asking) did some arp and dns spoofing, also played with sslstrip and he loved to know about the mechanics.

Advancing from there it's not being easy. Web development seems a good path for us too because you can easily see the results. The problem is making him interested enough to do it by himself.

I'm adding this thread to bookmarks. Please, tell about any progress that you did and ask if you think that there is something we can share with you.

I used http://www.codecademy.com/#!/exercises/0 to learn Javascript and I found it very easy to use and progress. The only thing I was lacking was the ability to apply what I was learning, but if you have an actual project and goals for your friend to keep in mind during the lessons, that might be really helpful.

Maybe just break down very small components of the application your building that you want this person to "own", and give them the tools of codecademy or whatever to help them learn how to build on their own.

Either way, it's very admirable for you to try and take this person under your wing and show them how to manage their symptoms productively. I'm sure they will have a great time!

My 12 year old son is taking a minecraft mod class -- what I see click is instant-feedback.

He loves minecraft, and the instructor showed how writing 1 line of code could make breaking dirt produce diamonds; he was thrilled. He proceeded to change it to produce anything he wanted (eggs, TNT). When the instructor went into classes and constructs and the scaffolding to create a block, he was lost. (But to be honest, so was I !)

He loved programming in Scratch -- I know that's simple but it gives you instant feedback to make stuff. I'm thinking about showing him Python -- it's easy, quick feedback, a little less OO dependent.