Teaching My Kid Programming in C.

I bought the Freetronics Arduino Starter kit as a christmas present for my 11 year old.
So now in feb he is playing with sensors, learning about logic levels, cut an pasting code and even writing his own code.

Thing is: He hasn't learn't any algebra at school.
He has no knowledge of C and my knowledge is only rudimentary - though I do know some programming theory and can write code in a BASIC and MAXscript.

So how am I meant to teach my son basic syntax and concepts in C when I barely know them myself?

Has anyone got any useful pointers: Preferably books (I know - old skool), but really any help will do as Explaining a FIFO stack, Polling, BCD math, Binary math, Interrupt handling and even some basic syntax is difficult if you are learning it yourself.

Also can anyone point to a good tutorial to teach him algebra - he really needs to know for some of the physics that we are doing together?

I think you might find Arduino CookBook useful.
Also look at the reference an playground sections of this web site.
Go though all the examples that come with the installed Arduino IDE.

Also look a the Adafruit a Sparkfun web sites for tutorials.

Enjoy the Arduino with him.

My guess is that if he is interested he will soon know far more than you do. Kids are like sponges.

I suggest that you don't try to teach him but, rather, that you make it clear you are there to provide assistance if he gets stuck.
I'm not sure how you feel about an 11-year old using the internet (it was not there when my kids were that age) but it would be good to teach him (by example) how to find answers for himself.


Not exactly c programming but a very good way to learn algrebra. This has been tried on 2'nd graders and they could do it.
Matchbox equations

There was a androis version before but i cannot find it

How fun to see 11 years old kids learning programming and arduino. I can not imagine what the world will be within next century:) I wish best for him.

For math Look at:

There are gazillions of free c tutorials on the web. Just look at a few, and find one that seems "digestable".

Ray L.

You can learn from a professional at no cost…

(Other universities have similar online courses.)

Normally I shy away from these but topics, but you you two items I'm keen about. Teaching stuff to and working with my kid, and I know a GREAT book for learning C.

This is the first edition. This is the one I learned how to program in C. I noticed there are also 2nd and 3rd editions available, but I don't know what is different or how good they are. I can't say enough about the first edition. It is a fun read and will have you programming all the way along. It is geared for programming a PC, but I think the concepts cross over well.

For mathematics as a whole, i would recommend you give the boy the latest version of the software maple.

i realize the MATLAB nazi brigade will post soon after saying of course MATLAB is better, but the reason i say maple is because the interface of maple will give him a great grasp on writing mathematics formally, (properly) as well as the fact that it comes with a code conversion package that will enable him to see how/if his algebra will work in a range of languages ie C, VB and others.

However, because of his age, i recommend monitoring his use of maple to ensure he understands the mathematics of expressions the maple kernel automatically simplifies and reduces for him, so he is aware of the extent that his artificial assistant has made life easier for him, to prevent any complacency being allowed to develop over having the advantage of such amazing technology.

He should also be praised greatly for his level of what i consider “true” curiosity at such a young age which he has shown thus far.

I wrote a little basic intro to programming you guys might want to check out. Feel free to ask questions and what not there. I used to teach so I understand the process of teaching & learning.


certainly opens on the right note in that feeling intimidated by anything since wishing something away so very rarely achieved successfully just as it took me only say 8 decent years of math and physics continously but avoiding the "artificial's" judgement of assertions I had made in my premises, at (least to mentally retained extent) mainly because it behaves as nature does as a result of being powered by a force of one,the dynamics an indiscriminant transaction of a quantized particles in a field that in a lot of respects acts like gas and liquid systems in its level of chaotic behavior but on a different order of magnitude in that individual elementary charges are the currency in one, and in the other the currency is atomic (any multiple N+Z of elementary charge clusters with number of component particle systems>1)

alright i just found anti-quated first in the spell check for quantized guys thank you who ever the comedian is :expressionless:

So how am I meant to teach my son basic syntax and concepts in C when I barely know them myself?

Start with the example code that comes with the IDE, preferably the simpler ones.

Make small projects, gradually build into something larger. Eg. blink an LED. Then blink it when you close a switch. Then blink it 5 times when you close a switch. Then blink it 10 seconds after you close a switch.

You (and your son) will learn new skills each time. Build on that.

Don't worry about algebra too much, programming is more like logic than algebra.