I have encountered a lot of people who earnestly want to learn to program. But it is difficult as we all know - and a big part of that difficulty is learning to think in terms of process and small discrete steps.  When that is confounded with annoying things like syntax pickiness, dealing with OS oddities and compiler warnings, the result is a lot of long-term confusion in folks learning.<p>I&#x27;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&#x27;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.