この記事は、これから高校の情報Ⅰを習う方・いま授業を受けている高校生と、保護者の方に向けて書いています。
高校の情報Ⅰでプログラミングをやるらしいけれど、実際にどんなことをするの?何の言語を使うの?……と気になっていませんか?
私はプログラミングの講師として、小学生から大学生まで教えてきました。ただ、高校で情報Ⅰを教えた経験はないため、授業の中身は学習指導要領や文部科学省の資料などの公開情報で確かめて書いています。その点だけご了承ください。
先に結論を書いておきます。
情報Ⅰのプログラミングは、「コンピュータの仕組み → アルゴリズム → プログラミング → シミュレーション」の順に学ぶ、単元の一部です。使う言語は学校によって違い、Python を扱う教科書がいちばん多くなっています。
- 情報Ⅰの中で、プログラミングがどこに位置づけられているか
- 授業の流れ(何を、何のために学ぶか)
- 授業で使われる言語と、言語ごとに気をつけたい所
- 家で授業の復習をする方法
- プログラミング経験がある子・無い子、それぞれの向き合い方
情報Ⅰのプログラミングは「コンピュータとプログラミング」の分野で学ぶ
情報Ⅰは、2022年度に高校へ入学した生徒から、原則として全員が学ぶようになった科目です。中身は大きく4つの分野に分かれていて、プログラミングはそのうちの「コンピュータとプログラミング」という分野で学びます。
つまり、情報Ⅰ=プログラミングの科目、というわけではないんですよね。
残りの3つの分野では、情報モラルや著作権、情報デザイン、ネットワーク、データの活用などを学びます。4つの分野の全体像は、情報Ⅰとは?高校で学ぶ4つの内容と情報Ⅱとの違いを講師が整理にまとめています。
何年生で習うか、プログラミングに何時間くらいかけるかは、学校の計画によって違います。1年生で学ぶ学校もあれば、2年生で学ぶ学校もあるようです。
情報Ⅰのプログラミングの目的は、プログラマーになる練習というより、コンピュータの仕組みを知って、身の回りの問題を解くのに使えるようになること。そう思って授業を受けると、何のための単元なのかが見えやすくなると思います。
授業の流れ|仕組み → アルゴリズム → プログラミング → シミュレーション
では、「コンピュータとプログラミング」の授業は、どんな順番で進むのでしょうか?
教科書や学校によって順番や深さは違いますが、学習指導要領や文部科学省の教員向けの教材を見ると、おおむね下の図のような流れになっています。

それでは、順番にみていきましょう。
① コンピュータの仕組み|CPU・メモリと「計算には限界がある」こと
最初は、プログラムを書く前に、コンピュータそのものの仕組みを学びます。CPU やメモリがどう働いて、命令がどんな順番で処理されるのか、といった話です。
ここで意外なのが、コンピュータの計算には限界があるという話。たとえば、小数の計算でわずかな誤差が出ることがあります。コンピュータは何でも正確に計算してくれる、と思っていると、ちょっと驚くかもしれません。
② アルゴリズムと流れ図|手順を、コードを書く前に図で考える
次はアルゴリズム、つまり「問題を解く手順」です。いきなりコードを書くのではなく、まず手順を言葉や流れ図(フローチャート)で表してみる、という練習をします。
料理のレシピのように、「何を、どの順番で、どんな条件のときに繰り返すか」を整理する作業ですね。ここがはっきりしていると、あとでコードを書くときに迷いにくくなります。
③ プログラミングの基本|順次・分岐・繰り返し・変数・配列・関数
いよいよ、実際にプログラムを書きます。上から順に実行する「順次」、条件によって処理を分ける「分岐」、同じ処理を何度も行う「繰り返し」。そして、値を入れておく「変数」、たくさんの値をまとめて扱う「配列」、処理をひとまとめにする「関数」など、プログラミングの基本のお作法を一通り学びます。
この単元の中心で、つまずく人がいちばん多いのもここだと思います。「for 文の i って何?」「なぜこの答えになるの?」と止まってしまったら、お作法を1つずつ例で確かめられるように、高校の情報でプログラミングがわからない人へ|原因と立て直し方で詳しく書いています。
④ 少し進んだ内容|探索・並べ替え、Webのサービスとつなぐ
基本のあとは、少し進んだ内容に入ります。たくさんのデータの中から目的の値を探す「探索」や、データを順番に並べる「並べ替え(ソート)」で、同じ結果を出すにも、手順によって速さが違うことを比べたりします。
教科書によっては、郵便番号から住所を調べるなど、Web のサービスとプログラムをつなぐ(WebAPI を使う)例も扱われています。このあたりは教科書や学校による差が大きく、さらっと触れるだけのこともあれば、時間をかけて実習することもあるようです。
⑤ モデル化とシミュレーション|サイコロやガチャを、プログラムで何千回も試す
最後はモデル化とシミュレーションです。身の回りの出来事を、計算できる形(モデル)に置き換えて、プログラムや表計算で何度も試してみます。
たとえば文部科学省が紹介している授業の例には、サイコロを何回も振ったときの結果を確かめるものや、「全部の種類がそろうまでに、ガチャを何回引くことになるか」をプログラムで試すものがあります。身の回りのことなので、なかなか面白いですよね。手でやったら何日もかかる試行が、数秒で終わる。プログラミングが「問題を解く道具」になる瞬間ですね。
ここまでが、おおまかな流れです。自分の授業がいまどこにいるのかを、先ほどの上の図で確かめてみてください。いま何のためにこれをやっているのかが分かるだけで、授業の見え方が少し変わると思います。

【重要】使われる言語|Pythonが多いが、学校によって違う
次に、「何の言語を使うの?」という話です。ここは、学校によって本当にバラバラです。
教科書で扱う言語は、主に4つ
情報Ⅰの教科書で扱われている言語は、主にPython・JavaScript・VBA・Scratchの4つです。2026年度に使われている教科書を見ると、Pythonを扱うものがいちばん多く、JavaScript や VBA を扱うものも多くあります。Scratch を扱う教科書もあります。
1冊の教科書で複数の言語を載せているものもあるので、「この教科書だからこの言語」とは決まりません。さらに、学習指導要領では言語の指定はされていないので、教科書とは別の言語や、学習用に作られた日本語で書ける環境を使う授業もあります。
出版社ごとの教科書の一覧と、それぞれが扱う言語は、情報Ⅰの教科書は何が違う?全17点の一覧と手に入れ方にまとめています。
言語ごとの特徴と、習うときに気をつけたい所
それぞれの言語で習うと、授業がどう見えるのか。ざっくり整理してみました。あくまで大枠ですので参考までに。
| 言語 | どんな言語? | 授業で見えやすいこと | 気をつけたい所 |
|---|---|---|---|
| Python | 文字でコードを書く言語。データ分析や AI の分野でもよく使われている | 短いコードで計算やシミュレーションができる。結果をグラフにすることも | 行の先頭の字下げ(インデント)にも意味がある。ずれるだけで動かないことも |
| JavaScript | Web ページを動かす言語。ブラウザがあれば動かせる | ボタンを押すと表示が変わるなど、結果が画面で目に見える | 見た目を作る部分(HTML・CSS)と、動きをつけるプログラムが同じ画面に並ぶので、どこが処理の流れなのか最初は分かりにくいことも |
| VBA | Excel などに付いている言語 | 表のセルに値を入れる・集計するなど、表計算とつながる | セルの指定など、Excel 特有の書き方が混ざる。動かすには Excel が必要 |
| Scratch | ブロックを並べて作る言語 | キャラクターを動かしながら、分岐や繰り返しの形を目で見て理解できる | 文字で書く言語に移ると、書き方の決まりで戸惑うことがある |
私が教えてきた中で言うと、PythonやJavaScriptは処理の組み立てを考える場面が一気に増えて、頭をすごく使います。一方の Scratchも、本格的な言語の勉強とは違いますが、論理的に考える頭を鍛えるにはもってこいだと思っています。(VBAは、私はやってないのでわかりません笑)
授業の言語が Python の人は、授業で使う範囲と、字下げや range などつまずきやすい所を高校の授業のPython入門|情報Ⅰで使う書き方とつまずく所にまとめています。
自分の学校の言語の確かめ方
自分の学校が何の言語を使うかは、教科書のプログラミングのページを見るか、授業の最初の説明で分かることが多いです。分からなければ、遠慮なく先生に聞いてみてくださいね。
言語が違っても、学ぶお作法(順次・分岐・繰り返し・変数など)は同じです。「何の言語か」より「お作法を自分で説明できるか」の方が、ずっと大事だと思います。
家で授業の復習をするには?|ブラウザだけで動かせる環境もある
授業のプログラムを家でもう一度動かしてみたい。そんなときは、まず学校で使っている環境が家からも開けるかを先生に聞いてみるのがいちばん確実です。ブラウザで動く教材を使っている学校なら、家のパソコンからそのまま開けることもあります。
Python なら、Google のGoogle Colaboratoryのように、インストールせずにブラウザだけで無料で使えるものもあります(2026年10月時点)。Google アカウントがあれば始められます。
Colab で動かすときの手順や、家で練習できる小さなプログラムは、高校の授業のPython入門|情報Ⅰで使う書き方とつまずく所で紹介しています。
JavaScript はブラウザがあれば動かせます。VBA は Excel が入ったパソコンが必要です。Scratch は公式サイトのブラウザ版で作れます。
なお、学校のアカウントで使うサービスは、学校のルールに従って使ってください。授業の外で何か作ってみたくなった人は、高校生のプログラミング、何から始める?授業・独学・進路の地図も参考にしてみてください。
授業の言語と、共通テストの書き方は別|どの言語で習った人も読める表記で出る
ここで、よくある勘違いを1つ。
共通テストの「情報」のプログラミングの問題は、Python や JavaScript などの特定の言語ではなく、大学入試センターが定めた共通テスト用の独自の表記で出題されます。どの言語で習った人でも読めるように、日本語まじりの書き方になっています。
なので、「共通テストのために Python の書き方を暗記しておこう」というのは、ちょっと遠回りかも。授業の言語でお作法を身につけておけば、試験の表記にはあとから慣れれば大丈夫。試験の表記は、どの言語で習った人でも初めて見て読めるように作られています。
共通テストの表記の読み方や、勉強の順番については、情報Ⅰの共通テスト対策|大問の中身と勉強の順番を講師が整理にまとめています。
講師の見方|プログラミング経験がある子・無い子の向き合い方
ここは私個人の意見を含みますので、参考までに読んでください。
経験がある子は「知っている」で流さない
習い事などでプログラミングをやってきた子は、③プログラミングの基本の「お作法」にはすでに素養があります。授業が簡単に感じることもあるかもしれません。
ただ、①のコンピュータの仕組みや、⑤のモデル化とシミュレーションは、習い事のプログラミングではあまり扱わない内容です。正直言って、私も詳しくはない分野です。「プログラミングは知ってるから」で流さずに、知らない所を1つずつ拾っていくのが必要です。
ちなみに、Scratch をやってきた子は、論理の訓練がしっかりできている子が多い印象です。一方、HTML・CSS でホームページを作ってきた子は、見た目を作る経験はあっても、分岐や繰り返しはこれから、ということもあります。HTML・CSS はロジックの要素が薄めなので、そこは新しく学ぶつもりで向き合うといいと思います。
あまり触れてこなかった子は、短いコードを自分で動かしてみる
習い事などでプログラミングをやってこなかった子も全く心配いりません。その場合は教科書をただ一度読むだけで終わらせず、短いコードを上から1行ずつ「なぜそう動くのか」を追ってみてください(できれば自分で動かすとなお良い。数字を変えたりするだけで良く分かる)。
プログラミングは、理解の積み重ねです。1つ分かると、次が分かる。階段を一段ずつ上るように進めれば、最初は意味不明に見えたコードも、ちゃんと読めるようになります。ちなみに、ほかの文章問題も同じです。
とにかくダメなのは、わからないまま読み飛ばすことです。あたりまえのことですが、これが本当に大事。もうそれだけ。
教科書や過去問・問題集を取り組むときにも1行ずつ理解してから次へ進むを徹底します。間違えたなら、見直しのときにそれをやる。プログラミング問題に限らず、これを徹底するだけで情報Ⅰは取れるようになります。
短いコードを1行ずつ追う練習は、高校情報のプログラミング問題の解き方|4つの型と練習問題の例題と練習問題でもできます。
もしAIに聞くなら「なぜそうなるのか」まで
プログラミングに限った話ではありませんが、最近は、わからないことやエラーが出たら AI にすぐ聞く、という高校生も多いかもしれません。確かに、効率的ですよね。
ただ、答えが出たからOK、直ったからOK、で終わらせるのはもったいないです。すぐに分かった気になるのは危険です。わからない理由や原因がどこにあって、どういう理由で直ったのか。そこまで確かめてから次に進むと、同じところで二度つまずかなくなります。AIに聞くのは構いませんが、あくまで最短距離を取るためではなく、学習目的であることを忘れないでください。
※AIのサービスには年齢条件があるものもあります。使うときは各サービスの利用条件を確かめ、必要なら保護者と一緒に使ってください。
経験があってもなくても、大事なのは「知っている」だけではなく「自分で説明できる」こと。情報Ⅰのプログラミングは、そこまで行ければ十分だと私は思っています。
よくある質問
高校でプログラミングは必修ですか?
情報Ⅰは、原則としてすべての高校生が学ぶ科目で、プログラミングはその一部として学びます。ただし、工業科や商業科などの専門学科では、専門の科目で情報Ⅰの代わりにしている学校もあります。
「Pythonはやめとけ」と聞きました。授業で習って大丈夫ですか?
授業で使う分には、気にしなくて大丈夫です。ネットで見かける「やめとけ」は、仕事で何を作るか、といった別の文脈の話であることが多いと思います。授業で学ぶお作法は、どの言語でもほとんど同じです。
中学生のうちに、何かやっておいた方がいいですか?
必須ではありません。中学校の技術の授業でも基本には触れていますし、高校の授業も習い事の経験がない人を前提に進みます。ただ、興味があるなら、小さなものを1つ作ってみるのはおすすめです。中学生の始め方は中学生のプログラミング、何から始める?講師が書いた学び方の地図にまとめています。
授業についていけないときは、どうすればいいですか?
まずは、どこが分からないのかを切り分けるのが近道です。お作法が分からないのか、用語が分からないのか、問題文が読めていないのか。切り分け方は高校の情報でプログラミングがわからない人へで書いています。教科書の説明だけでは分かりにくいときは、図の多い参考書を1冊使うのも手です。
授業用か共通テスト用か、プログラミングの経験があるかで変わる本の選び方は、情報Ⅰの参考書・問題集の選び方|目的と経験別に講師が整理にまとめています。
まとめ|流れが分かれば、情報Ⅰのプログラミングはこわくない
情報Ⅰのプログラミングは、「コンピュータとプログラミング」という分野の中で、仕組み → アルゴリズム → プログラミング → シミュレーションの順に学びます。目的は、コンピュータを問題解決の道具として使えるようになることです。
使う言語は学校によって違い、Python が多いものの、JavaScript や VBA、Scratch で習う学校もあります。でも、どの言語でも学ぶお作法は同じ。共通テストも、どの言語で習った人でも読める独自の表記で出ます。
まずは、自分の授業がいまどこにいるかと、何の言語を使っているかを確かめてみてください。そのうえで、短いコードを1行ずつ追っていけば、ちゃんと分かるようになります。
短いプログラムを1行ずつ読む練習(5問)と、情報Ⅰの用語の一問一答を、こちらにまとめています。→情報Ⅰの一問一答|無料で解ける45問と使い方を講師が整理
