近年あらゆるものがデジタル化しており、今後プログラミングは英語と同じくらい重要なスキル・教養になるといわれています。すでに小学校ではプログラミング教育が必修化されており、高校でも2022年よりプログラミングの内容を含む「情報Ⅰ」が必修科目となります。
プログラミングは人を楽しませたり世の中を便利にしたりと、さまざまな新しい可能性を生み出すことができます。今回の記事では、プログラミングでできることから高校生におすすめの教材、学ぶコツやおすすめの言語などをご紹介します。
プログラミングとは
プログラミングとは、コンピュータへの指示を記述することです。コンピュータは記述されたプログラム内容を読み取り、指示されたように処理を実行し得られた結果を返します。このプログラムを構築することを、プログラミングといいます。
プログラミングでできること
世の中のあらゆるものが、プログラミングによってできています。たとえば、普段あなたが使うWebサイトやSNS、ゲーム、ほかには業務システムやAIロボットもプログラミングによって作られています。
プログラミングを始めるには
パソコンとインターネット環境さえあれば、誰でも気軽にプログラミングを始めることができます。プログラミングを学ぶ教材はざっくり3種類あります。どれか一つを選択するというよりは、自分に合いそうな方法をいくつか組み合わせて学習するといいでしょう。
1. Webサービス(学習サイト)で学ぶ
近年、さまざまなプログラミング学習サービスがインターネット上で展開されています。学習サイトで学ぶのは、以下のようなメリットがあります。
- スクールより安価
- 演習 / ハンズオン形式で学習できる
- 環境構築が不要
3つ目の環境構築とは、サービスをアップロードするサーバーと同じ環境を自分のPCの中に整えることで、通常プログラミングの前段階に行います。多くの初心者にとっての挫折ポイントとなるので、環境構築されている学習サイトでまず始めてみるのがおすすめです。
2. 本で学習する
体系的にプログラミングを理解することで、実際に手を動かしてプログラミングしてみたときに何を解決すればいいのか整理しやすくなります。またプログラマーの考え方や仕事を知ることで、学習のモチベーション向上にもなるでしょう。
3. プログラミングスクールに通う
将来、プログラマーやエンジニアとしてキャリアを積みたいと考えている場合はプログラミングスクールに通うのもおすすめです。スクールでは、キャリア相談やマンツーマン指導、就職・転職支援などのサポートをしてくれることが多いです。
スクールには、AIや人工知能、VRといった最新技術に力を入れていたりや、高校生向けの料金プランやプログラムを設けていたりなど、それぞれ特色があります。無料体験ができるスクールもあるのでいくつか受講しみるのもおすすめです。
高校生がプログラミングを学ぶメリット
部活や課題、テストや受験勉強で忙しい高校生がわざわざプログラミングの勉強時間を確保するのは難しいかもしれません。しかし、高校生のうちからプログラミングを学んでおくことには多くのメリットがあります。
論理的思考力や想像力が身につく
プログラミングではコンピュータに想像通りの結果を出させるために、どのような指示をどう組み合わせて出せばいいのか、エラー発生時にはどう改善したらいいのかなど論理的な思考力や想像力が求められます。
論理的思考力や想像力は、たとえプログラマーにならないとしてもさまざまな場面で役立ちます。たとえば、発表やプレゼンで物事を筋道立てて説明したり、論文を作成したりするなど、大学生や社会人になっても重要なスキルが身につきます。
吸収が早い
高校生くらいまでは柔軟で、新しいことに挑戦する抵抗が少なくパワーもあるのでプログラミングを学び始める時期としてはおすすめです。大人よりも新しいことを吸収するスピードも早く集中力もあるので、プログラミングに少しでも興味がある人はとりあえずチャレンジしてみることをおすすめします。
将来の選択肢が広がる
経済産業省が平成31年度に発表した「IT人材需給に関する調査(概要)」では、現状のIT人材の不足や、2030年までにIT人材の需要は2020年の3倍になると見込み、IT人材の確保・育成を課題として示しました。
そのため今のうちからプログラミングを学習しておけば、時代のニーズに合った市場価値の高い人材になることができます。またプログラミング言語に国境はないので、世界中どこへ行ってもプログラミング技術が通用します。将来、海外で働きたいと思っている人には特におすすめのスキルです。
おすすめ教材(学習サイト編)
プログラミング学習では、実際に手を動かして学習することが最も早く成長するための方法だといわれています。ここからはおすすめの教材を紹介します。まずは学習サイト編です。
Progate(プロゲート)
Progateは無料で始められるオンライン学習サービスです。スライドを用いた簡単なレッスンの後に、実際に0からコードを書いていくのが特徴です。
作業はブラウザ上で完結できるので、開発環境を用意する必要もありません。記述したコードが合っているかどうか、プログラミング後クリックすれば即座に確認できます。
1章クリアするとレベルが付与されTwitterでシェアできるなどの機能もあり、周りと成長を共有しながら学習を進められるのも楽しみの一つです。個人学習はもちろん、企業の研修としてもよく利用されています。
公式サイト:Progate
ドットインストール
ドットインストールでは、約3分間の動画を見ながら実際にコードを書いて学習します。Webサイト制作に必要なHTML/CSSの基礎から、Unityを用いた本格的なゲームプログラミングまで、さまざまなレベルのプログラミングを習得できます。
プログラミングに関してまったく知らない人や一度挫折した人でも無料で始められるので、まずは動画を見てみるなど気軽に試してみてはいかがでしょうか。
公式サイト:ドットインストール
Udemy(ユーデミー)
Udemyとは、現役エンジニアが講師として講座をインターネット上に公開している教育サービスです。アメリカのサービスですが、日本語の講義も充実しています。
30時間ほどの講座を数千円で受講可能できるので、オンラインスクールに通いたいが予算が合わない人や現役のエンジニアから実践的なスキルを学びたい方におすすめです。疑問点も講師に直接質問することができます。
公式サイト:Udemy
Schoo(スクー)
Schooは無料でオンライン生放送授業を開催している、動画配信サービスです。プログラミングスクールや、学校授業などの形式でプログラミングを学ぶことができます。無料で学べるのは生放送のみで、過去の動画は月額980円の会員費が必要です。
またプログラミングのほか、デザインや英語、経営などさまざまなビジネススキルを学ぶことができるのが特徴です。どの分野も業界では有名は講師が教えてくれますし、授業中であればチャットで質問することも可能です。一本60〜90分と長めの授業なので、しっかり時間がとれる方におすすめです。
公式サイト:Schoo
Codecademy(コードアカデミー)
Codecademyは、世界で4,500万人が利用している無料のプログラミング講座(一部、有料講座あり)です。英語で書かれているので、プログラミングと英語を両方勉強できることが特徴です。
コースの種類が豊富で「キャリアパス、スキルパス、単発スキル」など、自分が目指している目標に合わせた学習を進められます。なりたい職業が決まっている人はキャリアパス、作りたいものが決まっている人はスキルパス、とりあえずやってみたい言語がある人は単発スキルを選ぶといいでしょう。
公式サイト:Codecademy
おすすめ教材(書籍編)
本を読んで学習するのは、プログラミングを体系的に理解するのに役立ちます。ここでは、勉強する言語が決まっていない初心者におすすめの本を紹介します。
プログラミング超初心者が初心者になるためのPython入門(1)
Amazonでもベストセラーになっている入門書です。「プログラミング超初心者が初心者になるためのPython入門」はぜんぶで3部作あり、そのうちの1作目です。他の有名な入門書で挫折したが、本書は読破できたというユーザーが多く評判です。
Pythonは人工知能や機械学習の分野で話題の言語なので、プログラミングの面白さを理解するのにもぴったりの導入本でしょう。Pythonの学習に欠かせない基本的な概念が自然に身につく内容となっています。
プログラミングをはじめよう
IT関連の知識に詳しくない人や理系に不慣れな女性でも、思いついたアイデアをプログラミングで叶える方法を紹介しています。著者は女性で、慶應義塾大学を卒業後に女優も経験したことがある変わった経歴を持ちます。
集中して勉強するための一冊というよりも、勉強や学校生活の息抜きに読んで、プログラミングを身近に感じられるような内容となっています。よくある「初心者向け」の入門書とは違い、プログラミングを学ぶ目的や学ぶ楽しさなど、本質的なところを扱う数少ない著書で人気があります。コンパクトなサイズの単行本なので、まさにITや理系に苦手意識のある人は一読してはいかがでしょうか?
これからはじめるプログラミングの基礎の基礎
すでに改訂第3版まで出版されている、昔から定番の入門書です。改訂あたり、例題やプログラミング環境や言語の情報がアップデートされており理解しやすさが追求された一冊となっています。
いざ言語を選択してプログラミンを始めてみて躓いたときにも、基本的な概念に戻って本書読むと理解力がぐんと上がります。一冊持っておけば、ずっと使える基本の著書です。
おすすめ教材(ロボット教材編)
ロボット教材ときくと小学生向けなイメージを持つかもしれませんが、高校生でも楽しめるプログラミング教材はたくさんあります。ロボット教材は価格が高いことが多いですが、小さな頃からLEGOやロボットを組み立てるのが好きだった人は、楽しみながらプログラミングに触れられるのでおすすめです。
ソニー MESH(メッシュ)
MESHは「Make、Experience、Share」の略で、「作り、体験し、共有する」ことを叶えるIoT型のブロックです。センサー・ボタン・LEDなど、機能ごとに用意されたブロックを直感的に組み立てることで、さまざまなモノをつくることができます。
プログラミング言語を知らなくてもやりたいことを直感的に、簡単に組み立てることができます。すでに学習塾や有名大学の演習などで幅広く教材として採用されており、単なるプログラミング学習だけではなく、身の回りからアイデアを発展させていくことを学べます。
公式サイト:ソニー MESH
Ozobot(オゾボット)
Ozobotは、紙やスマートフォン、タブレット上に書かれた線に沿って動く世界最小のプログラミング教育用ロボットです。ペンの色を変えることで、ロボットが動くスピードを調整することもできます。
さらに、Ozobotをプログラムするための専用ツール『OzoBlockly』を使ってプログラムを組むことでOzobotを自在に制御することができます。場所やインターネット環境を選ばず、紙とペンさえあれば直感的にプログラミング的思考を身につけられるので人気があります。
公式サイト:Ozobot
micro:bit(マイクロビット)
micro:bitは、イギリスのBBC(英国放送協会)が主体となって作った、プログラミング教育向けのマイコンボードです。
動作をプログラミングできる複数のLEDやボタンスイッチのほか、加速度センサーと磁力センサー、無線通信機能が搭載されています。プログラミングを通して動くものを作ることを通して、論理的思考力を身につられるように設計されています。
イギリスでは11歳〜12歳の全員に無償配布され、授業での活用が進んでおり、日本でもプログラミング必修化をきっかけに学校での導入が進んでいます。
公式サイト:micro:bit(マイクロビット)
教育版レゴ マインドストームEV3
マサチューセッツ工科大学と共同開発され発売から約20年間、90ヶ国で採用されてきた世界標準のロボットプログラミング教材です。
レゴブロックで組み立てたロボットを頭脳部品インテリジェントブロックにプログラムすることで、自作したロボットを自由に制御できます。自分でつくったプログラムがロボットの動きとして見えるので、プログラミングの面白さの体感や学習意欲の高まりが期待できます。
公式サイト:教育版レゴ マインドストームEV3
高校生の独学にオススメのプログラミング言語
プログラミング言語には、Webに特化した言語、データ分析が得意な言語、androidアプリが開発できる言語などさまざまあります。
基本的には作りたいものや目的に合わせて、好きな言語を選ぶのがいいでしょう。まだ目標やも目的が漠然としていている人は、好きなサービスを参考にして言語を選ぶといいかもしれません。
Pyhon
AIやデータ解析に使うことができる言語です。求人数も年々増加し、今後の需要も見込まれています。人工知能、機械学習、データ分析のほか、YouTubeやInstagramといった高校生に人気のWebサービスでも使用されていたり、初心者にとっても理解しやすいシンプルな文法であったりすることもおすすめポイントです。
JavaScript
WEBサイトを編集できる言語です。昔から求人数の多い言語で、HTML/CSSがある程度できる人には特におすすめできます。また近年、需要が急増しているTypeScriptはほぼJavaScriptベースで書くことができるので、まず需要が安定しているJavaScriptから学習してみるのも一つの手だといえるでしょう。
Ruby
WEBアプリ開発に役立つ言語です。案件数も日本ではまだ多く、公式サイトが日本語であることや学習サイト、参考書やコミュニティが豊富なため学習しやすい環境であることがおすすめポイントです。Rubyをやるとなると、必然的にフレームワークの「Ruby on Rails」が必須であるため、合わせて学習するといいでしょう。
プログラミングを学ぶコツ
プログラミングを独学し始めて挫折してしまう人は、全体の約90%もいるといわれています。その原因として、モチベーションが大きく関わっています。ここではモチベーションを保つためのコツを3つ紹介します。
目的や作りたいモノを決める
作りたいモノが決まると学習すべきプログラミング言語も決まり、モチベーションの維持にも役立ちます。社会人でとりあえずプログラミングを一通り学んだものの、何を作ればいいのかわからないという人も少なくありません。
計画通りに学習したりモチベーションを維持するために、なぜプログラミングをやりたいのか言語化するのをおすすめします。
インプットとアウトプットのバランスをとる
プログラミングでは、インプットよりアウトプットの方が重要です。本や学習サイトを100%理解してなくてもアウトプットに移ることが大切です。完璧主義者の人は、100%理解してからでないと次に進むのが気持ち悪く感じてしまうかもしれませんが、そのような学習方法だと確実に挫折に繋がるのでおすすめしません。20%ほど理解が曖昧な箇所は思い切って飛ばして、実践しながら理解するようにしましょう。
学習計画を立てて期限を決める
モチベーションを維持するために、いつまでに目的を達成するのか決めましょう。そして、そのために必要な環境(継続する / 効率を上げる環境)を整えることがポイントです。
たとえば、次のような計画を立てるといいでしょう。
- 目的のサービスを制作する
- 学習サイトで特定のコースを完了する
- 毎日1時間プログラミングする
- 学習を続ける環境を作る
- 学校帰りに図書館に寄る
- その日にやったことを3行でまとめてTweetする
- 3行以上のものはnoteへまとめる
- つまずいたときは質問サイトや知人を頼る
まとめ
プログラミングは自分に合う学習方法さえ見つければ、誰でも身につけることができます。まずは自分の作ってみたいものやアイデアがあることが一番のモチベーションになるので、さまざまな教材に触れてみることをおすすめします。