第1回「人間の活動と数の表し方」
人間の活動の中に現れる数の概念について俯瞰(ふかん)する。人間の計算活動は、最も単純な自然数を扱うことから始まった。そして、現在のコンピュータに至る。
ここでは、記数法、命数法、数の種類、数の表現などを取り扱う。
第2回「二進法・ビット・整数の計算」
コンピュータの動作を説明する際に不可欠な二進法を始めとする記数法を取り上げ、固定長表現や、桁あふれ、記数法の変換アルゴリズムを考える。他に、循環小数、整数の計算、指数、対数、剰余の考え方も学ぶ。
第3回「計算のしかけ」
「計算」とは何かについて述べる。まず、最も身近な計算である四則演算を「計算」という観点からとらえ直して理解する。各種の暗算の手法についても紹介する。
次に、コンピュータにとっての計算とは何かということを考え、現在のコンピュータの基礎理論であるチューリングの計算理論にも言及する。
第4回「数の性質と計算」
現実社会で実行されている計算活動の重要性を、情報伝達の誤りを検知する手法や簡単な暗号、クレジットカードなどの暗号のしくみ(共通鍵暗号・公開鍵暗号)を題材に学ぶ。
第5回「絵と音を計算する」
コンピュータは文章や数値データだけでなく、画像や音声、動画を表現することもできる。私たちが普通に接している画像や音声がコンピュータ上でどう表現されているか、そして計算によってどのように変化していくかについて学ぶ。アナログな情報をデジタル化する方法や、その限界についても触れる。
第6回「おはなしコンピュータ」
コンピュータが計算を行う基本的なしくみについて学ぶ。コンピュータの基本的なしくみに基づき、コンピュータが命令をどう実行しているのかについて学ぶ。変数や条件分岐、反復などの概念を学び次回への導入とする。Python対話型シェルの上でのプログラミングを行う。
第7回「コンピューターにおける式と手順」
これまでに学んできた計算は、一定の約束のもとでコンピュータ上での式として表される。
ここでは、コンピュータ上で式を記述し、それを「手順化」してプログラムとすることを学ぶ。
第8回「アルゴリズム」
手順はより一般的にはアルゴリズムという形で表現できる。ここではアルゴリズムの定義とその表現方法を紹介する。また、その例を身近なテーマを交えて学ぶ。
第9回「アルゴリズムと能率」
特定の問題に対する解法は複数存在するのが普通で、しかもそれぞれ計算量が異なることが多い。
ここでは計算手順に則した処理の手間に基づく能率の諸側面について探索アルゴリズムなどを通じて学ぶ。
第10回「さまざまなアルゴリズム」
並び替え(ソート)は、多くのアルゴリズムの基本処理となり、コンピュータでのデータ処理において重要な役割を果たす。ここでは、複数のソートアルゴリズムを紹介し、それぞれの性質及び、効率について説明する。
第11回「集合と確率の計算」
集合の定義や基本的な計算について学ぶ。また、確率の計算を学ぶ。集合や確率の考え方を利用した定理の証明や、べき乗の計算方法、条件付き確率を利用した分析、モンテカルロ法について触れる。
第12回「データと計算」
多くのデータが存在する現在、データ全体をどのように計算するか、それをどのように特徴づけるかという理論も進化してきている。ここでは、情報をどう計算するかを定義した、シャノンによる情報量の定義と計算方法や、データを計算対象とする統計的な計算の基本について説明する。
第13回「論理と計算」
数を表現するビットは論理的な演算という計算の対象でもある。ここでは、1階述語論理、とくに量化子(∀と∃の順番)の扱いについて説明する。
第14回「タブローによる計算」
1階述語論理のタブロー証明を学び、意味と記号操作の関係を学ぶ。
第15回「証明と計算」
数や計算に関する様々な定義や定理について説明する。集合の濃度についての基礎的な考え方と、対角線論法による実数の濃度、自然数についてのペアノの定義、それに基づく数学的帰納法について説明する。
|