プログラミングとはなんだろう

プログラミングを簡単説明 プログラミング教育
この記事は約5分で読めます。
スポンサーリンク

プログラミング教育

人工知能によるビッグデーター解析や車の自動運転などのインフラ整備が進む中で、プログラミング教育の重要性が指摘される中、小学校でもプログラミング教育が始まりました。

プログラミングってなに

このページでは、プログラムやプログラミングについて具体例を交えて簡単に説明しプログラミング教育の意味を考えていきます。

プログラムやプログラミングは、コンピューターの専門用語に考えられがちですが、日常の様々な場所で使われています。

プログラミングとはプログラムをつくること

すごく簡単にいうと、プログラミングとはプログラムをつくることをいいます。

では、プログラムとはいったいなんのことでしょうか?

少し考えるとプログラムという言葉は、運動会のプログラムや発表会のプログラムなど日常でもいろいろなところに使われていることに気が付きます。

このプログラムの多くは、プログラム参加者がどのように行動すればよいかを表現するために、Who(だれが)When(いつ)、Where(どこで)、How(どのような条件で)What(なにを)するかが簡潔にまとめられた形式になっています。

以下に運動会のプログラムを例にしてプログラムの持つ意味を説明していきます。

運動会のプログラム

たとえば、下の表はある小学校での運動会(午前中)のプログラムです。

運動会のプログラム
時刻学年種目場所
8時30分全学年開会式運動場
9時00分全学年準備体操運動場
9時30分1年生赤白玉入れ運動場
10時00分5年生100m走運動場
10時30分3・4年生組体操運動場
11時00分2年生50m走運動場
11時30分6年生クラス対抗リレー運動場
12時00分全学年と保護者昼食(午前中の全競技が終わっている場合)第一体育館
第二体育館

この運動会のプログラムには、いつ・だれが・どこで・どのようなときに何をするかが書かれています。

このプログラムをみて、生徒や保護者、先生はこのプログラム通り迷わずに運動会を進めていくことができます。

では、この運動会のプログラムはいったい誰が作ったのでしょうか?

ふつうは、運動会を担当する先生やPTAが中心となり、当日の天候や参加人数、競技時間、移動時間を考えながら作っていきます。

運動会プログラムを作成(プログラミング)する先生
先生が作った(プログラミングした)プログラム通りに運動会が進行します。

このプログラムを作る作業のことをコンピューター用語でプログラミングと言います。

コンピュータープログラミングも同じです

上の例では、運動会はある小学校で行われていますが、この運動会がコンピューター上で行われていることを想像してみてください。

運動会をコンピューター上でうまく動かすには、コンピューターが分かる言葉で運動会プログラムを作る(プログラミングする)必要があります。

結局、プログラムやプログラミングの意味は、ある小学校での運動会を対象にするか、コンピューター上での運動会を対象とするかの違いがあるだけで考え方は同じです。

つまり、コンピュータープログラミングはコンピューターが分かるような言葉でコンピューターへの指示が掛かれたプログラムを作ることです。

このコンピューターが理解できる言葉のことを、プログラミング言語と言います。

プログラミング言語でプログラミングする。

プログラミング言語の種類と用途

プログラミング言語たくさんの種類があり、コンピューターの種類や利用分野によって適した言語が使われています。

例えば、エアコンなどの電化製品などに組み込まれているコンピューターでは、C言語やアセンブラ言語と呼ばれる機械制御に適したプログラミング言語が使われています。

また、人工知能の開発にはPython(パイソン)と呼ばれる言語、WEBサービスにはJAVA(ジャバ)と呼ばれる言語が使われています。

このほかにも利用分野に適したコンピューター言語が多くあります。詳細は、文末の【主なプログラミング言語と適用分野】を参照してください。

教育分野でのプログラミング言語

教育分野でのプログラミング言語のひとつにビジュアルプログラミングという画面上で様々な役目をもつブロックを組み合わせてプログラミングを行うスクラッチ(Scratch)があります。

ビジュアルプログラミング事例。イベント 制御 動きを表すブロックを組み合わせてプログラムを作る。
左側のブロックを組み合わせてロボットを動かすプログラミングを行う例

日本の小中学校でも、スクラッチ(Scratch)はプログラミング教育の一環として多くの学校で利用されています。

平成30年度 次世代の教育情報化推進事業
(小学校プログラミング教育推進のための指導事例の創出等に関する調査研究)
小学校プログラミング教育に関する指導案集
出典:文部科学省ホームページ (https://www.mext.go.jp/)

このスクラッチは、小中学生(8〜16歳)向けの教育用プログラム言語環境として、世界中の誰もが無料で使うことができます。

補助として利用されている教材もスクラッチ(Scratch)と同様なビジュアルプログラミングでのプログラミングが中心となっています。

このスクラッチ(下図)をつかうことで、子供たちは発想・考え(アルゴリズム)をゲームやサウンド、アニメーションとしてインターネットブラウザ上で自由に表現することが出来ます。

スクラッチプログラム作成画面
画面左のコード部にある動き 見た目 音 イベント 制御 演算 変数 ブロック定義を
画面中央にドラッグして組み合わせることで、画面右のサッカー選手の動きや背景を簡単に変えることが出来ます。

Scratch(スクラッチ)は、MIT (マサチューセッツ工科大学)メディアラボのライフロング キンダーガーテングループにより管理されています。https://scratch.mit.edu/

重要なのは発想

この言葉の使い方がわかれば、コンピューターに何をさせるかは自由な発想で無限に広がります。

コンピューターというキャンパスに、プログラミングという手段で自由な発想に基づいた絵を描くというイメージです。

プログラムの論理的な思考を理解しておけば、たとえコンピューターが異なったりプログラムの利用分野が違っても自分の考えを表現できるようになります。

プログラミング教育の重要な点は、この自由な発想と論理的な思考をを身に着けていくことにあります。

主なコンピューター言語と利用分野【参考】

自由な発想と発想を実現するための論理的な思考を行うという本質的な学習を行っておくことで、実社会の様々な分野で利用されているコンピューター言語を利用してのサービス開発や利用者としてのサービスの理解がスムーズにできるようになります。

コンピューター言語と利用分野
コンピューター言語利用分野備考
HTML,CSS,JavaScript
Java,Ruby,Perl,PHP,Python
インターネットWEB系

 

クライアント系
サーバー系

Objective-C,Swift,C++
Java

スマホアプリ系IOS系
Android系
Python,R,JavaScript人工知能(AI),データ解析系 
Assembla,C,組み込み系 
SQLデーターベース制御系リレーショナルデーターベース向け
C++,Go,
Solodity
ブロックチェーン系
スマートコントラクト系
仮想通貨
Scrach言語教育ビジュアルプログラミング
Copy Protected by Chetan's WP-Copyprotect.
タイトルとURLをコピーしました