直感でプログラミングできるスクラッチ

プログラミングは論理思考の積み重ね

プログラミングは、論理的にものごとを考える能力が問われます。なぜなら、プログラミングによって動かしたいコンピュータが、論理的に命令しか受け付けてくれないからです。逆にいうと、曖昧な表現や一を聞いて十を知るといったことが苦手なのがコンピュータです。

しかし、小学生くらいの子供にとって論理的に物事をとらえ、それをプログラミングに落とし込んでいくのは難易度が高いことだと言われています。

そこでプログラミングをもっと直感的に映像(ビジュアル)を使って楽しみながら学ぶことができるツールがスクラッチです。

スクラッチで何ができるの?

スクラッチではアニメーションやゲームが作れる

これからの時代は「ないものは作る」という時代になるでしょう。これはつまり、ゲームが好きという子供よりも、ゲームを作るのが好きという子供が増えてくるようなものです。

実際に、スクラッチを使って自分で考えたアニメーションやゲームを作っている子供たちは世界中にたくさんいます。(スクラッチの利用者数

日本では、まだそういった「自分で作る」という子供は少数派ですが、プログラミングが2020年に義務教育に盛り込まれ、プログラミング自体が身近な存在になることで、「自分で作る子供たち」が増えていくことは間違いありません。

自分でゼロから始めるゲーム作りにはまってしまうと、その面白さから離れられなくなるという子供は今後増えていくと考えられています。

スクラッチの構成要素と仕組み

1.ブロック

スクラッチの要素としてまず挙げられるのは「ブロック」です。

このブロックと言われる要素は、コンピューターに動きを命令できる機能があります。このブロックをうまく組み合わせることによって、コードと呼ばれえる命令文(多くが英語使用)を直接書き込まずにプログラミングすることができます。

ブロックの例

  • ○歩動かす
  • ○度回す
  • もし、端に着いたら跳ね返る

2.スプライト

スクラッチの要素の2つ目として「スプライト」があります。

スプライトとは、スクラッチで動かすことができる画像(キャラクター)をさします。デフォルトで設定されているスプライトは猫です。

スプライトの例

スプライトには、様々な種類があります。例えば、動物・文字・人物など多くのスプライトがライブラリーに用意されています。

動物のスプライト例
文字のスプライト例
人物のスプライト例

オリジナルのスプライトを追加する方法

様々なスプライトがすでに準備されていますが、オリジナルのスプライトを追加することも可能です。

スプライトを描いて追加する

スクラッチには、新しいスプライトを描く機能があります。スプライト画面の右上に表示されている4つのアイコンのうち、左から2つ目のペンのアイコンをクリックすると新しいスプライトを描く画面が右手に表示されます。

新しいスプライトを描く画面
新しいスプライトを追加する画面

ファイルからスプライトを新規追加する方法

自分の撮った写真やもらった画像からスプライトを追加する方法もあります。

  1. まずは使用したい画像や写真を使っているコンピュータデバイスに保存します。
  2. そのあと、スクラッチの編集画面の左下にあるスプライト画面の右上にある4つのアイコンの右から2つ目のアイコンをクリックします。
  3. 次に追加したい画像ファイルを選択して「開くボタン」をクリックするとスプライトを新規追加することができます。
ファイルからスプライトを新規追加する画面

スプライトには背景をつけることができる

デフォルトでは背景は白い画面になっています。

しかし、ライブラリーに用意された背景から1つを選択すると、スプライトの背景を設定することができます。

デフォルトの背景は白い
ライブラリーからboardwalkという背景を選択した画像

ライブラリーに用意された以外の背景をオリジナルで作成してアップロードすることもできます。

3.音

スクラッチを構成する要素の3つ目は「音(音楽)」です。

スクラッチには、作成したアニメーションやゲームに音楽をつけることができます。

スクラッチの画面右側にある3つのタブの中に「音」というタブがあるのでクリックします。デフォルトで用意されている音は「ポップ」という2秒ほどの音です。

この音は、編集や効果をつけることができます。効果には、フェードイン・フェードアウト・大きく・小さく・無音・逆向きの6種類があります。

音を増やしたいときは、すでにスクラッチ内のライブラリーに用意されている「人・動物・楽器・効果」などの音を追加することができます。

また、自分で作成した音楽や友達にもらった音を使いたい場合は、ファイルからアップロードすることもできます。

その他にも、スクラッチ画面で音を録音して使うこともできます。

このように、スクラッチは3つの要素(ブロック・スプライト・音)を使ってアニメーションやゲームを直感的に作ることができるプログラミングツールです。

プログラミングと英語の関係

プログラミングと英語の密接な関係

プログラミングと英語は切っても切り離せない関係です。なぜなら、プログラミング言語の多くは英語圏で開発され、実際にプログラミングを書くとき「if」といった簡単な英語を使用します。

これからプログラミングを学ぼうと考えている人の中には、「英語が全然できない・・・」「一度に英語もプログラミングも学ぶことができるのか心配だな・・・」と不安に感じる方もいるかもしれません。

でも心配する必要はありません。プログラミングと英語は密接に関係していますが、必要とされる英語力のレベルはそこまで高くないためです。

英語ができなくてもプログラミングはできるの?

結論から言えば、「プログラミングで何かを作りたい」と思っているのならば中学生レベルの英単語や英文法を理解している方がスムーズに進めることができます。

しかし、最近は小学生向けのビジュアル思考のプログラミング言語も増え、英語の知識がなくてもプログラミングすることができるようになりました。

実際に、小学生向けに作られたプログラミングツールScratch(スクラッチ)は、英語を使用することなくプログラミングを行うことができます。

英語に苦手意識があったり、まだ英語の素地ができていない小学生には、このようなビジュアルプログラミングツールを使用してプログラミングすることから始める方法が主流になってきました。

英語という一つの壁をスルーして、まずはプログラミングの仕組みや作成の流れについて学び、プログラミングでどんなものを作ることができるのかを体感することををオススメします。そして「プログラミングって楽しい!」「プログラミングを使ってもっとこんなものを作ってみたい!」と感じることが、後々の伸び代につながるため、とても重要だと感じています。

このように、小学生などの英語のベースがまだ出来上がっていない年齢の子供たちの場合、第一にプログラミングの楽しさを体感すること、第二にプログラム言語を使いこなすこと、とステップアップすることが重要だと考えます。

もっと複雑なプログラミングに興味を持ち始めた時に、英語をベースに作るプログラミングに移行するのがおすすめです。

プログラミングが「英語習得への近道」である理由

プログラミング学習は、継続して学ぶことでプログラミングと英語を一度に学ぶことができることにもつながります。英語への苦手意識ができる前にプログラミングを始めることで、英語への親近感を持つことが出来ます。

英語は言葉なので、実際に使うシーンが増えることでその理解が深まり、体に染み付いた忘れづらい知識をつけることが出来ます。つまり、プログラミングすることは単に「英語を学ぶ」から「英語を使う」へ一歩前進した学びを提供してくれるのです。

また、プログラミングを通して、「社会(仕事)で英語がどのように活かせるのか」を知ることにもつながります。社会で英語が使われているシーンを体感することで、より英語を身近に感じることができ、英語への得意意識へと繋げてくれます。

このように、プログラミングを通して英語を得意科目ととらえる子ども達は少なくありません。

英語が得意なら、ぜひプログラミングを試してみよう

もし、英語が得意なお子さんがいらっしゃったら、ぜひプログラミングに挑戦することをオススメします。英語が得意なら、プログラムを学ぶ上で飛び級できるからです。

どういうことかというと、プログラミング言語のベースとなる英語の基礎があれば、プログラミングの仕組みを理解するのに時間はかかりません。「プログラミングを学ぶ」というステップをスキップして「プログラミングで作る」にすぐに入ることができます。

英語が得意なら、ぜひプログラミングに触れる機会を与えてあげてみるといいでしょう。

scratch(スクラッチ)は子供向けプログラミング言語

小学校のプログラミングツールには様々なものが用意されています。その中でも、もっとも有名なのがScratch(スクラッチ)ではないでしょうか。

Scratch(スクラッチ)の歴史


スクラッチの始まりは2006年(平成18年)

スクラッチの始まりは2006年(平成18年)です。子供でも直感的にプログラミングできることを最大の目的に開発されました。

スクラッチを開発したのは、MITラボ(米国マサチューセッツ工科大学 (MIT) 建築・計画スクール内に設置された研究所)です。

2013年(平成25年)にScratch2.0にアップデート

その後、2013年(平成25年)にScratch2.0にアップデートされ、ネット環境を通して使用することができるウェブアプリケーションとして公開されました。ネット環境に繋がっていれば、どこでもプログラミングを始めることができる点が最も大きいアップデートです。また、ユーザー同士のコミュニティにアクセスすることができ、世界中にいるスクラッチユーザーの作品を見たり、スクラッチで作ったプログラミングを自分のパソコンにダウンロードしてプログラミング内容を編集することができます。

2018年には、Scratch3.0プレビュー版が公開

2018年には、Scratch3.0プレビュー版が公開されており、これが現在のところ最新のバージョンになります。

このように何度かのアップデートを経て、子供が視覚的に楽しみながらプログラミングを学べる工夫がつまった言語として知られるようになりました。

Scratch(スクラッチ)の利用者数は3300万人以上

Scratch(スクラッチ)は、子供むけプログラミング言語としてもっとも有名な言語ですが、実際の利用者数はどれほどいるのでしょうか。2018年11月時点では、3300万人以上の利用者がおり、その利用者数は年々増え続けています。

その利用者数は、Scratch2.0がアップデートされた2013年あたりから急増していることがわかっています。

scratchの利用者数の増加

Scratch(スクラッチ)のメインユーザーは10代

Scratch(スクラッチ)を利用しているユーザー年齢は、以下のグラフからもわかるように10代がメインとなります。

ちなみにScratch(スクラッチ)は8~16歳を対象に作られており、

scratchユーザーの年齢

また、スクラッチ利用者の多い国はアメリカ合衆国が最も多く、スクラッチユーザーの45%を占めています。日本でも34万人以上の利用者がおり、その数は年々増加しています。意外に思われるかもしれませんが、オーストラリアのスクラッチユーザー率は3.8%を超えており、これはアメリカ合衆国の次に多いことになります。

この他、150カ国(国や地域を含む)で利用されています。

Scratch(スクラッチ)の特徴

Scratch(スクラッチ)には大きく3つの特徴があります。

1 ゲーム、アニメーション作品が作れる

子供が遊んでいるゲームやYouTubeなど、ITやシステムを使った遊びはあふれています。一方で、それらのツールがどのように作られているかを知る機会はまだまだ少ないのが現状です。

Scratch(スクラッチ)なら、ゲームやアニメーションを直感的・視覚的にプログラミング的思考を使って作り手になることができます。

2 作った作品をコミュニティで公開できる

Scratch(スクラッチ)で作成したゲームやアニメーションなどの作品は、世界中にいるScratch(スクラッチ)ユーザに向けて公開することができます。

また、他のユーザが作成した作品もチェックすることができます。

特質している点は、他のユーザが作った作品を自分のパソコンなどにダウンロードして改造できるという点です。様々な作品に触れることで、「自分ならもっとこうしたい!」を形に変えることができます。

3 無料で使える

どんなに優れたプログラミング言語でも、利用するのに高い値段を払わなければいけないとなると使うのを躊躇したくなります。

この点においても、ネット環境さえ整っていれば、Scratch(スクラッチ)を無料で利用することができます。

Scratch(スクラッチ)の使用方法

ネット環境につなげて利用する

ウェブアプリケーションであることが特徴の一つであるScratch(スクラッチ)は、ネット環境さえあればいつでも始めることができます。特別な準備は必要ありません。

  1. https://scratch.mit.edu/projects/editor/にアクセスする

パソコンにダウンロードして利用する

ネット環境につながっていなネット環境につながっていなくてもScratch(スクラッチ)を利用することができます。

  1. Scratch 2.0オフラインエディター ダウンロードページを開く
  2. Adobe AIR最新版をダウンロードする(すでにダウンロードされている場合はこのステップは必要ありませんので無視してください)
  3. Scratch 2.0オフラインエディターをダウンロード/インストールします。

ダウンロードが完了したら、お使いのパソコンでScratch(スクラッチ)を利用することができます。

小学校編|プログラミング教育の目的

なぜ小学校でプログラミング教育が始まるのか?

2020年から、小学校でプログラミングが必修化されます。この背景には、AIの発展によって予測不可能な未来を、子供達が生き抜くための教育を行う必要性が出てきていることが理由に挙げられます。

AIの発展による予測不可能な未来とは?

一言で言うと、「人工知能によって人間の仕事が奪われる可能性がある未来」です。

このような表現をすると、”得体の知れない人工知能によって急に仕事が奪われてしまうのではないか”と心配される方もいるかも知れません。しかし、現在の生活の中でも「ロボットによる人間の仕事の代替」は起こっています。

例えば、一昔前、田植え〜稲刈り〜脱穀など人の手作業で行われてきました。しかし現在はコンバインと言う機械によって人の手で行う何十倍の速さで稲刈りと脱穀が行われています。

問題はその代替されるスピードと精度にあります。

例えば、自動車の自動運転技術は、近い将来、バスやタクシーやトラックの運転手の仕事を奪いかねません。このように、人工知能の発達によってそう遠くない未来に、人間の仕事の多くがロボットに奪わる時代が訪れようとしています。つまり、今当たり前にある仕事が近い将来なくなってしまうような大転換時代を迎えているのです。

詰め込み教育の終焉

では、これからの将来を見据えた時、今までのように知識詰め込み型の教育を受けた子供達が、人工知能よりも優って仕事をすることができるのでしょうか。

答えは「NO」です。

知識だけを詰め込むことは、機械やAIがもっとも得意とするところです。人間の記憶量や正確さは、AIに及びません。つまり、今までのように知識を詰め込むだけの教育を受けても、生き抜くことが難しくなってくるのです。

人工知能を使いこなす側になるために

子供達が大人になった時、人工知能に仕事を奪われる側ではなく、人工知能をうまく利用しながら仕事をする側になるためにどんな教育が必要なのか。このような議論が繰り返され、様々な教育について検討した結果、「小学校からのプログラミング教育が必要だ」と国が判断したのではないでしょうか。

人工知能による大転換時代について詳細を知りたい方には以下の本をお勧めします。
「仕事消滅 AIの時代を生き抜くために、いま私たちにできること (講談社+α新書)」

日本における高度ICT人材育成の現状と課題

現在、ICTは急速に発展をとげており、このような時代の流れに対応できる専門的人材の育成が急務となっています。しかし、日本において、高度ICT人材育成の仕組み作りは発展途上と言わざるをえません。そのため、高度ICT人材の不足感が否めないのが現状です。

高度ICT人材はどれほど不足しているのか?

IT人材の”量”不足の現状

情報処理推進機構(IPA)が行った2018年度調査によると、IT企業のIT人材の”量”に対して「大幅に不足している」と回答した企業は全体の29.5%、「やや不足している」と回答した企業は全体の61.0%%、合計すると「不足している」と回答した企業は全体の90.5%に登りました。

IT人材の”質”不足の現状

次に、IT企業のIT人材の”質”に対して「大幅に不足している」と回答した企業は全体の29.7%、「やや不足している」と回答した企業は全体の63.2%%、これらを合計すると「不足している」と回答した企業は全体の92.9%に登りました。

IT人材の活躍分野別にみた不足状況

では、より具体的にどのようなIT人材が不足しているのでしょうか。総務省が行った、IT人材の活躍分野別に不足状況を調べた調査結果をご紹介します。

  • プログラミング技術者が不足 75%
  • 設計/アーキテクトの人材が不足 71%
  • システム・コンサルタントが不足 63%
  • プロジェクトマネージャが不足 56%
  • 企画・要求分析者が不足 43%
  • システム管理・運用者が不足 20%

高度ICT利活用人材とは?

高度ICT利活用人材とは、ビッグデータなどICTの高度な利活用を通して、企業や組織の戦略を立案したり実施遂行できる人材のことを指しています。

それまで活躍してきた技術系IC人材は、非クラウド環境で業務を電子化することがメインでしたが、高度ICT利活用人材は、クラウドやビッグデータを活用してよりスピーディに、より質の高い戦略の立案や実行が可能になります。

国が進める「高度ICT利活用人材育成プログラム」への期待

総務省が進める「高度ICT利活用人材育成プログラム開発事業」は、ICT人材育成の仕組みを作ることによって、日本における社会的課題の解決や日本の国際競争力を向上させること、また生産性の向上などが期待されています。

高度ICT人材育成の課題

高度ICT人材育成はまだ始まったばかりです。高度ICT人材が育てば、企業だけでなく日本の国際競争力向上にもつながるたいへん強力な影響力を持つことになりますが、残念ながら高度ICT人材が必要数育つには課題がいくつかあります。

高度ICT人材の活用事例が少ない

そもそも高度ICT人材がどのような人材で、どんな影響力があるかについて完全に把握できている経営者はまだそれほど多いとは言えません。そのため、高度ICT人材育成に投資する意思決定が遅れているのが現状です。

高度ICT人材育成カリキュラムが広がらない

高度ICT人材育成の重要性が経営層で認識されていなければ、高度ICT人材育成のカリキュラムへの投資はされないままに終わります。その結果、高度ICT人材育成カリキュラムが広がりにくいという状況が発生しています。

高度ICT人材を支えるICT人材の母数が少ない

高度ICT人材を発掘するためには、子供の頃からICTスキルや知識を育てることによってICT人材の裾野を広げていく必要があります。この重要性に気づいている海外の国々では、義務教育としてICT教育がすでにスタートしている国も多数あります。

日本は、2020年に小学校でのプログラミング教育がようやくスタートしますが、やや遅れをとっていると言えるでしょう。

プログラミング教室で使用されるハードウェア

ハードウェアとは、コンピュータそのものを指しています。例えばパソコンやタブレットなどもその一例です。

ここでは、プログラミング教室で使用されているハードウェアの種類とそれぞれのメリット・デメリットがあります。

「子供向けプログラミング教室」で使用されている4つのハードウェア

プログラミング教室で使用されているハードウェアの種類は、大きく4つに分けることができます。それは「パソコン」「タブレット端末」「シングルゾードコンピュータ」「ロボット、センサーカー等」です。

各ハードウェアの特徴についてご紹介します。

パソコン

パソコンのメリット

  • 汎用性が高い
  • 大きな画面を使用することができる
  • 様々なプログラム言語に対応できる

パソコンのデメリット

  • 他のハードウェアに比べて高価(5万円台〜30万円ほど。もっと高価なパソコンもある)
  • パソコンのセッティングが複雑
  • キーボード入力・マウス操作ができる必要がある

以上のことから、プログラミング初心者の場合、パソコンを使用してプログラミング学習をするためには

  1. キーボード入力(ブラインドタッチ)ができる
  2. マウス操作ができる
  3. パソコンの基本的な構造や操作を知っている

ことなどが必要になることがわかります。

タブレット端末

タブレット端末のメリット

  • 直感的に操作することができる
  • 小学生低学年の子供でも操作しやすい

タブレット端末のデメリット

  • 画面領域がパソコンに比べると狭い
  • 比較的、値段が高価(3万円台〜9万円ほど)

以上のことから、プログラミング初心者の場合、パソコンよりも操作の習得に時間がかからないタブレット端末のほうが向いているように感じます。しかし、より複雑なプログラムやテキスト型のプログラミング言語を使用する場合は、操作性の点でパソコンのほうが適していると言えます。

シングルボードコンピュータ

シングルボードコンピュータとは、パソコンを構成する必要最低限の要素(例えばパソコンの脳に当たるCPUなど)に絞ったコンピュータのことです。見た目は、むき出しの基盤となっており、手のひらに乗るサイズです。

シングルボードコンピュータのメリット

  • 本体のみなら数千円で購入できるほど安価である
  • 子供が直接基盤を手に触れながら入力や出力について考えることができる
  • コンピュータの成り立ちについて学ぶことができる

シングルボードコンピュータのデメリット

  • パソコンと同じように使用するためには、シングルボードコンピュータ以外にキーボード・モニター・マウスなどが必要

ちなみに、プログラミング教室において使用されているシングルボードコンピュータには、RaspberryPi (ラズベリーパイ)やIchigoJam (イチゴジャム)という種類が人気です。

RaspberryPi (ラズベリーパイ)

シングルボードコンピュータの代表格として、まずご紹介したいのがRaspberryPi (ラズベリーパイ)です。

とても美味しそうな名前ですぐに覚えてしまうRaspberryPi (ラズベリーパイ)ですが、実はイギリスで教育現場で使用することを目的に作られました。そのため、小型で数千円から手に入れることができる手軽なコンピュータとなっています。価格はシリーズによって若干個々となるが、2千円台〜4千円台で購入することができます。

安価だからといって機能的に気後れする点はほとんどなく、プログラミングに必要な要素が揃っています。

RaspberryPi (ラズベリーパイ)のメリット

  • パソコンと同じような機能を持ち合わせていながら数千円で購入でき非常に安価

RaspberryPi (ラズベリーパイ)のデメリット

  • 一般的なPCに比べると機能は低く、やれることは限られている
  • 別途、キーボードやモニターが必要

IchigoJam (イチゴジャム)

シングルボードコンピュータの代表格として、2つ目にご紹介したいのがIchigoJam (イチゴジャム)です。

RaspberryPi (ラズベリーパイ)と同じく美味しそうな名前ですが、2014年に日本で誕生しました。IchigoJam (イチゴジャム)も、非常に安価で購入することができ、その値段は千円台〜二千円台とRaspberryPi (ラズベリーパイ)よりも安く手に入れることができます。

IchigoJam (イチゴジャム)のメリット

  • 千円〜二千円で購入できるので非常に安価
  • 起動が早い
  • 機能が限定されているため子供が扱う際に懸念されるリスクを最小限に抑えられる

IchigoJam (イチゴジャム)のデメリット

  • メモリが少ないため複雑な計算に対応できない
  • テキスト型プログラミング言語であるBasicのみに対応している
  • ラズベリーパイ同様、別途、キーボードやモニターが必要

ロボット、センサーカー等

その他、ロボットやセンサーカー等もプログラミング教室で使用されているが、プログラミング要素が少ないためプログラミング教室では限定的な扱いとなっており普及が進んでいません。

ロボット、センサーカー等のメリット

  • モニター以外のリアルな物体を使って動作操作を体感できる

ロボット、センサーカー等のデメリット

  • プログラミング要素が他のハードウェアに比べて少ない
  • 組み立てに時間がかかるため、プログラミング要素以外に時間が割かれてしまう

「子供向けプログラミング教室」で使用されているハードウェアまとめ

子供向けのプログラミング教室で使用されているハードウェアは、(1)子供達にとって使いやすいか・使用に抵抗がないか・プログラミング要素が高いか、という教育的視点と、(2)導入コストは低いか、といったコスト的視点から選択されていることがわかります。

そのため、お子さんの興味や年齢にあったハードウェアを使用している教室を選ぶことが重要です。

小学生向けプログラミングツール・教材

小学生のプログラミング教室などで使用されている言語は、ビジュアル型・ブロック型言語とテキスト型言語があることをご紹介しました

では、小学生向けプログラミング教室で使用されているツールや教材としてはどのようなものがあるのでしょうか。ここでは、プログラミング教室で使用されているツールや教材についてご紹介します。

小学生向けプログラミング言語として最も使用されているScratch(スクラッチ)

今最も小学生向けのプログラミング言語として使用されているのが、ビジュアル型・ブロック型プログラミング言語に分類されるScratch(スクラッチ)です。

パソコン(タブレット)とネット環境があれば、どこでもプログラミング開発ができ、自分がプログラミング開発した作品を公開したり、他の人のプログラムを見る機能があり、小学生のモチベーション維持にも一役買っています。

Scratch(スクラッチ)は、8歳以上を対象としてつくられていますが、もっと低年齢である5〜7歳向けに開発された「Scratch Jr.」というツールもあります。

Scratch(スクラッチ)が普及している要因は、(1)アメリカのデジタルメディア研究所であるMITメディアラボが開発していること(2)すでに世界中で100万人以上の子供たちが利用していること(3)すべて無料で利用できること(4)教材が豊富にあること、などが背景にあります。

Scratch(スクラッチ)を利用には、ある一定の制御や論理理解が必要になります。また、作成したプログラミングをテキスト型プログラミング言語へ変換する機能がついていないため、テキスト型プログラミング言語へステップアップする際は、別の教材や教育が必要になります。

Viscuit(ビスケット)

次にビジュアル型・ブロック型プログラミング言語として耳にするのは、Viscuit(ビスケット)ではないでしょうか。

このViscuit(ビスケット)も、スクラッチ同様、パソコン(タブレット)とネット環境があれば、どこでもプログラミング開発ができます。

Scratch(スクラッチ)との違いは、まず自分でイラストを描いて、そのイラストを使ってアニメーションやゲームを作ることができる点です。文字を使わなくてもプログラミングができる点で、幼児でも理解できるように工夫されています。

具体的には、「条件:魚と魚がぶつかったら」「結果:それぞれの魚が向きを変える」というプログラムを作りたいとします。Viscuit(ビスケット)の場合、条件も結果に関してもすべて自分で作成したイラストを動かすことでプログラミングすることができます。

そのため、文字が読めない幼児でも感覚的に「どのようになったらどういう動きをさせたい」というプログラミングをかけるようになっています。

Viscuit(ビスケット)を使って、世界で一つだけの動く絵本を作って公開している子供たちがたくさんいるので、興味のある方はチェックすることができます。

ビジュアル・ブロック型言語とテキスト型言語の融合!Smalruby (スモウルビー)

先ほど紹介した「Scratch(スクラッチ)」や「Viscuit(ビスケット)」はビジュアル・ブロック型プログラミング言語でした。これらのプログラミング言語のメリットは、(1)文字の読み書きができない・文字の打ち込みができない幼児でも感覚的にプログラミング言語を学べる点(2)プログラミングの文法入力ミスがない、という点です。

しかし、実際のプログラミングの世界ではテキスト型プログラミング言語で構成されているため、ビジュアル・ブロック型プログラミング言語からテキスト型プログラミング言語にステップアップする際に一つの壁がありました。

そこで登場したのが、ビジュアル・ブロック型言語とテキスト型言語の融合したSmalruby (スモウルビー)というプログラミングツールです。

Smalruby (スモウルビー)は、Rubyというテキスト型プログラミング言語(実際に多くの会社で使用されているプログラミング言語の一つ)を子供向けにブロック型プログラミング言語でも組めるように開発されたプログラミング言語です。

最大の特徴は、ブロック型プログラミング言語で作成したプログラムを、ボタン一つでテキスト型プログラミング言語(Ruby)に変換できる点です。この機能があることによって、「ブロック型プログラミング言語で作成したプログラムが、テキスト型プログラミング言語ではどのようなコードで書かれているのか」を瞬時に確認することができます。

これにより、ブロック型プログラミング言語からテキスト型プログラミング言語へのステップアップすることが他のツールに比べてスムーズになります。

一方で、ネット環境とパソコン(タブレット)さえあればプログラミング開発環境が整うわけではなく、Smalruby (スモウルビー)をパソコンにダウンロードする必要があります。今までパソコンに様々なソフトをダウンロードした経験のある場合は、この作業は問題なく進められると思いますが、パソコン初心者にとってはわからないことも多く、ダウンロードの途中で断念してしまう人も少なくありません。

このような点が足かせになってしまい、Smalruby (スモウルビー)が使用されないという例は多くあります。実際に、Smalruby (スモウルビー)を使用したプログラミング教室はScratch(スクラッチ)に比べると少ないのが現状です。

その他の小学生に向いているビジュアル・ブロック型プログラミング言語

先ほど紹介した「Scratch(スクラッチ)」「Viscuit(ビスケット)」「Smalruby (スモウルビー)」以外にも、小学生向けプログラミング教室で使用されているツール・教材についてご紹介します。

プログラミン

文部科学省が開発した子供向けプログラミング言語です。スクラッチやビスケットと同様、パソコンとネット環境があればプログラミングを始められるため、比較的容易にプログラミング環境を整えることができます。

プログラミンも、自分で絵を描いたりすでに用意されているイラストを使って、歩かせたりジャンプさせるといったプログラムを簡単に作ることができます。

残念ながら、スクラッチに比べるとプログラミンはあまり普及していないのが現状です。ちなみに、プログラミンはスクラッチを参考に作られています。

レゴマインド ストーム EV3(言語部)

レゴマインド ストーム EV3 は、レゴの教育版になります。レゴブロックを使って自分の好きなものを組み立て、パソコン上で作成したプログラムをレゴに反映させて動かすことができます。

例えばレゴで車を作り、スマホでコントロールできるプログラミングを組めば、スマホで指示した通りに前方・後方・右折・左折などをさせることができます。

このように、レゴマインド ストーム EV3は、プログラムを作る要素だけでなく、そのプログラムを使って実際に物体(ロボット)を動かすところまでを一気に学ぶことができる学習ツールになります。

デメリットとしては、(1)レゴマインド ストーム EV3が5万円台と比較的高価であること(2)レゴ(ロボット)の組み立て知識・プログラミングの知識が必要なため、対象年齢が10歳以上であり幼児・小学校低学年向けの商品がないことが挙げられます。

テキスト型プログラミング言語で小学生向けツールはないの?

今までは、ビジュアル・ブロック型プログラミング言語をメインにした教育ツールをご紹介してきましたが、「プログラミング教育の導入としてはビジュアル・ブロック型プログラミング言語でもいいけど、最終的にテキスト型プログラミング言語まで教えてくれる教室はないのか?」と考えられる方もいらっしゃるのではないでしょうか。

実際、プログラミング教室の中には、テキスト型プログラミング言語を教える教室があります。ではどのようなツールを使っているのかご紹介しましょう。

Basic (ベーシック)

Basic (ベーシック)というプログラミング言語は、歴史が長く、テキスト型のプログラミング言語の基礎学習に適しています。

しかし、テキスト型プログラミング言語ならではの文法ミスのフォローが必要になるため、教育人材を確保が必要になり、結果的にプログラミング教室ではあまり利用されていないのが現状です。

Objective-C (Swift)

Objective-C (Swift)の一番の特徴は、iPhone アプリの開発ができる点です。

実際にObjective-C (Swift)をプログラミング教室で使用している教育者からは、「生活の一部担っているスマホ上で自分の開発したアプリが実行できることで、子供のプログラムに対するモチベーションを維持することができる」という声が上がっています。

しかし、開発にはMac(アップル社が出しているディスクトップパソコン)が必要になるため、Objective-C (Swift)を使用するためには初期投資しなければなりません。この点がボトルネックになり、プログラミング教室ではあまり普及していないのが現状です。

小学生向けプログラミング言語とその種類

小学生向けのプログラミング言語

小学生向けのプログラミング教育の場で使用されているプログラミング言語やツールは、実は複数存在しています。

一言でプログラミング言語といっても、大きく2つの分野にわけることができます。それは、ビジュアル型・ブロック型プログラミング言語とテキスト型プログラミング言語です。

これ以外にも、「プログラミング言語をブラウザ上(インターネットなどのネットワークを介して使用できるクロームやインターネットエクスプローラーなどを指す)で実行できるか否か」といった違いがあります。それぞれの違いについてご紹介していきましょう。

ビジュアル型・ブロック型プログラミング言語のメリット・デメリット

ビジュアル型・ブロック型プログラミング言語とは、一言で言うと「コンピュータへの命令文がテキストではなく視覚的に構成することができるプログラミング言語」のことです。

テキスト入力の必要がないため、キーボード操作をすることなくマウスのみでプログラムを組むことができ、ブラインドタッチなどができない子供でも手軽にプログラムに触れることができるようになっています。

また、テキスト型プログラミング言語は英語の要素が含まれていますが、ビジュアル型・ブロック型プログラミング言語は英語がわからなくてもプログラムを組むことができます。

すでにプログラム要素がブロックとして出来上がっており、そのブロックの組み合わせによってプログラムを組んでいくため、文法ミスがない点も、プログラミング初心者向きの言語と言えます。

テキスト型プログラミング言語のメリット・デメリット

一般的に社会で使用されているプログラミング言語は、このテキスト型プログラミング言語を指しています。

テキスト型プログラミング言語は、英語で構成されること、またテキスト入力が必須であるためキーボード操作がもれなくついてきます。そのため、英語に不慣れな小学生や、キーボードでブラインドタッチができない子供にとってはハードルの高いプログラミング言語と言えます。

しかし、ビジュアル型・ブロック型プログラミング言語では表現できなかったプログラミングを構成することができ、より複雑でより高機能なプログラムを作成したい場合は、自ずとテキスト型プログラミング言語へ移行する子供がほとんどです。

ただ、テキスト型プログラミング言語は、ビジュアル型・ブロック型プログラミング言語以上に様々な種類のプログラミング言語の種類(C言語、JavaScript、Ruby、Phython など)があるため、自分にあったプログラミング言語を選択する必要があります。

段階に合わせてプログラミング言語を選択するのがベター

このように、ビジュアル型・ブロック型プログラミング言語にも、テキスト型プログラミング言語にもそれぞれメリット・デメリットがあります。

重要なことは、小学生の理解・意欲レベルに合わせたプログラミング言語を選択することです。その選択を適切に行ってあげることで、その後の成長意欲や能力アップに影響が出てきます。

プログラミングが学べるおもちゃ

おもちゃで気軽にプログラミングを教えたい

子供にとって、プログラミングの重要性はますます高まっていますが、「プログラミング教室はちょっとハードルが高い」と感じている方も多いのではないでしょうか。

そこで、「もっと手軽にプログラミングを子供に体験させたい」という方におすすめのおもちゃをご紹介したいと思います。

おもちゃでプログラミングは学べるのか?

おもちゃと聞くと、「一種の遊びでプログラミングとは程遠いんじゃないか」と感じる方もいらっしゃるでしょう。

しかし、これから紹介する「プログラミングを学べるおもちゃ」は、幼児からでも無理なくプログラミングを楽しく学べるおもちゃばかりです。また、パソコンやタブレットがなくてもプログラミングが学べるという点も魅力的です。

動画で使用方法などをチェックできるので、「親子で一緒に楽しめるかな?」「自分の子供が興味を持てるかな?」といった不安を事前に確認することができます。ご興味のある方は、ぜひ一度、購入前にチェックされてみてはいかがでしょうか。

ThinkFun(シンクファン)

ThinkFun(シンクファン)というおもちゃメーカーは、子供が遊びを通して論理的思考や数理的理解能力を高めることを狙ったおもちゃを販売しています。

おもちゃのシリーズは大きく5つに分かれており、幼児から大人も楽しめるよう難易度が分かれているという特徴があります。

コーディング・シリーズ(Coding Series)

ThinkFun(シンクファン)が出しているおもちゃの中で、もっともプログラミングに近いおもちゃがコーディング・シリーズ(Coding Series)です。

コーディングとは、プログラミングをする際に、人がコンピューターでも理解できるように命令文を書くことです。この命令文は、C言語やJavaScript、RubyやPythonといった「プログラミング言語」を使用してコンピュータ画面にキーボードを使って打ち込みますが、この行為そのものがコーディングに当たります。

このコーディング・シリーズは、パソコンやタブレットなどの電子機器を用意しなくてもコーディングの要素を学ぶことができます。

コーディング・シリーズ(Coding Series)には、様々なおもちゃが用意されていますが、その中でも今回は「3歳からのプログラミング〜ロボットタートルズ〜」についてご紹介したいと思います。

3歳からのプログラミング〜ロボットタートルズ〜

この「3歳からのプログラミング〜ロボットタートルズ〜」は、プログラマーは子供、プログラムに沿って動くコンピュータ役は大人、という役割が分かれていることが大きな特徴となっています。

子供が指示した内容(プログラム内容)がまちがっていると、コンピュータに扮した大人は全くの役立たず。その様子を見て、プログラムに間違いがあること、どうすれば目的を達成できる正しいプログラム内容になるのかをゲームを通して学ぶことができます。

プログラムを書く→プログラムを動かす→プログラムの間違いに気づく(バグの発見)→プログラムの間違いを直す(バグの修正)→プログラムを再度動かす、というまさにプログラマーが日々行っている行動の流れを遊びながら学ぶことができます。

実は、このコーディング・シリーズはGoogleのプログラマーが開発したことでも有名です。

ラッシュ・アワー・シリーズ(Rush Hour Series )

ラッシュ・アワー・シリーズは、論理的思考力を鍛えること目的に作られているおもちゃです。カードと車のおもちゃ、そして車のおもちゃを並べるボードの3つで構成されています。

このおもちゃは、「カードに表示された車の配置から、どのように指定した車を脱出させるか」を読み解くパズルです。5歳〜向け・8歳〜向けが用意されています。

このラッシュ・アワー・シリーズからプログラミングに活かせるところは、ビジュアルプログラミングで使用される

  1. 座標の概念が学べること
  2. 目的を成し遂げるためのシミュレーション能力を繰り返しによって鍛えられること

などをあげることができます。

言葉で座標などの概念を幼い子供に理解させるのは苦難の技ですが、このようなおもちゃを通して体感して学べる点は大きなメリットがあると感じています。

値段は、3500~25000円(税抜き)と大きなばらつきがあります。

メイズ・シリーズ(Maze Series)

メイズ・シリーズは3つのおもちゃが用意されています。その中でも、特にプログラミング教育に役立ってくれそうなおもちゃは「サーキット・メイズ(CIRCUIT MAZ)」です。

このおもちゃは、電子回路を組み立てるパズルゲームになっています。電子回路というといかにも難しそうですが、要は電気がプラスからマイナスに流れるというルールに則って、電気が通るようにおもちゃのパーツを当て込んでいくというおもちゃになります。

このように、電子機器の根本的な電子回路に関して学んでおく事は、日本が世界に引けを取らないメカ制御の分野で能力を活かせる可能性を秘めています。

また、小さい頃から遊びの一環として電子回路が身近なものにしていることは、最近日本教育で危ぶまられている「理科離れ」などを防ぐ要素になると考えられます。

私自身、ハードとソフトを学べる大学に進みましたが、電子回路の概念を習得するまで(慣れるまで)に多くの労力を費やした苦い過去があります。

現在の生活にあまりに身近になってしまった電気という存在を、幼い頃から理解することで、興味の範囲・興味の深さが格段と上がることは言うまでもありません。

電子回路が学べる「サーキット・メイズ(CIRCUIT MAZ)」の値段は、5200円(税抜き)です。

算数&英語・シリーズ(Mathematics English Series )

算数&英語・シリーズは、その名の通り、算数と英語を学ぶことを目的に作られているおもちゃです。難易度別におもちゃが構成されており、最も易しく算数に特化したバランス・ビーンズというおもちゃを紹介します。

このおもちゃは「シーソーに豆をどのような配置で乗せたら、バランス良くなるか」を考えます。物理でいうテコの原理をシーソーという身近なものを通して学ぶことができ、8歳〜向けが用意されています。

バランス・ビーンズというおもちゃからプログラミングに活かせるところは、シーソーのバランスを保たせる配置を考える最に、「テコの原理を利用して、目的を達成するために必要な計算を行う」という点です。実際にテコの原理を理解する必要はなく、「シーソーがバランスを保つためにはこんなルールがあるんだよ」ということを伝えれば、このおもちゃを容易に楽しむことができるようになります。

プログラミングは、ある操作をコンピュータに命令して実行させるための命令文を書くという行為ですが、ある操作をコンピュータが正しく理解できるように噛み砕き、計算をさせることがほとんどです。

また、ロボットなどは様々な物理法則を利用しながらプログラミングしますので、おもちゃを通して物理的な感覚を習得できると、ロボット工学などに興味を持つきっかけになる可能性があります。そこまでいかなくとも、学校で物理を学ぶ際に、遊びを通して学んだ物理的センスを生かして、理論がすんなりと頭に入ってくるというメリットが考えられます。

その他に用意されているゲーム

その他にも、ThinkFun(シンクファン)には空間計算力や論理的数理力などを鍛えることを期待できるおもちゃが揃っています。

紹介したおもちゃから学べるプログラミング以外のこと

様々な能力を、強制されることなく子供の自発的な遊びの中から学びとることは、プログラミング能力を高めることだけでなく、様々な物事への興味関心・好奇心へとつながります。

その結果、勉強や学習というものが「仕方なく」「親・先生に言われたから」という義務から実施するものではなく、遊びの延長にあるものへと変わる可能性を秘めています。

プログラミング教育は何歳から始めるべきか?

よく、プログラミング教育を始める妥当な時期について質問される方がいます。

結論から言うと、平均的には9歳くらいからプログラミング教育をスタートするのが妥当とされています。その理由は、プログラミング教育を受けるにあたって理解しておくべき内容を理解するための能力が9歳未満の子どもには備わっていないケースが多く見受けられたからです。

例えば、「IF-THEN型(もし〜だったらー)」といわれる論理構成は、9歳あたりからではないと理解ができないというプログラミング教育者の意見があります。また、Scratch(子ども向けプログラミングソフト)の対象年齢は8歳以上とされています。

天才プログラマーは5歳からプログラムを学んでいた?

先ほど、一般的には9歳前後がプログラミング教育をスタートさせると良いという話をしましたが、これはあくまで現在のツールをそのままプログラミング教育の場に転じることが前提条件となります。というのも、論理構成がわからなくても、ボタンを1クリックするだけでプログラムが動くことを体感として知ることは、幼児がテレビのリモコンのボタンを押すとテレビが点いたり消えたりすることを知ることとあまり変わらず、理解できないレベルではありません。

また、このような「生活の様々な場面でプログラミングが活躍していること」を知っておくことは、プログラミングへの興味を強める大切な下地になると考えています。

つまり、年齢(もっと言えばその子の理解度)にあわせてプログラミング教育の内容を適応させていくことは可能であるため、理解度に合っていれば、小学校低学年からでもプログラミング教育を始めることは可能だと感じています。

実際に、日本で天才プログラマーと言われる人たちの中には「5歳からプログラミングを学んでいた」という人もいるほど・・・。

好奇心の強い子どものうちに、世の中にプログラムされたものが多く存在し、それらが人々の生活を豊かにしていることを感じ取ることが、プログラムを使った問題解決能力を培う一歩だと感じています。

本格的なプログラミング教育に必要な3つの能力

では、本格的にプログラミング教育を受けようと思った時に、どのような能力が必要になるのでしょうか。

様々なヒアリング結果から、以下3つの要素が重要であることがわかってきました。

  1. 論理的思考力、抽象的思考力等の認知能力
  2. アルファベット等の文字利用の習熟
  3. プログラミングに関するスキル・知識

段階的なプログラミング教育の指導方法

先に紹介した「プログラミングに必要な3つの能力」要素を踏まえて、総務省が提唱している段階的な指導方法について紹介します。(参照:プログラミング人材育成の在り方に関する調査研究報告書 総務省調べ)

①論理的思考が身につく前(3歳〜9歳頃)

プログラミング体験型

グラフィックス操作を試しならが、その結果の動きを確認し体験を通じてプログラミングに親しむ。主な教材・ツールはViscuit(タブレット)等

創造性育成型

簡単な操作で利用できるビジュアルプログラミング環境を自由に使い、アニメーションの創作などを通じて、創造性を養う。遊びや表現を通して楽しみながら学ぶ、個性を伸ばす。主な教材・ツールはViscuit(タブレット)等

②論理的思考ができる時期(9歳〜)

自主性育成型

論理的構成を必要とするビジュアルプログラミング環境を用いて、自主性を重視し、指導者は基礎的なサポートのみ行い、自由にプログラムを作成させる。主な教材・ツールは、Scratch 等ビジュアル言語、EV3 レゴマインドストーム等

スキル習得型

Scratch 等を用いて(1)教材学習、(2)オリジナル開発、(3)発表会などのステップアップによりビジュアルプログラミングを学ぶ。スクール型、複数回のイベント型などがある。カリキュラムと教材を体系化(オリジナルテキスト、市販テキスト)している。主な教材・ツールは、Scratch 等ビジュアル言語

課題設定・解決力育成型

作りたいモノや目標を最初に具体化し、その後、Scratchなどのツールを用いて実現することにより、問題設定力と段取り力を身につける。主な教材・ツールは、Scratch 等ビジュアル言語、設計図・企画シート

協調性・表現力育成型

子供の交流、子供同士の共同作業を重視し、ファシリテーターはサポート中心。成果の発表により協調性や表現力を育成する。主な教材・ツールは、Scratch 等ビジュアル言語、Viscuit

忍耐力・解決力育成型

問題に突き当たっても、子供が自ら試行錯誤により解決策を見出せるようなサポートをすることで、忍耐力、解決力を養う。主な教材・ツールは、Scratch 等ビジュアル言語、EV3 レゴマインドストーム等

③テキスト型言語が使える時期

スキル習得型

以下3つのステップによって指導を行う。主な教材・ツールは、Java 、Objective-C、HTML5 等テキスト言語

  • 基礎概念の習得
  • 全体構成と実践
  • オリジナルアプリ開発

モチベーション向上型

指導員(メンター)とのコミュニケーションや、アプリ・リリース、アプリ甲子園など外部とのつながりを通じて、モチベーションを高める。主な教材・ツールは、Java、Objective-C 等テキスト言語

課題設定・解決力育成型

どのようなプログラムを作るか(What)を考えてから、どのようにプログラミングするか(How)を考えるようにする。主な教材・ツールは、テキスト言語

プログラミング教育がもたらす効果

プログラミング教育への興味が徐々に広がりをみせています。しかし、「プログラミング教育(プログラミング教室やプログラミング講座)によってどのような効果が見込まれるのか?」を定量的に示した論文や調査結果に触れる機会はあまりないのが現状です。

2020年に小学校教育の場でプログラミング教育がスタートするなか、実際にプログラミング教育(教室や講座)がどのような能力育成に効果を発揮しているのか、プログラミングに関する教育を実施する教育事業者に向けたアンケート結果から定量的な情報をご紹介したいと思います。

1位:新しいものを生み出す創造的な力 92.0%が効果ありと回答

「新しいものを生み出す創造的な力」は、プログラミング教室や講座を行っている教育事業者が「プログラミング教育によって効果が最も高い」と回答しています。

これは、プログラミング人材に対する企業のニーズにおいてはランクインしていませんでしたが、AIやビッグデータで注目されている第4次産業革命によって生じる予測不可能な将来において、必ず必要になる能力の一つということができるでしょう。

2位タイ:自ら学ぼうとする意欲 88.0%が効果ありと回答

プログラムを組み、それを試しながら一つのアルゴリズム(コンピュータへの命令文)を完成させていく作業は、机の上で紙と鉛筆を持って勉強するスタイルと違い、ゲーム感覚で学習できます。

子供が面白く感じる要素が多いことから、自分から学ぼうとする意欲が高まることがわかっています。プログラミング教育を受けた子供の中には、「宿題だと30分も集中できないがプログラミングは3時間も集中していた」という事例があるほどです。

2位タイ:ものづくりの意欲 88.0%が効果ありと回答

パソコン(タブレット)があれば、どこでもいつでも何でも作ることができるため、ものづくりへの興味関心が湧きやすいと考えられます。気軽に、そして楽しく自分の発想をものづくりに反映できるプログラミングは、子供のものづくりへの意欲を高めることが教育現場の声でわかりました。

2位タイ:ものごとをやり遂げる粘り強さ 88.0%が効果ありと回答

プログラミングは、トライアンドエラーを瞬時に判定することができるため、自分のペースで進めることができます。また、想定した動きと実行後の動きに違いがある場合は、「自分の想定した動きにするためには何が足りない(または必要ない)のだろう」と考えるきっかけを与えてくれます。

これらの作業がすべて「自分がやりたいこと」から派生しているため、やり遂げる粘り強さや忍耐力の向上に寄与していると考えられます。

5位:距離、量、回数、見込みなどの数量的な感覚 80.0%が効果ありと回答

座標の概念や、数・回数などを組み合わせてプログラミングを行うため、自然と距離や量、回数などについて考える機会が増えます。その結果、数量的な感覚や予測に関する思考回路が出来上がり、理科に対する得意意識が高くなる効果も見られました。

6位:ものごとを計画的に行う力 76.0%が効果ありと回答

自分のつくりたいものを完成させるために、どのようなステップが必要なのか、そのステップを効率的にコンピュータに実行させるためにはどんな命令文を選択することがいいのかといった、目的を遂行するためのステップを小分けに考える機会が増えます。

プログラミング教育では、それらを整理するという作業を繰り返すため、ものごとを計画的に行う力を育成するのに効果があるという声が聞かれました。

7位:ICTに関する基本的な知識 68.0%が効果ありと回答

プログラミングを通して、コンピュータがどのようにして動いているのかといったICTに関連する基本的な知識を学ぶことができるため、ICT技術を身近に感じることができ、世の中の様々なICT技術に興味関心を持つ可能性を秘めています。

また、テキスト型言語を使ったプログラミング教育を行っている場合は、英単語や命令文の型を繰り返し使うため、英語に対する慣れを確認することができたという声が上がりました。

8位:他人と協力する力 68.0%が効果ありと回答

プログラミング教育を通して、友達同士で教えあったり発表しあう機会が増えるため、他人を協力する力に効果があるという声が上がりました。

また自分の作品と他人の作品を見比べることで、様々なプログラミングに触れるため、他人から教えてもらうことや自分と他人との違いについて気づきを得る機会が多いこともプログラミング教育の特徴の一つと言えます。

9位:言葉を正確に理解し、使う力 64.0%が効果ありと回答

プログラミング教室で製作した作品は、第三者に発表する機会があるため、自分だけが理解できればいいのではなく、他人に理解してもらうためにはどのような表現方法が必要かを考える機会が多くあります。

また、他人の発表内容に触れる機会が増えるため、解りやすい発表方法から正しい言葉の使い方などを吸収する機会が多いのもプログラミング教室の魅力の一つと言えます。

AIがもたらす未来ー自動車産業ー

自動車の自動運転と聞いて、そう驚く人もいなくなってきています。実際に、東京オリンピックが行われる2020年には、公共交通手段であるバスなどの一部は、自動運転で走行されることが検討されており、AI技術の一端を担っている自動運転技術はもう身近な存在になりつつあります。

そんな時流の中、AI技術を使った自動運転技術が今後の自動車産業にどのような影響を与えていくのか、また自動車の産業構造がどのように変貌していくと考えられているのか、について様々なところで議論されています。

なぜなら、日本の産業を支える車業界で業界トップクラスの企業が、その規模を維持できなくなる事態がAI技術(もっと言えば自動運転技術)によって引き起こされる可能性が示唆されているからです。これは、車産業を担っている日本企業、強いては日本経済にとって大きな脅威と言えるでしょう。この脅威を見据えて、今後のビジネスモデルや産業構造の変貌を捉えたものだけが生き残れる・・・そんな時代がすぐそこまで来ているのです。

自動運転が当たり前になるために

自動運転が当たり前の世の中になるためには、いくつかのステップを踏む必要があります。一つは、自動運転でも安全に走行できる技術の革新です。この技術革新を提供する企業がどこになるのか、どの企業がこの市場のポジションを取るのかは、まだ神のみぞ知るところですが、実際にAI技術の最先端で活躍する人の中では、幾つかのシナリオが出来上がっているようです。

安全な自動運転技術の市場を狙う世界の企業

自動車の自動運転が世の中にとって当たり前になるためには、安全な自動運転技術が開発される必要があります。現在、世界中で安全な自動運転技術の競争が起こっており、今まで自動車産業に全く関係の無かったGoogleやFacebook、また自動車業界ではまだ新人にあたるテスラモーターなどが「自動運転技術(AI技術)」のために日々実験を行い、安心安全に使える自動運転技術に磨きをかけています。

これらの技術を「より早く、安全に、安定的に提供」できれば、自動運転技術の市場を取ることができます。そのためには、AI技術を支えるアルゴリズム(コンピューターへの命令内容)×自動車のメカ技術×自動運転に関するデータ量において1番を取っていく必要があると言われています。

AI技術を支える人材の囲い込み

GoogleによるAI人材の囲い込み

自動運転技術を支えるAI技術(よいアルゴリズム)は、それを作れる人材の量・質という要素を欠かすことができません。そこで、Googleでは人工知能を専門とする専門家の囲い込みに余念がありません。現在、Googleでは1000人規模でAI技術者が活躍しています。これは、一つの大学に在学する人工知能の専門家数をはるかに超えています。

FacebookによるAI人材の囲い込み

次に有名な企業はFacebookです。Facebookに在籍する人工知能を専門とする専門家の数は500人単位と言われています。これだけ、世界をリードする企業が新しい産業革命を担う人工知能を支える人材の囲い込みをしている中、日本企業は遅れをとっていると言わざるを得ません。

このようにAI人材の囲い込みの事例を一つとっても、自動運転技術を先行する企業がどこなるのか自ずと決まってくるのでは・・・という話も出ています。いうまでもなく、今まで自動車業界を牽引してきた日本企業の名前が挙がることはありません。これが、どのような打撃を日本に与えるのか、想像するだけで怖くなるほどです。

日本でAI技術者の育成が本格始動

このような背景もあり、日本でも、自動運転技術(AI技術)を飛躍的に向上させると期待されているモデルとなっている「ディープラーニング」に特化したディープラーニング協会というものが2017年6月1日に設立されました。このディープラーニング協会では、AIに関する人材育成、またその人材をマネジメントする経営者層のAIリテラシーを向上させることを目的の一つとして掲げています。これらの目的を達成するために、ディープラーニングに関する検定を行っており、徐々にAI技術が日本の世の中に浸透する活動を進めています。

一般社団法人日本ディープラーニング協会