I've found that a deck of cards and some patience can really help people understand the tiny step by tiny step thinking that is fundamental to computer science and programming. Things like sort this row of cards (following only these rules) and, yeah it's frustrating to do that over and over, lets group those together in a new rule called $X, and so on gets that thinking instilled better than any amount of explaining the programming language ever did. Later, introducing the computer in the mix actually seems easier once the student is accustomed to thinking like a computer.