ステモンのプログラミングレッスンでは、主に「Scratch」や「ScratchJr」を使用します。(こちらの画像のようなイメージではない、キッズ向けの親しみやすいソフトなのでご安心ください。)
「プログラミング」というと、アプリ開発者や、映画の中でハッカーがPCを使って、上の画像のような真っ黒い画面にアルファベットや記号をカタカタ高速に打ち込んでいる場面が浮かんでくるかもしれません。
これらは、正確には「コーディング」や「コーディング作業」と言います。
コーディング(Coding)とは、「プログラミング言語を使ってコードを書くこと」であり、もっとわかりやすく表現すると、「コンピューターがわかる言葉を使って命令を書くこと」と言えます。
コンピューターは人間のような目や耳が無いので、アルファベットや記号を書いた命令の一覧を読み込ませてあげないと何も動けないのです。
プログラミングという単語の意味はもう少し広いと思っていただくと理解しやすいです。
何かモノやサービスを作る際、プログラミングに限らずなんでもそうですが、いきなり作り始めるわけではありません。
実現したいことやモノの設計図を描いたりイメージしたりする作業が最初にありますよね。
そして、作る作業をしたあとは、ちゃんと思ったように動いたりするか確認し、上手く機能しなかったら修正してまた確認し・・・を繰り返して、ようやく完成します。
(何もイメージせずいきなり手を動かして思った通りのものを作れる人は、天才か神です!)
これら全体のプロセスを、プログラミングと言います。
なので、前述のようなPCでひたすらカタカタ打ち込んでいる作業は、プログラミングの中の作業のひとつということになります。
ご想像されるように、このコーディング作業が、プログラミングを経験したことない人や初心者にとってとてもハードルが高い(と感じられやすい)ので、ちょっと試しにやってみるかというムードになかなかなりません。
そのためコードを書いている人や職種に対して、なんか物凄いことをやっているな、あの人はこういうのが好きだからやってるんでしょ、自分の世界とは関係ないな、オタクみたいで私はちょっと、小学校でプログラミングってそういうことやるの?と思ったことがある人も少なくないでしょう。
コーディング自体は作業のひとつでしかなく、前後の設計や修正といったプロセスもとても重要です。
設計フェーズでは創造性や独創性、デザイン性が、
テストや修正フェーズでは諦めずに試行錯誤を繰り返して問題解決する姿勢や粘り強さが、
そして、規模が大きくなり複数人で開発したり、できあがったものを人に披露するためにはコミュニケーション力や表現力が必要です。
ここまで読んでお察し頂いた方もいるかもしれませんが、
上記のようなスキルは、アプリやゲーム開発といった特定の職業以外でもいま社会で強く求められています。
そして、これら創造性や表現力、問題解決力を効果的に養うために、逆説的ですがプログラミングがぴったりということで、いま早期教育としてプログラミングが注目されています。
そういった背景や意図があり、文科省が定めた新学習指導要領の中で、「プログラミング的思考」を育むというのがあり、2020年からプログラミングを取り入れた授業が小学校で必修としてスタートし、中学や高校でも順次始まるのです。
また、コーディングは確かに取っつきにくいですが、外国語と同様、慣れの問題です。
アプリ開発やお金を貰えるようなゲームを作ろうとする場合などは、少なくとも現時点では必ずコーディングすることになります。
しかしなんと、現在ではノーコードと言われる、コーディングをしないである程度のプログラミングができるソフトが数多く誕生しています。
そしてノーコードの中でもビジュアルプログラミングという分類のソフトがあり、ブロックを組み立てる感覚でプログラムを作れてしまうScratchやViscuitといった、キッズ向けに開発されたソフトが世界中の教育分野で大流行しています。
(次回以降、ScratchやViscuitについて書いていきます。)
難しいコーディング作業が必要なく簡単にプログラムを作れるキッズ向けのソフトがいまはあるので、あとはこれを使って試行錯誤していくうちに楽しみながらいろんなスキルが自然と身についていくということですね。
まとめ:「プログラミングって何?」
・プログラミングとコーディングという言葉があり、コーディングは、コンピューターがわかる言葉を使って命令を書く作業のこと
・プログラミングとは、コーディング以外に設計やテスト、修正も含めたプロセス全体のこと
・いまは難しいコーディングが必要ないソフトがあり、世界中の早期教育や公教育で活用されている
・プログラミング教育により、これからの社会でますます必要とされる様々なスキルが自然と身につけられる
Comments