プログラミングで多くの人が最初に躓くのが、変数。
「変数」というと、数学のたとえば、y=2x のyとかxですね。
算数または数学が嫌いだと、変数という言葉だけで拒絶反応を起こします。
でも、プログラミングでの変数は、数学の変数とはかなり意味が違います。
プログラミングの入門書を読むと、「引き出し」という例で語られることが多いです。
たとえば、
$a = 1;
というプログラムの場合、「$a という引き出しに、数字の1を入れておきます。」のように説明されます。
随分昔の話ですが、「引き出し」と言われてもピンと来なかった記憶があります。
もちろん、間違いではないのですが、個人的には、ロボットを人に例えた時に、コンピューターは脳にあたるので、「引き出し」と例えるよりも、脳内の記憶、つまり「メモリー」と考えたほうがすんなり理解できるのではと思います。
なので、
$a = 1;
ですと、「$a というメモリーに 1 を記憶します。」 と説明されたほうがピンとくるのではないでしょうか?
そうやって、なるべく体感的に理解できるように教えてあげたいと日々考えてます。