素朴な疑問…2020年度からの小学校からのプログラミング必修化
どうも!LSSです!!
ちと疑問に思い続けていた事があります。
記事タイトルの通りなんですが「2020年度からの小学校のプログラミング必修化」について。
周囲に小学生がいないので分からないのですが、これって実際に始まったんでしょうか?
ググっても「これから始まる」って話以外見つけられず^^;
ある程度調べていた話
「プログラミングそのもの」を授業で行うのではなく、「プログラミングの考え方を学ぶ」という話をどっかで見かけていました。
プログラミングの考え方…というとアルゴリズムの事なのかな?
例えば
「1から100までの整数を全部合計したらいくつになるかを計算するプログラムを作るには、どんなプログラムを書けば良いか?」
という問題に対して、
- 計算用の変数を用意して、最初は0にしておく
- ループを用意して、ループ制御変数を1から100まで、1づつ足しながら、最初に用意した計算用変数にループ制御変数の値を足す
- ループが終了したところで、その時点での「計算用変数」を出力する
というプログラムを書けば、期待通りの結果がでそうです。
そのプログラムを書く前の、上記のような手順を考える事、が自分の考える「プログラミングの考え方」なんですが、実際のところ小学校ではどうなんでしょう?w
ちなみに、上記のプログラム、様々なプログラム言語で書く事ができますが、JavaScriptで書くと、
コード
a=0;
for(i=1;i<=100;i++){
a=a+i;
}
document.write(a);
みたいなコードになります。
↑実際にそのコードを入れてみましたw
まぁ、学校で何やってるかは置いといて
自分でもそれにちなんで何かできないか?みたいな事はずっと考えてたりもしました。
大人も子どもも楽しんで、プログラミング的な思考を身につけられるようなもの。
例えばこんなのはどうだろう?
※以下、妄想。わけわからなったらすみません^^;;;
「プログラム迷路ゲーム」
それほど大きくない迷路のスタート地点に「ロボット」がいます。
「ゴール」があって、「ロボット」に指示を出す事でゴールまで移動させたらクリア。
「ロボット」への指示は、別途並んだ「指示マス」に「現在使用可能なコマンドパネル」を順番にセットして「実行」する事で、ロボットは順番通りに指示をこなして移動します。
ところが…最初に使用可能な「コマンドパネル」は「下にひとつ移動」だけ。
そしてスタート地点からまっすぐ下に移動したところには「右にひとつ移動」の「コマンドパネル」が置かれており、「ロボット」がそこに到達する事で、次回から取得した「コマンドパネル」も使用可能となります。
セットした「指示マス」を全てこなすと1回終了となり、「ロボット」はスタート地点に戻り、また改めて「指示マス」に「コマンドパネル」をセットしますが、取得済みの「コマンドパネル」は使用可能となります。
そうして何度かやり直しを続け、最終的に「ロボット」が「ゴール」に辿りつくように「コマンドパネル」を「指示マス」に並べ、「実行」する事でゴールに到達すればゲームクリアとなります。
使用可能なコマンドパネルは、基本的な
「上にひとつ移動」「下にひとつ移動」「右にひとつ移動」「左にひとつ移動」
の他に、
「壁に当たるかマーカーを踏むまで、直前の移動方向に移動し続ける」
「マーカーをセットする」
などトリッキーなものもあります。
うまく組み合わせる事で
「少ない手順(指示マスに置くパネル数を少なく)でゴール到達」
を目指す事も可能。
こういうのは文章で書くより
絵で説明するか、実物作れ、って話ですねw
自分で書きながら「ちょっと面白いものが作れそう」な気がしてきましたが…作るかどうかは未定です^^
ってなとこで、今回はこのへんで!
次回もまた、よろしくお願いします^^