演算子+-×÷の扱いや=の扱いは、丁寧に指導したいところです。
試行的にプログラミング授業を行うにあたり、このあたりの方針をたててみました。
イコール「=」の扱い
数学を勉強している生徒にとっては、左辺と右辺が等しい記号という認識です。
JavaScriptでは、代入や割り当ての意味になります。
つまり
右辺を左辺の入れ物に入れる
ということになります。
例えば、i=0を理解するためにi←0というイメージで話しを進めていきます。
ちょっとニュアンスが違うのが伝わってくれるといいのですが・・・
i = i + 1で指導
for文などで繰り返し処理を利用するときに、定義したiを増やしていく処理をします。
定義したiにi+1をしていくので、基本形は「i = i + 1;」という書き方かと思います。
実務的には、これを省略した形として「i += 1;」や「i++;」といった形があります。
特にfor文では、
for (let i = 0; i < 10; i++){ 繰り返し処理 }
といった形で、もはや「i++;」が定型文のようになっています。
が、ここであえて「i = i + 1;」で指導しようと思います。
理由としては、
- 処理の動きを具体的にとらえることができる
- 省略形では、正直そこで何が起こっているのか見失いやすい
といったところでしょうか。
比較演算子も絞って指導
算術演算子と比較演算子は、これまで算数や数学で学んできた部分があるため、生徒にとっては初めての組み合わせを知れば十分ではないでしょうか。
算術演算子ならば
-
+加算
-減算
*乗算
/除算
%剰余
**べき乗
比較演算子ならば
-
<小なり
>大なり
<=小なりイコール >=大なりイコール
===完全一致
!==完全不一致
&&AND
||OR
こんなもんで、とりあえずは十分なように思っています。
「==」や「!=」などもありますが、今回はスルーでいいかなと思っています。
ポイントは「=」だけでは一致を意味しないというところです。
前にも書きましたが、入れ物に入れるイメージなんですよね。
まとめ
基本の方針としては、プログラムがどのように動いているか見える指導をしたいと思います。
高校におけるプログラミング教育としては、テクニックを教えたいわけではないのです。
細かな知識や違いなどは、正直ググればわかってきたりしますしね。
実際にプログラムを工夫して書かせるのであれば、ググりながら進めさせる方が実務的じゃないかと思います。
コメント