2016年4月13日水曜日

テクニックじゃない算数の教育が必要

テクニックじゃない算数の教育が必要~小学生のためのプログラム~

結構前のことになりますが、小学生の息子の算数のテスト結果で、「掛け算の文章問題」で、計算式で、掛ける順番が間違っているといって「×」になっていたことがありました。


答えは「○」でした。

うわさには聞いた「掛け算の順番問題」でした。



問題は、


「3人の子供に、5枚づつクッキーを配ると、全部で何枚必要か?」

といった感じのものです。



この場合、計算式としては、「 3 × 5 」か「 5 × 3 」が考えられますが、息子は「 3 × 5 」と書いて「×」になりました。

私も、最初は、なぜ「×」なのかわかりませんでした。(ひっかけ問題や、なぞなぞの類?とも疑ったりしました)

調べてみると、小学生の算数(特に横浜市の教育指導要領では?)、掛け算の順番については、指導通りでない場合は、「×」とするようになっているらしいです。

その指導とは、なんでしょう。

上の問題の場合、

まずは1人に何枚配るか?(5枚)を考えて、それから何人いるか?(3人)を考えます。

1人に5枚づつで3人いるのだから

5 + 5 + 5 つまり 「 5 × 3 」ということのようです。


どうでしょう? わかりましたでしょうか?


わかりません




ですから、まず、1人でいくつかを先にして、何人いるかを後から掛けるということです。



ぜんぜん、わかりません

なんで、「 3 × 5 」じゃダメなんですが?
答えは、同じ「15」じゃん。


(困った先生は)

「文章内で「~づつ」と書いてある方を前にして掛けます」
とか、
「答えの単位(上の場合、”枚”)と書いてある方を前にして掛けます」
そうじゃないと「×」になります。

といったような指導することも多いようです。

テストで正解するためのテクニックとしての解き方を教えているわけですね。


なぜ、掛け算の順番に、こだわるのでしょうか。

調べてみると、掛け算の順番に、こだわる理由は、掛け算の場合(足し算もそうですが)文章に出てくる順番で掛けても正解できてしまいます。

しかし、掛け算の次に習う割り算では、そうはいきません。


たとえば、


「3人の子供に15枚のクッキーを、同じ数づつ分けるには、何枚づつになるでしょう?」

といった問題の場合、出てきた順番通りですと「 3 ÷ 15 」としてしまい、間違ってしまいます。


こういった問題を解くには、正しい順番で計算できるようになる必要があります。



そのために、単位となる数(係数:けいすう)と変動する数(変数:へんすう)を正しく理解させるために、計算式の順序に、こだわったのが、元々の考え方のようです。



ただ、生徒全員に理解してもらうのは、とても大変ですので、ついついテクニックだけの指導になってしまったのではないかと思います。(本質を理解されていない教員も少なからずいるようですが)



学習塾でも、テクニックのみを教えるところも多いのではないでしょうか?


ですが、それだけだと、みんな算数キライになっちゃいますね。
こんな窮屈で納得できない勉強はつまらないですもんね。


ちゃんと、納得/理解してもらえるまで、トコトン教えて頂きたいと思ってます。

大変だとは思いますが、学校でプログラミングを教えるよりは、ずっと楽だとは思うのですがね。
(プログラミング教育が必修科目になった際には、まずは算数/数学の先生が教えることになる気がします。。。)



2016年4月3日日曜日

ネコ、ボタン連打で走る(小学生のためのプログラム<スクラッチ編>~その6~)

ネコ、ボタン連打で走る~小学生のためのScratch入門~

前回までは、実行ボタン(緑の旗)を押すことで、ネコが画面の右端に走っていきました。

今回は、キーボードの「スペースキー」が押されるたびに移動するようにしてみましょう。

キーボード入力を使ってみましょう

スクラッチを起動してください。

下のように、プログラムを作ってください。




「(スペース)キーが押されたとき」から始まっているブロックのかたまりは、「スペース」キーが押されるたびに実行されるプログラムです。

ただ、このままだと「よーい、ドン」と言う前に、「スペース」キーを押しても移動してしまいますね。

「よーい、ドン」と言うまで「スペース」キーを押しても移動しないようにするには、どうしたらよいでしょうか?


変数を使えば、できそうですね。



変数「スタート」を用意します。
そして、最初に変数「スタート」に「0」を入れています。
そして、「よーい、ドン」と言った後に変数「スタート」に「1」を入れます。

スペースキーが押されて動くプログラム側では、変数「スタート」が「1」の時に
移動するようにしています。

「よーい、ドン」と言うまでは、変数「スタート」は「0」になっているので、スペースキーが押されても動かないようになります。

どうでしょう?

なんだか、ゲームが作れそうな気がしてきませんか?

次回からゲームの作成をしていきたいと思います。


<追記>

このプログラムだと、スペースキーを「押しっぱなし」にしても動いてしまいますね。



スクリプトを修正して、「<<スペースキーが押された>ではない>まで待つ」を追加してみてください。

スペースキーが一回押されるたびに、「スペースキーが押されたではないまで待つ」ということはスペースキーが”離される”まで待つという意味になります。(ちょっと分かりづらいですね)

これで、スペースキー連打で動くようになったと思います。

ネコ、スピードを変えながら走る(小学生のためのプログラム<スクラッチ編>~その5~)

ネコ、スピードを変えながら走る~小学生のためのScratch入門~

今回は、ネコの走るスピードを変えながら走るようにしてみましょう。


走るスピードを変える方法は、いろんなやり方がありますが、今回は、「(10)歩動かす」ブロックの数字を変えることでスピードが変わるようにしてみましょう。

変数を使ってみましょう

スクラッチを起動してください。


「(端に触れた)まで繰り返す」ブロックの中に「(10)歩動かす」ブロックが入っています。
これは、端に触れるまで「10歩」ずつ移動するということです。

なので、、この1回で移動する歩数を変えることで、スピードの変化を付けます。

まずは、「変数」を用意します。

変数は、歩数のような数字は、名前などの文字を入れておく箱のようなものです。

プログラムでは変数をつかってプログラムしておき、変数の中身を変えることで動きを変えることができます。

まずは、「変数」の中にある「新しい変数を作る」をクリックします。




変数名は、「歩数」にしておきます。
そして、「OK」をクリックします。



すると上のようになると思います。

そうしたら、「□歩数」を、「(10) 歩動かす」の数字の部分に、ドラック&ドロップします。



実行したらどうでしょう?

あれ?その場で走るだけで移動しませんね。

これは、変数「歩数」の中身が「0」になっているからです。

歩数の中身を入れてみましょう。

「(歩数)を( 0 )にする」ブロックを「スクリプト」タブにドラック&ドロップしてください。

そうしたら、歩数を「10」にしてください。



今度は、どうでしょう?
ちゃんと走りましたね。

歩数の数字を「2」に変えてみてください。
移動するスピードが遅くなったと思います。

この変数「歩数」の中身を変えることで、スピードが変えることができました。

次に、歩数の中身を、1から10の間で、バラバラになるようにしてみましよう。

「演算」の「(1)から(10)までの乱数」ブロックを「スクリプト」タブにドラック&ドロップしてください。

そうしたら、「(歩数)歩動かす」ブロックの上に追加してください。



これで、実行してみてください。

どうでしょうか?
早くなったり、遅くなったりしたと思います。

次回は、キーボードのボタンを押すたびにネコが移動するようにしてみようと思います。


ネコしゃべって走る(小学生のためのプログラム<スクラッチ編>~その4~)

ネコ、しゃべって走る~小学生のためのScratch入門~


前回、ネコが画面の端を走っていくようにしました。
今回は、もう少し処理を追加してみましょう。

実行する度に、ネコを左端に移動させるのは、面倒なので、実行時にスタート地点に移動するようにしてみます。

前処理(準備処理)を追加しましょう

スクラッチを起動してください。

実行する度に、ネコを左端に移動させるのは、面倒なので、実行時にスタート地点に移動するようにしてみます。

※前処理(準備処理)で、処理を始める前の準備を行うのはプログラムの基本です。

「動き」の「x座標を(   )、y座標を(   )にする」を「スクリプト」タブにドラック&ドロップしてください。

「(緑の旗)がクリックされたとき」の次に、挟んでください。

そうしたら、「x座標を(-191)、y座標を(5)にする」としてください。

また、スタート時に、ネコが「よーい、ドン」と言って走り出し、最後に「ゴール」と言うようにもしてみましょう。

「見た目」の「(こんにちは!)と(2)秒言う」を2つ、「(こんにちは!)と言う」を2つ、「スクリプト」タブにドラック&ドロップしてください。

そうしたら、下のようにしてください。




「(ドン)と(0.3)秒言う」の下に「( )と言う」と文字が入っていないブロックがありますが、ネコの吹き出しを消すためのものです。
これがないと、ずーっと「ドン」と言い続けながら走ってしまいます。



実行してみましょう。

どうでしょう、うまく動いたでしょうか?

次回は、ネコが早く走ったり遅くなったりするようにしてみましょう。
(変数を使います)