高校生のプログラミングは何から?独学の始め方とおすすめ言語3選
高校生がプログラミングを始めるなら、まずは作りたい小さな作品を一つ決めることをおすすめします。
Webページに動きを付けたいならJavaScript、Webアプリを作りたいならRuby、計算やデータを扱うプログラムに興味があるならPythonが候補です。
言語を選んだら、初心者向けの教材でサンプルを動かし、一部を変更して、自分の作品にも使ってみましょう。独学でも学べますが、分からないことを調べる方法や、困ったときに質問できる相手を決めておくと進めやすくなります。
ゲームや部活動の紹介ページ、勉強に使うクイズなど、あなたはどんな作品を作ってみたいですか?
この記事では、プログラミングが初めての高校生に向けて、言語の選び方、作品を完成させるまでの手順、書籍やオンライン教材の使い方を紹介します。
独学と教室で迷っている人や、教材を終えて何をすればよいか分からない人も、今の自分に必要なところから読んでみてください。
最初の作品から考えるプログラミング学習の始め方

身近な興味から選ぶ小さな作品
最初の作品は、今の自分が作ってみたいと思えるものを選びましょう。
将来の職業や進学先が決まっていなくても始められます。
たとえば、部活動の紹介ページなら活動内容と写真を表示するところまで、勉強用のクイズなら一つの問題に答えて正解を判定するところまで作ってみます。
ゲームなら、ボタンを押すと得点が増えるだけのものから始めてもよいでしょう。
最初からログイン機能やランキング、オンライン対戦まで作ろうとすると、調べることが増えます。
まず一つの機能を完成させ、動くことを確かめてから追加していきましょう。
作りたいものが思い浮かばない場合は、短い入門課題を試してから決めても構いません。
画面の表示を変える課題や、計算の方法を工夫する課題に取り組み、どんな作業に面白さを感じるか確かめてみてください。
WebページとWebアプリの違い
Webページは、ブラウザーに文章や画像などを表示するものです。
見出しや段落などの構造を作るにはHTML、色や配置などの見た目を整えるにはCSS、ボタンを押したときに処理を行うにはJavaScriptを使います。
HTMLは内容を構造化するマークアップ言語、CSSは見た目を指定する言語です。MDNの入門ガイドでも、それぞれの役割を分けて学べます。
Webアプリは、ブラウザーで操作するサービスです。
読書記録を保存したり、登録した予定を表示したりするには、画面を作るとともに、入力されたデータを処理して保存するプログラムも用意します。
アプリを作りたい場合は、ブラウザーで使うものか、スマートフォンにインストールするものかを先に決めましょう。
作るアプリの種類によって、必要な言語や開発環境、学ぶ順番が変わります。
高校生におすすめのプログラミング言語3選

ここでは、JavaScript・Ruby・Pythonを紹介します。
作りたいものと利用できる教材をもとに、まず一つ選んでみてください。
| 言語 | 主な用途 | 最初の作品例 | 学び始めるときの注意点 |
|---|---|---|---|
| JavaScript | Webページの動き、ブラウザーで動く作品 | ボタンで点数が増えるクイズ | Webページと組み合わせる場合はHTML・CSSの役割も理解する |
| Ruby | Webアプリの処理やデータ管理 | 最初は文字の入力と表示で操作する読書記録を作り、その後にブラウザーで使えるようにする | Rubyの基礎とRuby on Railsの使い方は分けて学ぶ |
| Python | 計算、処理の自動化、データ活用 | 学習時間の合計、点数の判定 | 最初からAIや大規模な分析へ進まず、基本的な処理を試す |
JavaScript:画面の変化を確かめながら学ぶ言語
JavaScriptは、Webページに動きを付けるプログラミング言語です。
クリックへの反応や、画面に表示する内容の変更などを扱えます。
たとえば、正解のボタンを押すと得点が1増えるクイズを作るなら、どのボタンが押されたかを調べ、得点を記録し、画面の表示を書き換える処理を学べます。Webに興味があり、プログラムを書いた結果を画面で確かめたい人におすすめです。
最初はHTMLで見出しとボタンを作り、JavaScriptでボタンを押したときの動作を一つ追加してみましょう。
見た目は、動作を確認してから整えても構いません。多機能な開発ツールを導入する前に、各処理の役割を自分で説明できる小さなプログラムから取り組むことをおすすめします。
Ruby:Webアプリを作りたい人の選択肢
RubyでWebアプリを作るときには、Ruby on Railsという開発用のソフトウェアを利用できます。
Webアプリによく使う機能や構成をまとめて用意したもので、こうしたものをフレームワークと呼びます。Rubyがプログラミング言語、RailsがRubyを使ってWebアプリを作るための道具です。
Rails公式の入門ガイドも、Rubyの基礎を先に学ぶことを勧めています。
最初は、文字を表示する、条件によって処理を変える、複数の記録をまとめて扱う、といった課題から始めましょう。
基礎を学んだら、記録の追加、一覧表示、保存した内容の編集ができるWebアプリを作ってみましょう。
ここで紹介しているのは、ブラウザーで使うWebアプリの学習方法です。スマートフォンにインストールするアプリについては、作りたいものに合う言語や開発環境を別に確認してください。
Python:計算やデータを使う小さなプログラムの入口
Pythonは、計算やデータ処理などに使う言語です。
最初は、学習時間の合計を求めるプログラムや、点数に応じてメッセージを変えるプログラムを作ってみるとよいでしょう。文章や数字を扱う作品を作りたい人の候補になります。
AIに興味がある場合も、まずは値を記録する方法、条件分岐、繰り返しから学ぶことをおすすめします。作りたいものを目標にしながら、今の知識で書ける処理を一つずつ増やしていきましょう。
Python公式チュートリアルは、プログラミングの基礎知識がある読者を想定しています。
初めて学ぶ人は、初学者向け教材でコードを書いて試しましょう。公式資料は、分からない用語や処理の動作を調べるときにも使えます。
Unityのゲーム制作とC#の関係
3言語とは別に、Unityでゲームを作りたい場合はC#が候補になります。
Unityはゲームなどの制作環境で、C#はその中で動作を書くための言語です。Unity 6.0の公式マニュアルでは、C#によるプログラミングを説明しています。
Unityでゲームを作りたいと決まっているなら、Unityの操作とC#の基本を順に学ぶ教材から始められます。
開発環境や教材の選び方は、関連記事「Unityの学び方完全ガイド」で紹介しています。
ゼロから作品を完成させる学習の流れ

使える環境の確認と教材の選択
まず、使うパソコンで教材に取り組めるかを確認します。
インターネットに接続できるか、ファイルを保存できるか、必要なソフトをインストールできるかを確かめましょう。学校から借りた端末では、インストールが制限されている場合もあるため、学校の利用ルールに合う教材を選んでください。
パソコンを購入する前に、候補の教材が今使っている機器で動くか確認してください。必要な性能は、文字を扱うプログラムと3Dゲームの制作で異なります。スマートフォンで解説を読む場合も、自分でコードを入力して実行する時間を取りましょう。
ブラウザー上で学べる教材を使う場合は、作品の保存方法と、学習後に自分のパソコンで作品を作る方法も確認しておきましょう。教材内では自動的に用意されていた設定を、自分の制作環境では自分で行う場合があります。
サンプルの実行と一か所の変更
教材のサンプルは、まず書かれているとおりに動かします。
出力が確認できたら、表示する文字、数値、判定の条件などを一か所だけ変え、結果を見比べてみましょう。
たとえば、クイズの正解や、得点を増やす数値を変えたときに、結果がどう変わるか予想してみてください。
その後で実行して予想と比べると、変更した処理が何をしているかを確かめられます。
サンプルが動いたら、どの命令がどの処理をしているか、自分の言葉で説明してみましょう。説明できなかったところは、教材の該当部分を読み直して確かめてください。
作品づくりで使う基本の仕組み
プログラムを書くときには、値を記録しておく変数、条件によって処理を変える条件分岐、同じ処理を何度も行う繰り返しをよく使います。
処理をまとめて呼び出せるようにする関数も、作品が大きくなると役立ちます。
クイズなら、変数に得点を記録し、条件分岐で正解と不正解の表示を変え、繰り返しで問題を順番に出します。用語と実際の動作を対応させながら学んでみてください。
次は、Python 3で点数を判定する例です。
Python 3が使える環境で、コード全体をまとめて実行してください。
scores = [7, 9, 6]
target = 8
for score in scores:
if score >= target:
print("目標達成:", score)
else:
print("復習する点数:", score)
実行すると、7点と6点には「復習する点数」、9点には「目標達成」と表示されます。scoresには複数の点数をまとめて入れ、targetには目標の点数を入れています。forで一つずつ取り出し、ifで目標以上かどうかを調べています。
目標を6点に変えたら、どの表示が変わるでしょうか。点数に8点を追加したときの結果も予想してみてください。
>=は「以上」なので、目標と同じ点数も達成に含まれます。コードの行頭にある空白にも意味があるため、字下げもそろえて入力しましょう。
最小限の機能で作る最初の作品
基本の処理を試したら、教材で作ったものを参考に、自分の作品を作ってみましょう。
理解できたサンプルの処理を組み合わせる方法でも構いません。
勉強用クイズなら、まず「問題を一つ表示する」「答えを受け取る」「正解を判定する」までを完成させます。
問題数や見た目、得点の保存は次の段階です。Webページなら、紹介したい内容を一ページにまとめ、必要な一つの操作を追加してみましょう。
完成したら、正しい答え、間違った答え、空欄など、入力を変えて試します。
クイズなら、正解と不正解のどちらでも予定した表示になるか確かめましょう。動かなくなったときは、変更した箇所を一つずつ戻し、原因を調べてください。
自分の作品について、「誰が使うのか」「どんな操作で何が起きるのか」「どこを工夫したのか」を書いてみましょう。
説明してみると、自分が理解している処理と、まだよく分かっていない処理を整理できます。
部活動や定期試験と両立する学習計画
高校生活では、毎週同じだけの学習時間を確保するのは難しいこともあります。
部活動や試験の予定に合わせて、平日はサンプルの一部を変更する短い課題、休日はまとまった時間で作品を作る、と分ける方法もあります。
次の表は、4週間で取り組む場合の計画例です。進み具合に合わせて調整し、必要なら一つの段階にもっと時間をかけてください。
| 時期の例 | 取り組むこと | 確かめること |
|---|---|---|
| 1週目 | 環境を用意し、サンプルを動かす | 実行と保存の方法が分かる |
| 2週目 | 数値や条件を変えて基本を試す | 変更した場所と結果を説明できる |
| 3週目 | 自分の小さな作品を作る | 最初に決めた機能が動く |
| 4週目 | 入力を変えて試し、説明をまとめる | 問題点と次の改善が分かる |
その日の学習を終える前に、次回やることを一行メモしておくと、再開するときに何をするか迷いにくくなります。
「次は正解の数を表示する」「エラーが出た行を教材と比べる」など、具体的な作業を書いておきましょう。
書籍・オンライン教材の選び方と使い分け

書籍の試し読みで確かめたい内容
書籍は、説明を手元に置き、自分のペースで読み直したい場合に使いやすい教材です。
選ぶときは、最初の数ページを読んで、今の自分に必要な説明があるかを確認してください。
「初めて」と書かれた本でも、パソコンの操作から説明するものと、別の言語の経験を前提にするものがあります。ファイルの保存や実行の方法で迷う段階なら、その操作も説明されている本が合います。
コードを入力する課題や、各処理の役割を説明する文章、自分で考えて解く練習問題があるかも確認しましょう。完成品を写す課題だけの本では、自分で一部を変更しようとしたときに、どこを変えればよいか分からない場合があります。
発売日と対応するソフトのバージョンも確認します。文法の基本を学ぶ本ならコードの書き方、画面操作や導入手順を学ぶ本なら操作方法が、使用するバージョンに合っているかを見ておきましょう。付属データや訂正情報の案内も、利用前に確認してください。
オンライン教材の使い方と無料範囲
オンライン教材には、画面上でコードを入力できるもの、動画で手順を見られるもの、文章と課題を組み合わせたものがあります。
説明の分かりやすさに加え、自分でコードを書いて試せるかも確認して選びましょう。
動画は短い区切りで止め、解説と同じ操作を試します。コードを入力する教材では、正解した後に値を変えて、結果を見比べてみましょう。視聴や課題を終えたら、学んだ処理を使ってプログラムを書き、自分で動かせるかも確かめてください。
無料で始められる教材でも、使えるレッスンや作品の保存、質問への対応まで無料とは限りません。利用前に、提供元の案内で無料範囲と有料部分を確かめてください。未成年の利用条件や保護者の同意が必要かも、選ぶサービスごとに確認します。
教材の種類を探す際は、関連記事「子供向けおすすめのプログラミングアプリ7選」も参考になります。
サービスを使う段階では、それぞれの公式案内で現在の提供内容を確認しましょう。
教材を増やす前の確認
新しい教材を始める前に、今の教材で学んだ処理を使って小さな課題に取り組んでみましょう。
クイズの一部を変えたり、画面にボタンを一つ追加したりする程度で構いません。
説明が難しすぎる場合は、基礎から解説している教材を選び直してみましょう。自分の画面が教材と違う場合は、対応するバージョンを調べます。教材の内容は理解できても自作の方法が分からない場合は、作りたい機能を細かく分け、必要な処理を一つずつ考えてみてください。
何が分からないのかを整理すると、教材を変えるべきか、復習すればよいか、誰かに質問したほうがよいかを判断しやすくなります。
独学とプログラミング教室の判断基準

独学を続けるための条件
独学なら、学ぶ時間やテーマを自分で決められます。
作ってみたいものがあり、分からないところを調べながら進めたい人は、独学から始めてみてもよいでしょう。
独学では、学ぶ順番を決めたり、エラーの原因を調べたりすることも自分で行います。今の知識で教材を理解でき、少しずつ進められるか確認しましょう。同じ問題で長く止まっている場合は、教材の難易度や質問できる相手を見直してみてください。
無料の資料で独学する場合も、機器や書籍などの費用がかかることがあります。
独学と教室のどちらを選ぶ場合も、教材や機器、授業料など、実際に必要な費用を調べて比べましょう。
教室で確かめたいサポート
教室では、講師に分からないことを質問したり、学ぶ順番について相談したりできます。
学べる言語、自分の作品を作る際の指導、授業外の質問対応は教室によって異なるので、作りたいものを学べるか、必要な指導を受けられるか確認してください。
高校生が教室を選ぶときは、対象学年と、受講に必要な知識も確認します。「子ども向け」の教室でも、高校生を受け入れているかは教室ごとに異なります。同じ学年でもプログラミングの経験によって合うコースは変わるため、自分の経験を伝えて相談しましょう。
| 比べる点 | 独学の場合 | 教室で確認すること |
|---|---|---|
| 学習の順番 | 教材と課題を自分で選ぶ | 経験や目標に合わせた学習計画があるか |
| つまずいたとき | 資料や検索で原因を調べる | 誰に、いつ、どの範囲で質問できるか |
| 作品制作 | 必要な機能を自分で分けて調べる | 教材以外の作品も相談できるか |
| 予定との両立 | 学ぶ日時を自分で調整する | 部活動や試験期間と受講日時が合うか |
| 費用 | 教材・機器・利用サービスの費用を確認する | 入会金、授業料、教材費、機器の条件を確認する |
体験授業では、作りたい作品、独学で進めた範囲、解決できなかったエラーなどを講師に伝えてみてください。
保護者の方も、本人がどんな課題に取り組み、分からないときにどのような指導を受けられるか確認するとよいでしょう。
独学と相談を組み合わせる方法
家では自分のペースで制作し、困ったところを教室の講師や詳しい人に相談する方法もあります。
学び方は、自分の進み具合や必要な指導に合わせて変えて構いません。
自分で進められるところは制作を続け、解決できないところを相談しましょう。教えてもらった後は、問題の原因と直し方を自分で説明してみてください。理解できた内容は、次の制作でも使ってみましょう。
独学でつまずきやすい場面と対処法

エラーが出てプログラムを実行できない場合
エラーが出たら、表示されたメッセージと、エラーが起きたときの操作を記録します。
コードをすぐに全部書き直すと、何が原因だったのか分からなくなりやすいため、一か所ずつ確認しましょう。
入力したコードが教材と違うのか、ファイルの保存場所が違うのか、必要なソフトの設定が足りないのかを分けて調べましょう。Pythonの例なら、文字の打ち間違い、記号、字下げを確認できます。
エラーの行番号は、確認を始める手がかりです。必ずその行だけが原因とは限らないため、直前の行や最後に変えた部分も見ます。変更を一か所ずつ試し、どの変更で結果が変わったかを記録すると、同じ問題が起きたときに役立ちます。
教材を終えたのに自分の作品を作れない場合
教材では、使う命令や処理の順番が示されています。
自分の作品を作るときは、何をどの順番で処理するかも自分で決める必要があります。
まず、作りたい作品に必要な動作を書き出してみてください。「クイズゲーム」なら、「問題を表示する」「入力を受け取る」「判定する」「得点を増やす」に分けられます。その中で、すでに教材で試した処理を探しましょう。
分からない動作があれば、その処理だけを調べます。「Pythonで入力を受け取る方法」「JavaScriptで表示を変更する方法」のように、使う言語と実現したい動作を具体的にすると、必要な資料を探しやすくなります。
質問しても状況が伝わらない場合
「動きません」と質問するときは、作りたい動作、実際に起きたこと、自分で試したことも伝えましょう。
次のことを意識して伝えると、質問を受けた人が状況を確認しやすくなります。
- 作ろうとしている動作と、期待する結果
- 実際に起きたことと、エラーメッセージ
- 使用している言語やソフト、バージョン
- 問題が起きるコードや操作の範囲
- すでに試した変更と、その結果
状況を書き出すうちに、教材との違いや、見落としていた箇所に気づくこともあります。
分かる範囲で整理したら、まだ理解できない部分を質問してください。
学習の間が空いて再開しにくい場合
定期試験や行事で制作から離れたら、最後に動いていた作品を開いてみましょう。
最初から全部学び直す前に、今も動くかを確かめます。
以前のメモを読みながら、表示する文字などを少し変えるところから再開してみてください。
作品を保存するときに、使った教材、動作を確認した日、次に直したい点を記録しておくと、後から作業内容を思い出しやすくなります。
高校生のプログラミング学習でよくある疑問

高校生から始めても間に合う?
高校生からでもプログラミングを学び始められます。
今の興味と、学習に使える時間に合う課題を選びましょう。コンテストへの応募や進学準備が目的なら、必要な条件と期限を確認して計画を立ててください。
学習の進み具合は、以前は分からなかった処理を説明できるようになったか、小さな作品を一つ完成させられたかなど、自分にできることが増えたかで確かめてみてください。
数学や英語が苦手でも学べる?
文字を表示する、条件で動きを変える、といった入門課題から始められます。
高度な数学を最初に全部学んでおく必要はありません。ただし、データ分析やゲームの位置計算など、進む分野によって必要な知識は増えます。
英語の命令やエラーメッセージは、使うたびに意味を確かめていきましょう。分からない単語を調べる習慣は、プログラミング学習でも役立ちます。
最初に選んだ言語を変えても大丈夫?
目的が変わったり、教材が合わなかったりした場合は、選び直して構いません。
その前に、難しいのが言語の文法なのか、教材の説明なのか、制作環境の設定なのかを確かめてください。
別の言語へ移っても、条件分岐や繰り返しを使って考えた経験は生かせます。変える理由が整理できたら、次の教材で何を作るかも一つ決めておきましょう。
テックチャンスの無料体験と学習相談

まずは、作りたい作品と最初に作る機能を書き出してみましょう。
教材を使って試せそうなら、自宅で取り組んでみてください。教材選びに迷ったり、同じ問題を解決できずに止まっていたりする場合は、学習の進め方を相談してみるのもよいでしょう。
テックチャンスでは、プログラミングの無料体験を案内しています。
マインクラフトコースの推奨学年は小学4年生〜高校3年生、Unityアプリ・ゲーム開発コースは、プログラミング言語を習得済みの中学生以上が推奨対象です。
高校生でも、経験と目的に合わせてコースを確認してください。
開講しているコースや体験できる内容は、申し込むときに希望する教室へ確認してください。
今回紹介したJavaScript・Ruby・Pythonを学べるかどうかも、教室への確認が必要です。学びたい言語と作りたい作品を伝え、どんな指導を受けられるか相談しましょう。
過去の公式インタビューでは、友達の希望をきっかけに時事問題のクイズ作品を作り、学習歴一年半でコンテストに入賞した高校生の事例を紹介しています。
高校生の作品づくりと受賞のインタビューでは、制作の動機や取り組みについてお伝えしています。
体験では、今までに試したことや、これから作りたいものを教えてください。パソコンの操作に不安がある場合は、そのことも伝えて相談してください。
ぜひ、あなたのご参加をお待ちしています。