I have an opportunity to run four classes of about half an hour, with 7 to 8 year olds (my sons age). This is part of a program called STEM professionals in schools. All I am there to do really is help kids see themselves as potential scientists or mathematicians, and to see the subject as fun and interesting (with kids this young, just being a visitor in the classroom is already fun and interesting). I bring along a set of little cards I made up of my (very diverse in background) colleagues and talk about them in an introduction lesson.
These are my Computer Science lesson ideas:
Word unscrambling. This is already a familiar exercise from homework. Each child gets a worksheet with a words 3-12 characters long to quickly unscramble. We talk about why it was easy to unscramble 3-letter words and hard to unscramble 12-letter words. Then get ideas from the kids about instructions to solve the problem without knowing what the word is. [Algorithms, algorithmic complexity, optimisation tricks that work for computers and people alike (common letter sequences like '-ion').] This one is pretty well worked out, but happy to hear of anything I can do to make it cooler.
Substitution coding. Starts out as how to pass a secret message like a spy. My aim is to end up with something like a compiler or maybe zipf encoding - substitution rules that make the encoded message denser than the final form. Here, I'm a bit stuck for a solid example. Maybe a cipher system with a limited vocab? The principal concept is [substitution / naming / functions].
Logo. Basically a demo lesson using function definition in Logo to draw something recognizable (Captain America's shield, say), comparing how easy it is if I create my own substitution rules (functions). Also demo recursion, substitution inside the substitution rule with the Koch snowflake, maybe some other fractals. This is a demo of Logo, concept is mainly [functions].
Handwriting recognition deep learning. Set up a recognizer (this is easy enough, right?) and give the kids a chance to test their own handwriting (this will be hardest on my son, I reckon). Discuss how it works as lots of layers of functions which had to learn to work together. [machine learning]