プログラミングとは?
プログラミングとはプログラムを作ることです。プログラムは、コンピューターを動かすために必要であり、PCやアプリケーションのほか、家電などでも利用されています。
近年、ITの普及が進み、ITスキルは一部の専門職だけでなく、一般的な人材にも求められるようになってきました。プログラミングおよびその思考法はITスキルの習得に有効であるため、プログラミング教育が注目を浴びています。
プログラミングを習う場所
IT(とくにインターネット)の普及に伴い、プログラミングが学べる場所は広がってきました。従来は書籍などで学ぶか、専門学校に継続的に通うことが一般的でしたが、近年ではオンラインのセミナーや勉強会、学習コンテンツで学べるようになっています。
また、プログラミング教育が必修化され、児童・生徒は学校でもプログラミングを習うようになりました。それに合わせて子ども向けのプログラミングスクールも多く開校し、年齢を問わずプログラミングを学べる場所は増えつつあります。
プログラミングを学校で習う
では、学校で習うプログラミングについて解説していきます。
プログラミング教育が必修化された背景
現代の社会生活にITはなくてはならないものになりました。企業においても生産性向上やサービス創出にIT活用が欠かせないものとなりつつあります。将来の、より発展的なIT社会を担うために、子どものうちからITの知識・スキルを養うことが重要となります。このような背景から、プログラミング教育が必修化されました。
学習指導要領におけるプログラミング教育
小学校では2020年度からプログラミング教育を導入。中学校では2012年に必修化、2021年度からこれまでのプログラミング教育がより拡充されました。高校では2022年度からプログラミングやデータサイエンスを学ぶ「情報I」が必履修化されます。
プログラミング教育の目的は、大きく3つ挙げられています*。
①身近にあるIT技術を知る。また、それを活用し、課題解決に活用できるようになる。
②プログラミング的思考を育む。
③IT技術を、よりよい人生や社会づくりに生かす。
この中の「プログラミング的思考」は、プログラミングそのものを指すわけではありません。課題解決のための論理的思考力の一種で、ツールや情報を組み合わせで効率的に課題を解決する方法を思考する力を指します。
※出典:文部科学省 2016 「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」
小学校でのプログラミング教育
小学校でのプログラミング教育は、幅広い科目でプログラミング的思考に触れます。例えば、次のような取り組みがあります。
・多角形を描画するプログラムを用いて角度の法則を調べる(算数)
・センサー、スイッチを使って電気信号について学ぶ(理科)
・構成を考えてから文章を書く方法を学ぶ(国語)
コンピューターを使う授業もありますが、国語の例のようにコンピューターを使うことなくプログラミング的思考を学ぶ授業もあります。
中学校でのプログラミング教育
中学校からは、技術・家庭科分野の「技術」の科目でIT技術の考え方やプログラミングについて学習します。プログラミングについてはアニメーションなどの作品作りを通して、処理の流れを図解し、プログラミングする方法を学びます。プログラミング学習向けの言語が中心で、初学者でも取り組みやすい内容となっています。
高等学校でのプログラミング教育
2022年度から必履修化した「情報」科目でプログラミング教育が行われています。情報科目では、プログラミングだけでなく、コンピューター、ネットワークなど、幅広いITの知識を学びます。
また、情報の科目に限らず「総合的な探究の時間」でも、地域活性化のためのWebページ作成、健康増進のためのアプリの開発など、プログラミングを使って課題解決に取り組む学校も見られます。
高校でのプログラミングと大学受験科目
大学入学共通テストの科目に2025年から新たに「情報」が加わり、問題の一部にプログラミングが出題される予定です。プログラミングに特化して出題されるわけではなく、IT、ネットワーク、データの活用などコンピューターの知識が幅広く必要になります。
中高を視野に「プログラミング授業」は小1から 教員のためにも今は早い時期から始めるべき
ITの天才、小・中・高校生から育成する「未踏ジュニア」の凄み 日本は才能を「発掘し育てる」プログラムがない
プログラミング言語の種類
プログラミング学習用言語
多くのプログラミング言語では、コーディング(プログラムのコードを記述すること)が必要となります。コーディングではキーボード操作や文法の知識などが多分に求められるため、初学者にとってはハードルが高くなりがちです。そこで、プログラミング学習用には、コーディングが不要となるビジュアルプログラミングが採用されています。代表的なビジュアルプログラミングの例を2つ挙げます。
Scratch(スクラッチ)
「動く」「音を出す」などのキャラクターの動きを命令するブロックを組み合わせて、画面内のキャラクターを動かすことができます。
Viscuit(ビスケット)
PCやタブレットで絵を描いて、それを用いたゲームやアニメーションを作ることができるものです。文字がないため、未就学児からでも利用できます。
一般的なプログラミング言語
テキストプログラミング言語には多くの種類があり、それぞれ主な用途が異なります。代表的な用途には以下のようなものがあります。
組み込み
家電やロボットなどのデバイスに組み込まれたプログラムです。
Webアプリ
Webブラウザーで動くアプリであり、フロントエンド(Webブラウザーに表示される側での動作)とバックエンド(内部的な処理の流れ)で構成されます。
PC向けアプリ
PCにインストールして使うアプリです。
モバイルアプリ
スマートフォン、タブレット端末にインストールして使うアプリです。
以下は、用途を踏まえたうえでの代表的なプログラミング言語の例です。
C言語
主に、組み込みで利用されます。
Java
Webアプリ(バックエンド)、PC向けアプリ、モバイルアプリなど、さまざまな用途で利用されます。とくに、企業内のシステムでの利用が多いです。
PHP
主にWebアプリ(フロントエンド)で利用されます。
Ruby
主にWebアプリ(バックエンド)向けで利用されます。
Python
主に、Webアプリ(バックエンド)で利用されます。他にも、近年ではデータ分析の分野では非常に多く利用されています。
JavaScript
主に、Webアプリ(フロントエンド、バックエンド)で利用されます。Web系の開発を行うのであれば、ほぼ必須となる言語です。
初学者には、PythonとJavaScriptが人気です。これらの言語は、比較的シンプルで、用途も多岐にわたる点が特徴的です。
プログラミング教材
プログラミング教材にも、さまざまな種類があります。これらのものはプログラミングスクールで提供されているほか、市販もしくは無償で提供されています。
書籍
プログラミングに関する書籍は多く出版されています。ITやプログラミングの普及により、以前よりも初心者に門戸が開かれ、各言語の入門書も豊富にあります。
近年では子ども向けの入門書も多く出ており、PCを使わずにプログラミング的思考を学べるものなど内容もさまざまです。
Webコンテンツ
テキスト、動画、ゲームなど、さまざまなコンテンツを通して学ぶことができます。Web上でプログラミングの実行環境を提供しているサービスも多く、実行環境が用意できなくても学ぶことができます。
プログラミング学習用キット
ロボット工作キットやプログラミングボードなども市販されており、ロボットプログラミングを学習することもできます。キットの種類にもよりますが、プログラミングのほかに、センサーや動力についての理解を深めることもできます。
まとめ
プログラミングを含むITの知識・スキルは、今後ますます社会・企業で求められることになります。それに呼応するように、ITを学ぶ機会は増えています。とくにプログラミングについては学校教育を含めてさまざまな場所で学べます。今後のIT社会を見据え、まずはプログラミングからIT知識・スキルを身に付けてはいかがでしょうか。
株式会社まなび梯代表
2009年、株式会社富士通ラーニングメディアに入社。子ども向けプログラミングスクールの企画、教材開発、講師を務める。2020年、株式会社まなび梯を設立。プログラミングを含めた子ども向け学習イベントを定期開催するほか、プログラミングスクールのアドバイザーとしても活動中
(写真:Getty Images)