情報処理の方法と演習A,B(西暦偶数年度はAのみ開講、奇数年度はBのみ開講)

カテゴリー1
前期毎週金曜日1コマ目.隔年開講.
総合人間学部1号館1206号室(Bの場合には初回の途中以降は吉田南総合館東南棟2F A203号室に移動。ただしドットコムマスターの試験は1206で行う予定)

情報処理の方法と演習Aは演習の授業であり, 問題を解くことによって計算機科学の実際と理論を理解することを目標とします.

メール連絡先: sakura@stdio.h.kyoto-u.ac.jp (手入力してください)

情報処理の方法と演習Bも演習の授業で, 計算機のハードウェア演習とOSのインストール、サーバプログラムのインストールと運用の演習を行ないます. また、希望者のみIoT(Internet of Things、物のインターネット) 的なシステムの作成演習を行います。 設備と材料の関係上、受講者数に制限があります。 初回授業に必ず出席するようにしてください。 ただし人数に余裕がある場合には2回目以降から受講できる場合があります。 初回出席者数が多い場合には、ペア等のグループを組んで演習を行う場合があります。 この授業は出席をしないと演習を行えませんし、授業外での学習も必要です(特にIoTを選択した場合)。 分解したまま授業に来なくならないようにしてください。 無断で3回連続欠席した場合には、履修を取りやめたと解釈する場合があります。 後始末と設備の有効利用のためこのようなルールとしていることをご理解ください。

PCの動作とスペック(OSやサーバの選択に必要な情報です)の確認後、 PCを一度個々の部品レベルまで分解し、部品レベルの機能を学習します。 その後組み立てを行い、OSをインストールし、 各種サーバのソフトウェアから1つ以上選んで稼働させ、運用の演習を行います。 分解組み立てに失敗した場合、 その後のOSやサーバ等のインストール・運用の演習を行えない場合があります。

ただし希望者(が多い場合には抽選)は Raspberry Pi を利用してサーバとして使用します(ただし低速)。 安価なシステムなので授業後も利用したい場合には 自費購入をする方が良い場合もありますので検討してください。

また、IoTに付いての演習を行いたい希望者は申し出てください (用語の説明)。 参考資料として書籍・雑誌を用意してあります。 IoTの演習に必要な機器等に付いては相談してください。 Raspberry Piを利用できる場合にはそうします。 重要なのは、単にモノをネットワークに繋ぐことではなく、 それによりどのような問題解決やサービスが可能になるのか ということなので、そこに焦点を当てて考え、 コース終了頃のプレゼンテーションもそうしてください。 ここでいうサービスというのは大仰なものである必要は全くなく、 身近で些細なもので構いません。 他の人とはサービスの内容或いはIoTの方のアプローチ/仕組みのどちらかが異なっていれば 構いませんが、両方とも同じにはならないようにしてください。

コースの終わり頃に稼働させたOSとサーバについて説明し、 インストール・運営方法についてまとめて発表していただきます。 IoTに付いての演習を行った人はそれにより可能になったサービスや問題の解決について解説し、 IoTを利用しない場合と比較し、今後の発展に付いて発表を行ってください。 特にOSについて、同じOSを複数人で使用した場合には、 それの特徴・インストール・運用方法の発表は分担していただいても構いません。 発表時に、紙のレジュメを作成して配布・提出するか、 webでレジュメを作成してURLを提示してください。

以下はサーバの例です。

(以下は具体的なプログラム名ではありません) (以下はサーバではありません。インストールを行わなくても最初から組み込まれていたりしますが、概念の説明と設定方法を述べていただけばよいです。) サーバは各人別々のものを選択し、重ならないようにしてください。 OSは同じものとなっても構いません。 最初にサーバのプログラムを選択し、 それのインストールや運用が楽なOSを選択するのが普通です。 当該サーバがコンパイル済みの形で配布されているOSではインストールが楽です。 ソースプログラムからコンパイルする場合には、難易度が上がる場合が多いです。 選択の際にはOSとサーバそれぞれのPCに必要なスペックを確認してください。 古目のOSの方がスペックは低くてもよい場合が多いです。 しかし古すぎてメンテナンスが行われていないOSは避けてください。 サーバやOSについての本を用意してありますので参照してください。

Bの場合,ハードウェアに関しては以下のファイルをプリントして読んでおい て下さい。必要であれば自主セミナーで勉強会を行なって下さい。 また、各自軍手を用意しておいてください。 軍手を用意していない場合、分解組立を行えない場合があります。

hardware1.pdf

またBの場合、ドットコムマスター の教材を使った教育についての研究について、ボランティアを募集します。 この授業の場合、ドットコムマスターの資料を参照して自習し、 資格検定試験を受験するものです。運営会社に対して匿名で参加できますが、 試験のデータは運営会社の方に送られます。また、希望者については資格を得られますが、 その場合には匿名ではありません。学生の経済的負担はゼロです。 成績には影響しません。ただしサーバの運営やIoTに関係する、 ネットワーク周りの基礎知識を得ることができます。 参加者のそれ以外の利点は、学習資料を参照できることと、 資格取得を希望して合格すれば資格を得られることです。 2回目あるいは3回目くらいまでにPandAにて希望者を募ります。

授業以外での予習と学習が必要です。問題の解答は授業の前に 考えてきて、ホワイトボードや黒板にすぐ書ける形、あるいはWWW のファイルの形にしてWEBから参照できるようにしておいて下さい。 方法は,下記の解答例をクリックすると下の方に表示されます.

問題を解く時には、他の人と同じ内容の問題を解かないようにして下さい. 他の人がその年度に解いたものと同じ内容の問題を再び解いてはいけません。 また,自身が他の科目で解いたのと同じ問題を解くこともできません. ただし、教員が認めた場合には、問題の一部を解くことができます。

同じ問題を2人以上の人が解こうとした場合には, 保留問題(解こうとしたがまだ完全には解けていない問題)がある人が譲って下さい. ただし保留問題を他の人が解いてもよいのなら同等となります.

評価方法については授業中に説明します.

問題

計算機科学の基礎のレポート課題を解いても構いません。この場合には内容 的に同じ問題を2回以上解いてはなりません。

追加問題
問4.11 (Cantorの補題)
X:集合のとき、次のようなfが存在しないことを示せ。

f:{Y|Y⊂X}->X かつ f:単射

問4.18
0=φ,Xを任意の集合として,0->XとX->0を求めよ.

問4.25
1={φ},Xを任意の集合として,1->XとX->1を求めよ.

解答例(すでに解かれた問題)

UNIXの基本的なコマンドの使い方の説明

日置先生による解説

Scheme

FreeBSD関連

1206でのダウンロードのヒント:
ファイル名の上でマウスの右ボタンを押したままメニューから 「リンクを名前をつけて保存(S)...」を選ぶ

Vine Linuxの稼働するマシンでのFreeBSDインストールフロッピの作成方法

% dd if=kern.flp of=/dev/fd0H1440
% dd if=mfsroot.flp of=/dev/fd0H1440

この授業は演習であり,セミナーを行う場合を除いては, 授業中に問題を解くことによって単位を取得することができる. ただし,それだけで不足すると思われる場合には, その年にまだ解かれていない問題を解いて電子メールレポートとして提出することが可能である. 授業中に解いた場合と異なり,間違いを指摘されてその場で直したり, 次回にやり直したりする機会がないことに注意すること. また,授業中に解いた場合よりも得点を下げる場合がある.

レポートを提出する場合の提出期限:7月22日(土)

提出先: sakura@stdio.h.kyoto-u.ac.jp (手入力してください)

関連授業・セミナー