プログラミング学習をするための「ソフト(ビジュアルプログラミングソフト)」を紹介します。
ビジュアルプログラミングソフトは、グラフィカルな表示や操作で直観的に行うプログラミングソフトです。パソコンの場合はマウス操作、タブレット/スマートフォンの場合はタッチ等の操作で概ねのプログラミングを行います。
以降で、「ソフト」という表現は、基本的に「ビジュアルプログラミングソフト」の意で使用します。
プログラミング学習をするためのソフトには、ソフト単体で学習することができるものや、いろんなハード(マイコンボードやロボット型機器など)と連携して学習するものがあります。
「ブラウザ版」も広義のソフトと解釈して含めています。
筆者が実際に使用した経験をもとにした情報とネット等で調査した情報を合わせて掲載しています。
この記事で使っている「ソフト」「ハード」の定義についてはこちら
目次
一般ソフト(ハード連携可)
ソフト単体で利用するだけでなく、いろいろなハードと連携が可能なプログラミング学習ソフトを紹介します。
紹介するのは、基本的に無償で利用できるものです。
Scratch
「Scratch」は、MITメディアラボが提供するプログラミング学習用ソフトです。
主に8歳から16歳向けとされています。
Eテレの「Why!?プログラミング」をはじめ、学校や学習塾などでも採用されている例が多く、世界的にメジャーなソフトです。
書籍やネットなどの情報も多く、筆者が入門用に最もおすすめするソフトです。
- 提供元
- MITメディアラボ
- プログラミングタイプ
- ブロックプログラミング
- 日本語対応:○
- その他
- 全世界において利用者が多く、かつ、日本でも導入事例が多く、情報も多い。
- 結世界中で多く利用されていることで、いろんなハードへの対応なども広がっていくことにつながっているため、そこは「Scratch」の強み。
- 「MakeCode」などとは異なり、ハードと連携するというよりも、ソフトだけで学習するのがメジャーな使い方である。
- とはいえ、「Raspberry Pi」や「Arduino」と連携することが可能なため、いろんなセンサを動かしてみたりしていきたいなら、「Scratch」という選択肢も悪くない。
- 全世界において利用者が多く、かつ、日本でも導入事例が多く、情報も多い。
MakeCode
「MakeCode」は、Microsoft社が提供するプログラミング学習用ソフトです。
他社(サードパーティー)のソフト/ハードと連携し、対象となるソフト/ハードの操作を行うプログラムを作成&実行することを通して、プログラミング学習が可能です。
ハードウェアと連携して使うものが多いですが、「Arcade」のように、ハード連携だけでなく、パソコンやスマホで動かすこともできるハイブリッドなものもあります。
- 提供元
- Microsoft Corporation
- プログラミングタイプ
- ブロックプログラミング
- 日本語対応:○
- その他
- 連携できるハードの種類が多い。
- 「BBC micro:bit」や「Circuit Playground Express」などのような、初級用の簡素なマイコンボード(基盤の上に電子部品が載っただけのもの)が利用できるため、児童向けに「電気工学」「電子工学」「電子部品」などをより意識した学習や教育を行いたい場合には、適しているかもしれない。
Swift Playgrounds
「Swift Playgrounds」は、Apple社が提供するプログラミング学習用ソフトです。
同Apple社が開発した「Swift」というプログラミング言語を用いて作られています。
いろんなハードと組み合わせて、プログラミング学習が可能です。
- 提供元
- Apple Inc.
- プログラミングタイプ
- ブロックプログラミング
- 日本語対応:○
- その他
- 連携できるハードの種類が多い。
- クリック/タップでプログラミングしていくスタイルだが、見えるのはコードそのもの。
- より工学的&実践的だが、初心者には辛いかもしれない。
- ブラウザ版もなく、macOSとiOS以外では利用できないため、教育目的で利用する場合は環境の制限が大きい。
一般ソフト(ハード連携不可)
ソフト単体で利用するプログラミング学習用ソフトを紹介します。
紹介するのは、基本的に無償で利用できるものです。
調査不足のため、ハードと連携が可能なものもあるかもしれません。
ScratchJr
「ScratchJr」は、「Scratch」をさらに児童用に特化させたプログラミング学習用ソフトです。
『スクラッチジュニアは、子供達(5歳~7歳)が自分自身で対話型の物語やゲームを作成することができる、入門用のプログラミング言語です。』
『スクラッチジュニアは世界中で多くの子供たち(8歳以上)に使われているプログラミング言語であるスクラッチ(scratch.mit.edu)に触発されて開発されました。』
(ScratchJrサイト「ScratchJrについて」より)
- 提供元(開発元?)
- タフツ大学DevTech研究グループ、MITメディアラボのライフロング幼稚園グループ、プレイフルインベンションカンパニー共同制作
- プログラミングタイプ
- ブロックプログラミング
- 日本語対応:○
- その他
- 児童向けに特化して作られているため、操作が簡単。
- 苦手意識のある児童が触ってみるのにはよいかも。
- 高度なことはできないため、いろんなことをしたい人は「Scratch」や他のツールのほうが適している。
- 「Scratch」と違い、スマホでもなんとか使えなくないのはありがたいかも。
- 児童向けに特化して作られているため、操作が簡単。
Viscuit
「Viscuit」は、デジタルポケット者が提供するプログラミング学習用ソフトです。
他のビジュアルプログラミングソフトとは、異なった思想で作られている和製のビジュアルプログラミングソフト(この場合、プログラミング言語というほうが正しいかも)です。
日本で開発されたソフトであり、筆者の記憶が確かであれば「プログラミング教育」うんぬんが声高に騒がれる前から提供され、日本で使われてきたソフトのため、日本での利用者や教育現場での導入例は多いと思われます。
- 提供元(開発元?)
- タフツ大学DevTech研究グループ、MITメディアラボのライフロング幼稚園グループ、プレイフルインベンションカンパニー共同制作
- プログラミングタイプ
- メガネ(独自)
- 日本語対応:○(むしろ英語版がないかも)
- その他
- 日本での導入障壁が低い。
- 日本国内でも使われている事例が多い
- 書籍やネットの情報も入手しやすい。
- 和製のため日本語対応の不安はない。
- インタフェースが独特なので、他のツールへの乗り換え時は、そちらに慣れる必要あり。
- 開発者が目指すところや、ソフトのユーザインタフェースが独特。
- 日本での導入障壁が低い。
Hour of Code
「Hour of Code」は、Code.orgが提供するプログラミング学習用ソフトです。
正確には、「Hour of Code」は、プログラミング学習するための「イベント」のことであり、「場」のことであり、「ツール」であり、「ソフト」であり、という感じです(と筆者は理解しています)。
ツールまたはソフトとしての「Hour of Code」で作ったプログラムは「アクティビティ」と呼ばれています。
- 提供元(開発元?)
- Code.org
- プログラミングタイプ
- ブロックプログラミング
- 日本語対応:○
Blockly Games
「Blockly Games」は、Google社が提供するプログラミング学習用ソフトです。
サイトに「beta」と記載があるので、現在はベータ版のようです。
『Blockly Gamesは、プログラミングを教える一連の教育用ゲームです。これは、コンピュータプログラミングの経験がない子供向けに設計されています。これらのゲームの終わりまでに、プレイヤーは従来のテキストベースの言語を使用する準備が整います。』
(「Blocky Games : About」をChromeで日本語翻訳したものより)
- 提供元(開発元?)
- Google LLC
- プログラミングタイプ
- ブロックプログラミング
- 日本語対応:○(ただし、一部非対応)
- その他
- ハードウェア連携したものが今後出てこないとも言いきれない。
特定ハード専用ソフト
プログラミング学習用ハードには、そのハード専用のソフトを用いるものがあります。
ソフト自体は無償で提供されているものが多いようですが、ソフトを利用するためには、対応するハードを購入する必要があります。
専用ソフトを利用するハードについての情報は後述の「ソフト・ハード対応表」を参照いただき、それぞれのソフトの詳細については、各ハードの提供元の情報を参照ください。
補足情報
ソフト・プラットフォーム対応表
「ソフト」に対応する「プラットフォーム」(ソフトが動作する環境)の対応表は以下リンクを参照ください。
ソフト・ハード対応表
「ソフト」で利用できる「ハード」または「ハード」で利用できる「ソフト」の対応表は以下リンクを参照ください。