プログラミング 教育

学校でのプログラミング教育について思うこと

新米プログラマで、教員免許(中高数学)保持者な@daiki です。今日は学校教育におけるプログラミング教育について思うことを書いていきます。

まず、プログラミング教育が実施されることが決定された今、プログラミング教育は必要ないと主張することが非生産的であることを前提にこのエントリを読んで頂きたいです。このエントリはいかに実施が決まったプログラミング教育をより効果的に指導するか、ということを考えていきます。

まず、文部科学省がプログラミング教育において育むべきものは「プログラミング的思考」である。としていることに着目します。プログラミング的思考とは、平たくいえばプログラミングが出来るようになることではなくて、プログラミングがしていることが何か理解することだと考えています。

私たちプログラマが普段から書いているプログラムは、複雑になりすぎていますが、根本はある命令を出す、それを繰り返す、条件で分岐すると言うところだと思います。(要するに、計算機に対して「段取り」をする)

これらの3要素を組み合わせて機械にさせたいことをプログラミング言語化(厳密には、言語にしなくても良いがコンピュータ上で何らかの一連の「段取り」が実行される必要がある)することが児童・生徒には求められるようになったわけです。

調べ物学習との対比

現在、コンピュータを使った「調べ物学習」は広く学校生活で行われていますが、この「調べ物学習」はプログラミング的思考を養うというよりも、「リファレンス能力」「インターネットリテラシー」を養うことが主目的になっています。

ということは、(あたりまえですが)プログラミング教育をこれまでのいわゆる「パソコン室を使う授業」・「調べ物学習」と同一に考えてしまってはいけないということです。

教科教育での電卓の利用

そこで着目していただきたいのが、「電卓(四則演算電子計算機)の利用」です。電卓は、小学校算数科ではじめに使用方法の手ほどきを受けると、その後他教科であっても、はたまた部活動や特別活動においても統計的な処理に用いられることをよく見かける(もしくは先生方にあっては実践されている)と思います。

児童生徒が学校教育を巣立ち、社会活動を行うようになった時もいわゆる事務作業は電卓を用いて行われることが一般的となっており、電卓を使用することに抵抗のある方は少ないのではないかと思っています。

ところで、「電卓の利用」のためには算数・数学の知識以外にも必要なものがあることにお気づきでしょうか。電卓を使用すると言うことは、電卓に数字・記号を入力する・電卓の表示を読むといったインプット・アウトプットのいわゆる「技術」と、電卓が理解できるように数式を変化させる「段取り(およびそのための知識)」が必要です。

電卓における「段取り」

例えば以下の数式を考えてみてください。

1 + 2 × 3 = 7

何の変哲も無い小学校〜中学校レベルの数式ですが、この数式を一般の四則演算のみの電卓に入力しても正しく動作しません。様々に入力する方法(メモリをつかうなど)はありますが、一番単純に電卓で上の式を処理するためには次のように命令をする必要があります。

2を入力
×を入力
3を入力
+を入力
6が表示される
1を入力
=を入力
7が表示される

当たり前ですが、電卓でそのまま式を入力すると、1+2が先に実行されて、その結果を3倍したものが出てくることは明白です。しかしながら、小学校時代(もしくは初めて電卓をさわったとき)はこのことに戸惑った方も多いかと思います。

このように、実行させたい数式を電卓に処理させるため変化させる「段取り」が必要と言うことは、実はすでにプログラミング教育は学校教育の中に知らず知らずに導入されているのです。こう考えてみると、プログラミング教育は実はそんなにむずかしくないのでは?と思えるのではないでしょうか。

とはいっても、「プログラミング」はどうしたら(どう教えたら)いい?

上に述べたように、段取りを組ませるというのはすでに学校教育に取り込まれており、電卓に限らず様々な段取りを考えれば何かを「計画する」ということはすべてプログラミングといっても良いかもしれません。

しかし、途端「プログラミング」という名詞を出されると何かコンピュータに命令を出さなければならない(実際そうなのですが)と思ってしまい、苦手意識を感じる方も多いと思います。

そこでその意識をまず取り除くところから必要なのではないか?と思うわけです。

電卓に「音が鳴るキー」があったとしたら

通常電卓に音が鳴るキーはありませんが、画面の表示内容に応じて様々な音階が鳴る「♪=」というボタンがあったとします。例えば0が表示されるとド、1であればレのように音が鳴るとします。

すると、「0123210」と表示されているとき、「♪=」を押すと「ドレミファミレド」と音が鳴りメロディを奏でることができます。単純ですがこれが後述のようにプログラミングの本質です。

実際はプログラミングは電卓の延長

上の音が鳴る電卓のように、電卓に音が鳴る命令以外にも、何かを描画する、色が変わる、LEDが光るといったような様々な命令を加えていくとだんだん電卓が電卓らしくなくなってきます。まるで電子楽器や簡単なゲーム機のようです。電子楽器やゲーム機の論理的な基礎設計(どう動作するかという物理・機械・機構的な部分以外のところ)はいわずもがな「プログラミング」が行われていることはどなたでも想像に難くないと思います。とすれば、たくさんの命令が付いた電卓に段取りを与えると言うことは「プログラミングをする」ということにならないでしょうか。そう考えるとそんなにむずかしくない、そう思いませんか?

最近のプログラミングは「書かない」

そうはいっても「プログラミングなんて書いたことはないし・・・」という方も多いかと思います。そういった際にはScratchなどの「書かなくて良い」プログラミングを行うのが良いと思います。いわゆるプログラミングのイメージは、プログラマがパタパタとキーボードを高速で入力して訳のわからない画面で何かをしている・・・という情景を思い浮かべられがちですが、最近はマウス操作と少しのキーボード入力だけでプログラミングができるようになっており、必ずしも上に述べた情景は正しくありません。

ここでScratchについて詳しく述べることは、紙面の都合上(実際はブログなので無限ではありますが)割愛させていただいて、代わりに大変参考になる小学校向けの文部科学省の資料へのURLを貼らせていただきます。

小学校プログラミング教育に関する研修教材http://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416408.htm

教育者が苦手意識を持つと教え子に伝搬する

教科教育でもそれ以外でもそうですが、教育者が苦手意識を持っているとそれは児童生徒にたやすく伝搬しがちです。プログラミング教育なんてできない、得意な先生に任せればいい、といった思考はいったん置いておき、誰でもできる物なのだ、ということを念頭に置きプログラミング教育に向き合っていくとよりよいプログラミング教育につながっていくのではないでしょうか。

また、この記事では主に学校教育の場でプログラミング教育をすることを念頭に置いて書いてきましたが、家庭教育においても同じだと考えています。子どもに苦手意識を感じさせないよう、親御さんにおいてもプログラミング教育の理解に取り組み、一緒に学習していこうとする姿勢がどんな教本やプログラミング教育ツールよりも、子どもたちにとっては最高の教材となるのではないでしょうか。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

CAPTCHA