2023.10.27 ＠福岡県高等学校情報科研究部会

情報科学における高大接続についての考察～大学低年次情報教育の経験から～
稲永 俊介
九州大学
システム情報科学研究院情報学部門

2

自己紹介

氏名：稲永 俊介 （いねなが しゅんすけ）
1978

福岡県生まれ（現 45歳）

1996

福岡県立 福岡高等学校 卒

1996

九工大 情報工学部 知能情報工学科 卒 （石坂裕毅 研）

2000

九州大学 シス情 情報理学専攻 修士修了 （篠原歩 研）

2002

九州大学 シス情 情報理学専攻 博士学位取得

2003

JST ポスドク研究員

2003

フィンランド ヘルシンキ大学 ポスドク（ロータリー奨学生 兼任）

2004

JST ポスドク研究員

2005

京都大学 ポスドク研究員 （岩間一雄 研）

2005

学振 特別研究員 PD

2006

九州大学 SSP学術研究員 (特任准教授)

テニュアトラック2011

九州大学 システム情報科学研究院 情報学部門 准教授准教授

2023～

九州大学 システム情報科学研究院 情報学部門 教授

教授(主査：有川節夫)（篠原歩 研）(ホスト研究者：Esko Ukkonen)（篠原歩 研）D1で学位取得(早期修了)
国内・海外
ポスドク(武者修行時代)（竹田正幸 研）

専門分野：文字列処理アルゴリズム，情報検索

ウェブ/SNS
IoT/M2M通信
トラジェクトリ

大量ログ...
生物配列データベース

CACTCGCATCG...
CACACGCATCG...
CACTCGCGTCG...
...
CTCTCGCATGG...

多様で膨大な系列データの効率的処理を実現

 文字列学 (stringology)

3専門分野：文字列処理アルゴリズム，情報検索
情報科学
理論計算機科学

文字列学 (stringology)
処理系

圧縮系

証明系

応用系

アルゴリズム
データ構造

組合せ論

計算可能性

情報検索

オートマトン
言語理論

符号理論

計算量理論

バイオインフォ
マティクス

グラフ理論

情報理論

論理数学

自然言語処理4

5

九州大学の情報系学部・学科・コース

就職

大学院システム情報科学府

博士３年
博士２年
博士１年
進学

CMコース

学部２年
学部１年

基幹教育

理学部物理学科

工学部電気情報工学科

学部４年EE
ECコース コース

就職

修士２年 情報理工学専攻
修士１年

就職

学部３年

情報理工学専攻就職

学部４年
学部３年 情報理学コース

物理学コース

学部２年
学部１年

九州大学 物理学科 情報理学コースの高校生への周知を是非お願いします!!

基幹教育• プログラミング演習• 情報科学九大 基幹教育 「情報科学」 (物理学科1年生)
本日の講演

6

高校の情報科目とのいちばんの違い
大学の情報系科目では 数学 を駆使する◦ 例）整数，集合，論理，確率，統計など
計算理論：アルゴリズムの正しさや計算時間を論理的に証明  プログラム性能保証
情報理論：確率統計に基づく情報エントロピー，データ圧縮，暗号理論  情報通信技術
人工知能理論：機械学習のための微分積分，線形代数，確率統計  AI技術

数学抜きで情報科目を正しく理解することはできない

整数の表現
通常は, 固定長の２進数として表現
例：8ビット（=1バイト）長による自然数の表現
整数 内部表現
0 00000000
1 00000001
2 00000010
3 00000011
4 00000100
5 00000101

・・・

整数 内部表現250 11111010
251 11111011
252 11111100
253 11111101
254 11111110
255 11111111

0も仲間に入れて下さい自然数（符号なし整数）の表現
２進数表記について
15 14 13 12 11 1098765432

100 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1

210 + 28 + 27 + 22 + 20 = 1413(10) ビット列 an-1 an-2 ・・・ a0 (ak∈{0,1}) は自然数を表す
符号なし整数の２進数表記の「数学的な定義」

東京書籍 「情報I」

具体例による説明
4ビットの一覧表
イラスト

数研出版 「情報I」

具体例による
２進数⇔10進数の変換法の説明

具体例による
２進数の説明数研出版 「情報I」

道具(カード)を用いて，変換法を直感的に説明(巻末に付録あり)

桁上がりしたらカードをフリップ

日本文教出版 「情報I」
具体例による２進数⇔10進数の変換法の説明

具体例による２進数の説明

実教出版 「最新情報I」
4ビットの一覧表

指数関数の定義

アルゴリズムによる説明

実教出版 「最新情報I」
自然言語によるn 進数の定義

すべては計算である
コンピュータ上で行われていることはすべて「計算」である．
その「計算」と上手に付き合ったり，「計算」をうまく制御するには，「計算」とは何者であるかを理解する必要がある．
そのための科学がコンピュータ・サイエンス (計算機科学 / 情報科学)である．

そもそも「計算」とは？
例：プログラミングコンテストの課題「円周率の小数点以下100桁までを求めよ」
print(“3.141592653589793238462643383279
502884197169399375105820974944
592307816406286208998628034825
3421170679”)は OK ？ インチキ？

「計算」とは，の前に．．．
情報科学で扱う「問題」とは？
• 数学的に厳密に定義された関数

問題： f : X → Y
入力： x ∈ X
出力： f(x)Xfx

任意の問題事例 x ∈ X に対し，答えが一意に定まっていること

Yf(x)

19

２進数表現を振り返る
問題：2進数から10進数への変換
入力：整数 x の10進数表現
出力：整数 x の2進数表現
自然数の10進数表現の集合X

自然数の2進数表現の集合Y

251100120

２進数表現を振り返る
問題：2進数から10進数への変換
入力：整数 x の10進数表現
出力：整数 x の2進数表現

２進数表現の定義をせずにアルゴリズムを説明するのは数学的におかしい

自然数の10進数表現の集合X

自然数の2進数表現の集合Y

2511001f
変換アルゴリズムは関数 f の計算手順のこと

この集合 Y を定義してからでないと
関数 f は定義できない21

２進数表現を振り返る
問題：2進数から10進数への変換
入力：整数 x の10進数表現
出力：整数 x の2進数表現

２進数表現の定義をせずにアルゴリズムを説明するのは数学的におかしい

自然数の10進数表現の集合X

自然数の2進数表現の集合Y

25

11001

f
【再掲】

変換アルゴリズムは関数 f の計算手順のこと

Y の定義

例題を振り返る
例：「円周率の小数点以下100桁までを求めよ」
入力：なし
出力：円周率の小数点以下100桁まで
print(“3.141592653589793238462643383279
502884197169399375105820974944
592307816406286208998628034825
3421170679”)は正しく計算している！

定義を満たしているここまでのまとめと, ご提案23• コンピュータ上で行われていることはすべて「計算」である。
• 「計算」とは「問題」を解くことである。
• 「問題」とは入力の集合から出力の集合への関数である。
• 「アルゴリズム」とは「問題」を解く手続き, すなわち関数の計算方法である。
• 「プログラム」とは「アルゴリズム」をコンピュータが解釈可能な言語で記述したものである。
高校の情報科目の授業においても, 可能かつ適切な範囲で，数学的な背景があることを, 生徒さんに伝えて欲しいです。