• ITの教室 – インターネットやスマホのこと

新しい教育用語をまとめるシリーズ、今回はプログラミング教育です。

言葉の通り、プログラミングを学ぶ授業です。2020年から小学校で必修になる予定なので、先生・研究者・教科書会社・教材会社などの教育関係者にとってはホットな用語です。

「小学生にプログラミングを書かせるの?」「難しくないの?」「他の教科の方が大切では?」といった指摘もあるのですが、「プログラミング」という言葉のイメージが強く影響していて、ちょっと誤解しやすいかなと思っています。

これから普及する言葉で人によってとらえ方も様々だと思いますが、エンジニア視点でいろいろ調べた結果、私は次のように考えています。

 

【プログラミング教育の目的】

大きな目的はプログラミング的思考と呼ばれる考え方を身に付けることです。

今までは限られたエンジニアが扱うものだったコンピューターやプログラムですが、パソコン・スマホ・インターネットの普及によって、広くみんなが使えるものになりました。
一方で、人工知能や機械学習、ビックデータ分析などより高度な領域で最先端のプログラムが作られています。

子供たちが大人になる将来、今以上にたくさんのコンピューターやプログラムが生活の中に組み込まれることが予想されます。高度なプログラムを組み込んだ、新しいサービスや製品が開発されていることでしょう。
プログラミング的思考はこれらのサービスや製品の仕組みを理解するために必要な力ということで小学校の授業に取り入れられるようです。

現在、IT人材と呼ばれるプログラマーやシステムエンジニア、中でも人工知能やデータ解析などを取り扱う高度IT技術者の不足が深刻です。小学校からプログラミング教育を行うことで、多くのIT技術者を育てることも目的の一つです。

 

【プログラミング的思考】

プログラミング的思考とは「複雑な処理」を「単純な命令の集合」に置き換えるための考え方です。

プログラムはとても単純な命令の集合です。逆に言えば、たくさんの単純な命令を組み合わせることでとても複雑な処理を行っています。例で考えてみようと思います。

お題を「くつしたをはく」とします。
3歳くらいの子供であれば言葉で伝えるだけでくつしたをはいてくれると思いますが、これを「単純な命令の集合」に置き換えることができます。

これだけ見るとなんだかくどい感じですが、この「くつしたをはく」を細かい動きに置き換えることがプログラミング的思考の例です。
「くつしたを持ってくる」も更に「クローゼットまで行く、引き出しを開ける、くつしたを探す・・・」と細かくできます。

 

【具体的には何をする?】

カードをつかって、「単純な命令」を組み合わせるパソコンを使わない授業や、ブロックをつなげることでプログラムが書けるビジュアルプログラミング言語を使った授業が始まります。(一部では始まっています。)

ビジュアルプログラミング言語としては、マサチューセッツ工科大学の研究所であるMITメディアラボが開発したScratch(スクラッチ)が有名です。
NHK教育でもWhy!?プログラミングという番組があり、ITエンジニアでもある厚切りジェイソンさんが出演して話題になりました。他にも、ビスケット、コードモンキー、CodeStudio、プログラミン、グリコードなどなど、沢山の子供向けプログラミング学習環境があります。

※Why!?プログラミングは2016年12月現在、NHK for School(http://www.nhk.or.jp/gijutsu/programming/)から見ることができます。

簡単な問題から始まって、だんだん難しい問題を解いていくうちにプログラミング的思考が身につくような課題が用意されています。ゲームのように作られているので、楽しみながら全部クリアしたくなってしまいます。

入門編の教材やアプリを調べている範囲では迷路をクリアするタイプがほとんどでした。中級編ではゲームを作ったり、動く絵本を作るなど多彩になります。その後は、自分で考えたアイデアをプログラミングで形にする段階ですので、必要なプログラム言語や開発環境を用意するところからになると思います。

 

【まとめ】

プログラミング的思考の特徴の一つは複雑なものを分割して考えることです。分割することで、共通点を探して効率化したり、複雑な状態では見えてこなかった課題や解決方法を見つけることができます。
普段は意識していませんが改めて振り返ってみると、エンジニアとして仕事をしている時はこの考え方を使っている場面が頻繁にあります。

program(プログラム)を直訳すると手順となりパソコンやインターネットがない時代からずっと利用されてきた考え方だと思いますので、学校で基本から学ぶ機会が作られることはとても良いと思います。

 


コメントを残す

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