学習するプログラミング言語は何ですか? そして、その言語を選んだ理由は何ですか?
**ラボのメイン活動では「scratch(スクラッチ)」「processing(プロセッシング)」「arduino(アルドゥイーノ)」の3つを学習します。** **「scratch」****「ビジュアルプログラミング」と呼ばれるタイプの言語で、入門者が最初に触れるには最高の言語です。** マウス操作で論理ブロックを組み合わせてプログラムするため、キーボード入力や英語など、プログラミングの本質とは関係のない障壁がありません。そのため「条件分岐」や「ループ」などプログラミングの基本的な考え方を楽しく学ぶことができます。しかも慣れてくるとシューティングゲーム、ペイントソフト、クイズアプリなど高度なプログラムも作ることができます。多くのプログラミング教室で採用されていて月並みではありますが、やはり選ばれるだけの理由があります。 **「processing」 「java(ジャバ)」を簡略化して作られており、テキストを打ち込むタイプのプログラミング言語です。グラフィックに強く、初心者でも美しいデジタル・アートを簡単に作成できることができます。** 普通のテキストベースのプログラミングはイメージが湧きづらく、初めの低空飛行で挫折しがちです。そのためある程度の達成感がある物を作ろうとすると、大人が前もって作った物をいじるだけだったり、言われたとおりに打ち込むだけだったりになりがちです。しかしprocessingは、比較的簡単にグラフィックを伴うプログラムを作れるため、初心者でも楽しみながら英語入力や数的思考になれることができます。 **「arduino」 「processing」を元に作られており、見た目はprocessingと似ています。しかし用途が異なり、arduinoは電子部品をコントロールできる「マイコン」を動作させるための言語です。**紛らわしいのですが、このマイコンも「arduino」と言い同じ名前です。マイコンを使うと、各種センサー、led、モーターなどを自由に制御することができます。初心者でも比較的簡単に扱うことができる一方でポテンシャルも高く、最近では現実に中小企業などが、arduinoを用いた簡単な装置で工場を効率化したりという例もありました。 よく比較される例として「raspberry pi」がありますが、これは性能は高いのですがセットアップに非常に手間と時間がかかり、作品毎に用意するのが非常に困難です。一方arduinoなら、セットアップが不要なため、たくさんの作品を容易に作ることができます。 **ではなぜ、「javascript」や「python」や「c言語」などではないのでしょうか。**それは、steamラボがプログラマー養成学校ではないからです。ラボでは、「いま楽しく」「基本を学べ」「自分で作品を作れる」ことを最重視しています。興味を持って深めようと思えば、プログラミングはいくらでも自分で学ぶことができる時代なのです。さらに言えば、大学生とは違い、いま小・中学生の皆さんが大人になる10年後にどのような言語が重要なのかは予測不可能だと考えられます。したがって、今は将来学ぶための土台を作ることを優先します。 **以上の理由から、ラボではscratchで考え方を学び、processingで英語と数字に慣れ、自学が困難で科学と親和性の高いマイコンプログラミングをarduinoで学習します。**