こんな方におすすめ
- ビジュアルプログラミングとロボットプログラミングとの違いが知りたい
- 子どもにプログラミングを習わせるならどちらがおすすめか知りたい
2020年の教育改革により小学校でもプログラミングを学ぶことが必修となり、関心がある保護者が増えています。
一般的にまだ馴染みの薄いプログラミングですが、プログラミングを習い事として子どもに習わせたい家庭は増えています。
そこで今回は、ビジュアルプログラミングとロボットプログラミングの違いや、どちらがおすすめなのかを詳しく解説します。
中学受験における「プログラミング受験」についてはこちらの記事で解説しています。
【中学受験】プログラミング入試の実態と今後とは?受験対策の方法もご紹介!
続きを見る
プログラミングとは何か
プログラミングの概要
まずビジュアルプログラミングとロボットプログラミングの違いを知るために、プログラミングとは何かということから説明します。
私たちが日常的に使うコンピュータやスマートフォン、タブレットなどは、「プログラム」によって動いています。
この「プログラム」とは、コンピュータに対して下される命令のことです。
そして、プログラムを構成したり、実際に書いたりすることをプログラミングと呼び、この時に使われる言語がプログラミング言語と呼ばれています。
PythonやPerl、PHP、Java、Lispなどがあります。
また、プログラミングを行う人々をプログラマーと呼びます。
プログラミングで身につく力
学習指導要領の改訂の際に、プログラミング教育の在り方に関する有識者会議のまとめが発表されました。
将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むことであり、コーディングを覚えることが目的ではない。
(中略)
プログラミング教育を実施する前提として、言語能力の育成や各教科等における思考力の育成など、全ての教育の基盤として長年重視されてきている資質・能力の重要性もますます高まるものであると考えられる
引用:平成28年6月28日教育課程部会教育課程企画特別部会「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」より
あくまでもプログラミングを学ぶことは「プログラマー」や「エンジニア」なるためではなく、普遍的に必要な能力を育成するためであると述べられています。
プログラミングで身につく力は、論理的思考力や言語能力、問題解決能力、数学的論理力、創造力など、他ではなかなか手に入れることができない様々なものがあります。
ビジュアルプログラミングとロボットプログラミングの違いとは
これまではプログラミングとは何かということを解説しました。
このプログラミングを子どもが学習する際に、大きく「ビジュアルプログラミング」と「ロボットプログラミング」の2種類に分けられます。
ビジュアルプログラミングとは、プログラミングをわかりやすく学ぶために、プログラミング言語を使わずに、視覚的にわかりやすいブロックなどでプログラムを動かすものです。
ロボットプログラミングはその名が示すとおり、ロボット(ある種のコンピュータ)を動かすためのプログラミングのことであり、ロボットを動かすのであれば、どのような言語を用いても構いません。
つまり、ビジュアルプログラミングとは、複雑で人間には理解が難しいプログラミングという行為を簡単に理解するために用いられるもので、ロボットプログラミングはロボットを動かすという目的のための手段です。
大人が行うプログラミングは、非常に難しいものです。
例えば、コンピュータのディスプレイに、Hello, world!と表示したい場合があったとしましょう。(初歩的なプログラミングの解説として、コンピュータにHello, world!と表示させることはプログラミング界隈での一般的な伝統です。)
Javaと呼ばれるコンピュータ言語では、Hello, world!とディスプレイに表示するために、
1. public class HelloWorld{
2. public static void main(String[] args){
3. System.out.println("Hello, world!");
4. }
5. }
と記述しなければなりません。
まるでおまじないの呪文ですね。
このように、大人にでも難解なコンピュータ言語を用いて、子どもが自分ひとりでプログラミングが出来るかというと疑問符が付きます。
そして、子どものために、より簡単にプログラミングが出来るよう新しい言語を開発しようとすることは、プログラマーにとっては自然な発想です。
それではそれぞれの特徴や代表的なビジュアルプログラミングをご紹介します。
ビジュアルプログラミングとは
ビジュアルプログラミングの中にもいくつか種類はあります。
- ブロック型
- フロー型
- 独自ルール型
など様々です。
代表的なものをいくつかご紹介します。
Scratch(スクラッチ)
ビジュアルプログラミングの一つ、Scratchで"Hello, world!" と表示するには、画面に表示されたキャラクターにセリフを付けるだけです。
このように、ビジュアルプログラミングでは、子どもでも簡単にプログラミングを学ぶことが出来るのです。
Scratch(スクラッチ)の対象年齢は、8歳から16歳とされています。
特に、Scratchのようなビジュアルプログラミング言語は、「ブロック型」と呼ばれます。
Viscuit(ビスケット)
Scratch(スクラッチ)に次いで2番目に人気なのが、Viscuit(ビスケット)です。
Viscuit(ビスケット)は、独自の考え方、ルール、設計思想に従っています。
そのため、分類では「独自ルール型」に分類されます。
デザインが可愛らしく、子どもが遊びながら楽しくプログラミングを学べるようになっています。
Node-RED(ノード・レッド)
Node-REDはWebブラウザ上で動き、フローチャートのように命令を下していくことでプログラミングを行います。
Node-REDは「フロー型」と呼ばれます。
ロボットプログラミングとは
対してロボットプログラミングは、ロボットを動かすためのプログラムを記述する行為です。
レゴ・ブロックのMindstorm EV3ロボット
例えば、これからのロボットプログラミング入門 Pythonで動かすMINDSTORMS EV3という本では、レゴ・ブロックのMindstorm EV3ロボットを先述のPythonという言語で動かすためのコーディングが詳しく解説されています。
これこそが、真のロボット・プログラミングと呼べるものです。
出版社 | 発売日 | 本の長さ | 価格 |
講談社 | 2020/2/28 | 240ページ | 2,640円から |
ロジーボのひみつ
ロボット・プログラミングの際、ビジュアルプログラミングを用いる教材もあります。
プログラムのめいれいカードを自分の手で並べる。ロボットキャラクターがプログラムに従って、実際に絵本の上を動いてゴールを目指す。かわいいキャラクターの実際の動きを見て追うことで、インプットからめいれいを実行する流れや、プログラムの働きをしっかり体感することができます。
引用:GoGo ロボットプログラミング ~ロジーボのひみつ~より
出版社 | 発売日 | 価格 |
ソニー・インタラクティブエンタテインメント | 2019/3/20 | 5,382円から |
GoGo ロボットプログラミング ~ロジーボのひみつ~は、上に示したとおり、ロボット・プログラミングについてでありながら、そこで用いられる具体的な人工言語はなく、実質ヴィジュアル・プログラミングの学習本となっています。
このような状況であるからこそ、ロボット・プログラミングとヴィジュアル・プログラミングの違いが分かりにくくなっているのではないでしょうか。
iCar
プログラミング学習キット iCarは、Scratch、Arduino、C言語を用いたプログラミングが可能なロボット・プログラミングです。
プログラム未経験の方から、ハイレベルな学習まで幅広く学ぶことが出来る様になっています。
また、日本語のマニュアルや演習問題もある為、組み立てや操作方法も安心して挑戦することができます。
小学生のプログラミングにはどちらがおすすめ?
小学生におすすめできるのは圧倒的にビジュアルプログラミングです。
ビジュアルプログラミングの教材は多岐にわたり、マニュアルも英語ではなく日本語で書かれています。
習い事の一環としてビジュアルプログラミングを学ぶのはプログラミング学習の初段階においては非常におすすめです。
対して、小学生や初心者には、ロボットプログラミングはあまりおすすめできません。
「様々なビジュアルプログラミングの教材を試したものの、それだけでは飽き足らなかった」という小学校の高学年や、将来プログラマーやエンジニアを志望しているというような子には非常におすすめです。
現状、小学校で用いられているプログラミング教材もビジュアルプログラミングのものです。
そのため、初級の小学生におすすめできるのは、圧倒的にビジュアルプログラミングです。
まとめ
2020年の教育改革により小学校でもプログラミングを学ぶことが必修となりました。
習い事でプログラミングを習わせたい保護者が増えてきていますが、「ビジュアルプログラミング」と「ロボットプログラミング」どちらがいいか悩む方も多くいます。
ビジュアルプログラミングとは、プログラミングをわかりやすく学ぶために、プログラミング言語を使わずに、視覚的にわかりやすいブロックなどでプログラムを動かすものです。
ロボットプログラミングはその名が示すとおり、ロボット(ある種のコンピュータ)を動かすためのプログラミングのことであり、ロボットを動かすのであれば、どのような言語を用いても構いません。
小学校で取り入れられており、初心者でも簡単に楽しく学べるという点において、小学生におすすめなのは、圧倒的にビジュアルプログラミングです。
最後まで読んでいただきありがとうございました。
次に読むおすすめ記事