大学カタログ

図 4 この科目が生きる大学の学問この科目が生きる大学の学問 1

情報学

785 段の石段の上り方、100 万件の名簿への 1 件の追加、1 台のコンピュータを大勢で使うしくみ。情報学の授業では、高校の情報 I・II で書いたプログラムが、計算量・データ構造・OS を学ぶ出発点になります。

山の長い石段を見上げて段数を数える学生、カードを矢印の付箋でつなぎ直す学生、古い大型コンピュータの操作盤の前で砂時計を見る学生たち

ひとことで言うと

体育祭の準備は、段取りで終わる時間が変わる

体育祭の準備は、同じ人数でも、仕事の順番や道具の置き場所の決め方で、終わる時間が変わります。コンピュータも同じで、手順やデータのしまい方しだいで、速さが何万倍も変わります。情報学は、その違いを数で比べて選ぶ学問です。

01

プログラミング → 計算量: 785 段の石段の上り方は何通り?

香川県の金刀比羅宮は、表参道から御本宮まで 785 段の石段が続きます。1 段ずつか 2 段ずつ上るとき、上り方は何通りあるでしょうか。小さい数で考えると、1 段なら 1 通り、2 段なら 2 通り、3 段なら 3 通りです。

n 段目には、n − 1 段目から 1 段か、n − 2 段目から 2 段で着きます。だから、n 段の上り方は、n − 1 段と n − 2 段の上り方の和です。情報 I で学ぶ関数を使うと、この決まりをそのまま数行のプログラムに書けます。関数の中で自分自身を呼ぶこの書き方を、再帰と呼びます。

ところが、このプログラムは 30 段で 269 万回以上も関数を呼び出します。同じ段数の答えを、何度も計算し直しているからです。呼び出しの回数は、段数が 1 増えるごとに約 1.6 倍になります。785 段では 165 けたの回数になり、今のコンピュータでも終わりません。

そこで、1 段目から順に答えをリストに書きためていきます。前の 2 つを足すだけなので、785 段でも足し算は 784 回で済み、答えは 164 けたの数になります。大学の「アルゴリズムとデータ構造」の授業では、この方法を動的計画法と呼びます。手間がデータの大きさに応じてどう増えるか(計算量)を見積もる方法も学びます。

同じ答えを何度も計算しない工夫で、手間は桁違いに減ります。

図解785 段の上り方を求める 2 つの方法

そのまま再帰で

  • 同じ段の答えを何度も計算
  • 30 段で 269 万回の呼び出し
  • 785 段では終わらない

リストに書きためる

  • 1 段目から順に 1 回ずつ計算
  • 785 段でも足し算 784 回
  • 大学では動的計画法と呼ぶ
木々に囲まれた長い石段。両側に石の手すりがあり、奥に向かってまっすぐ上っている
香川県の金刀比羅宮の石段。表参道から御本宮までは全部で 785 段あり、片道 30 分ほどかかります。写真: Immanuelle(CC BY 4.0・Wikimedia Commons)

02

配列 → データ構造: 100 万件の名簿の先頭に 1 件を入れる

情報 I では、たくさんのデータを配列(リスト)にまとめて扱います。配列は、データを番号順にすき間なく並べる形です。何番目のデータでも、番号から置き場所を計算して、すぐに取り出せます。

では、100 万件の名簿の先頭に、1 件を加えるとどうなるでしょう。すき間がないので、100 万件を 1 つずつ後ろへずらす必要があります。先頭に 1 件ずつ 10 万回加えると、ずらす回数は合わせて約 50 億回になります。

そこで使われるのが連結リストです。データごとに「次はこれ」という矢印を付けてつなぐ形で、途中に入れるときは矢印を 2 本付け替えるだけで済みます。その代わり、50 万番目のデータを読むには、先頭から矢印を 50 万回たどらなければなりません。

どの形にも得意と苦手があるので、使い方に合わせて選びます。大学の授業では、配列とリストのほか、木やグラフ、ハッシュ表などを学び、手間がデータの数とともにどう増えるかで比べます。日本学術会議の参照基準も、配列・木・グラフなどのデータ構造を、情報学の基本に挙げています。

データのしまい方を変えるだけで、同じ仕事の手間が大きく変わります。

図解配列と連結リストの得意・苦手

配列

  • すき間なく番号順に並べる
  • 何番目でもすぐ読める
  • 先頭に入れると全部ずらす

連結リスト

  • 矢印で次のデータとつなぐ
  • 途中に入れるのは矢印 2 本
  • 50 万番目は 50 万回たどる

03

コンピュータのしくみ → OS: 1 台を大勢で同時に使う工夫

スマートフォンでは、音楽を聴きながら地図を見て、メッセージも受け取れます。けれども、CPU の 1 つのコアが一度に進められるプログラムは、基本的に 1 つです。OS がそれぞれのアプリに少しずつ順番に時間を割り当て、すばやく切り替えているのです。

この方法の始まりの 1 つが、1961 年にマサチューセッツ工科大学(MIT)で公開された CTSS です。それまでは、プログラムを書いたカードを係の人に預け、何時間も結果を待つのが普通でした。CTSS では答えが数秒で返り、利用者ごとのパスワードを初めて使ったコンピュータとしても知られています。

切り替えの間隔には、ちょうどよい長さがあります。例えば、1 回の切り替えに 0.1 ミリ秒かかるとします。10 ミリ秒ごとに切り替えれば、むだになる時間は約 1% です。1 ミリ秒ごとにすると反応は速くなりますが、むだは約 9% に増えます。

大学の OS の授業では、こうした切り替えの順番の決め方(スケジューリング)や、メモリの分け方を学びます。参照基準も、メモリ管理やプロセス管理を OS の基本機能に挙げています。情報 I で学ぶ CPU とメモリのしくみが、その土台です。

OS は、限られた CPU の時間を、たくさんのプログラムに配っています。

図解切り替えの間隔と、むだになる時間(例)

入力1 回の切り替えに 0.1 ミリ秒かかるとする
  1. 110 ミリ秒ごと: 0.1 ÷ 10.1 = 約 1%
  2. 21 ミリ秒ごと: 0.1 ÷ 1.1 = 約 9%
  3. 3短くするほど反応は速いが、むだが増える
結果OS は、反応の速さとむだの少なさの間で間隔を決める
ランプとスイッチがびっしりと並んだ、灰色の大型コンピュータの操作盤
IBM 7094 の操作盤(アメリカのコンピュータ歴史博物館)。MIT では 1960 年代、この型のコンピュータで CTSS が動いていました。当時は 1 台約 350 万ドルもしました。写真: ArnoldReinhold(CC BY-SA 3.0・Wikimedia Commons)

04

情報学に進むなら: 高校で選んでおきたい科目と入試

情報 II を開いている学校なら、選んでおくと大学の学びに直結します。情報システムの開発やデータサイエンスを、情報 I より深く扱うからです。数学では、数学 B の数列が再帰や漸化式に、数学 C のベクトルが画像や AI の計算につながります。

入試での「情報」の扱いは、大学や学部によって大きく違います。例えば電気通信大学の情報理工学域は、2025 年度入試から、前期日程の個別試験に「情報」を加えました。数学と英語は必須で、物理・化学・情報の 3 つから 2 つを選びます(2026 年度の募集要項)。共通テストでは「情報」を含む 6 教科 8 科目を課しています。

情報学の面白さは、手順やしまい方を少し変えるだけで、同じ仕事が何万倍も速くなるのを、自分の目で確かめられることです。アルゴリズムや OS、ネットワーク、AI など、大学の情報学の分野は、このサイトの大学の学問「情報学」のページで紹介しています。

情報 II と数学 B・C を学んでおくと、大学の授業にすぐつながります。

クイズ情報と情報学のクイズ

答えを選ぶと、正解と解説が表示されます。

  1. Q11 段ずつか 2 段ずつ上る。4 段の階段の上り方は何通り?

  2. Q2100 万件の配列の先頭に 1 件を入れる。後ろへずらすデータは何件?

  3. Q31961 年に MIT で公開された CTSS が、初めて使ったとされるものは?

0 / 3 問に回答

高校生のうちに試せること

  • 上り方を 2 つの方法で計算する

    授業で使う言語で、n 段の上り方を返す関数を再帰で書いてみましょう。n が 1 以下なら 1、それ以外は way(n − 1) + way(n − 2) を返します。25 段、30 段と増やして時間を比べたあと、リストに書きためる方法に直してください。

  • Python Tutor で再帰の動きを見る

    Python Tutor では、プログラムが 1 行ずつ動く様子を図で見られます。上り方の関数を貼り付けて 5 段で動かし、同じ段数の呼び出しが何回出てくるか数えましょう。

    Python Tutor
  • 動いているプログラムの数を見る

    Windows ならタスクマネージャー、Mac ならアクティビティモニタを開きましょう。何もしていないつもりでも、たくさんのプログラムが動いています。OS が CPU の時間を配っている様子を、使用率の数字で確かめられます。

  • 電気通信大学の「情報」の問題を解く

    電気通信大学は、個別試験の「情報」の試作問題とサンプル問題を、解答例と解説動画とともに公開しています。大学が入試でどんな力を見たいのかが分かります。

    電気通信大学「情報」試作問題・サンプル問題

「情報学」に関連するコミュニティ

研究室・部活・サークルなど、全国の 53 件から探せます。

研究室未認証

分散システム構成学

岡山大学(岡山県)

工学部 情報・電気・数理データサイエンス系 ネットワーク工学コース・分散システム・舩曵 信生 教授

無線ネットワークの自動構築や電子透かし、並列計算、プログラミング学習支援システムを研究する。

研究室未認証

システムソフトウェア研究室

筑波大学(茨城県)

ソフトウェアシステム・計算機工学

NO IMAGE
研究室未認証

分散システム学

広島大学(広島県)

先進理工系科学研究科 情報科学プログラム・情報科学・藤田 聡 教授

エッジコンピューティング、もののインターネット(IoT)、ユビキタスコンピューティングなどを研究している。

研究室未認証

高スループットシステム研究室

熊本大学(熊本県)

工学部 情報電気工学科 情報工学教育プログラム・計算機システム・長名 保範 准教授

物理実験のデータ収集や海洋レーダ、量子誤り訂正向けの高速計算システムを作る。

研究室未認証

コンピュータアルゴリズム分野

京都大学(京都府)

情報学研究科情報学専攻・コンピュータ工学・湊 真一 教授

NO IMAGE
研究室未認証

システムソフトウェア研究室

熊本大学(熊本県)

工学部 情報電気工学科 情報工学教育プログラム・システムソフトウェア・芦原 評 准教授

OSや分散・並列システム、プログラミング言語処理系を研究する。

研究室をすべて見る(33 件)

よくある質問

情報 II を開いていない高校です。不利になりますか?

情報 II は選択の科目で、開いているかどうかは学校によって異なります。多くの大学では、プログラミングやアルゴリズムの授業を基本から始めます。気になる単元は、文部科学省が公開している情報 II の教員研修用教材で自習できます。

再帰は、高校の情報 I で習いますか?

情報 I では、関数を作って呼び出すことを学びます。関数が自分自身を呼ぶ再帰まで扱うかは、教科書や学校によって異なります。多くの大学では、1・2 年のプログラミングやアルゴリズムの授業で学びます。

個別試験でも「情報」が出ますか?

大学によります。電気通信大学の情報理工学域のように、前期日程の個別試験で「情報」を選べる大学があります。扱いは大学や日程によって異なるので、志望校の募集要項で確かめてください。