Posts Tagged ‘クイズ’

クイズお休み

火曜日, 8月 11th, 2009

クイズらしく無いクイズは暫くお休みです.
後期が始まったら復活予定.

夏休みの間は別の事を書こうかと思いつつ,やるかどうかは未定です.

(Quiz/4年次) 学科システム/サービスのあるべき姿

木曜日, 8月 6th, 2009

2009年8月時点で,情報工学科が提供している学科サービスには以下のようなものがある.

  • LANインフラ: 有線/無線LAN.最近無線LANは総合情報処理センターのサービス管理下に移行.
  • 学科基幹サーバ: DNS, Mail, Web, NFS, EasyPackage など.
  • PCクラスタ: 180台を用途別に編成.希望次第で仮想OS占有可能.
  • iMac: Adobe CS2かCS3あたりを数台にインストール済み.
  • Edy認証機
  • 鍵付きロッカー
  • 自習室(講義室兼用を含む)

一方,情報工学科が掲げる人材育成像が以下のように示されている.

(出典: 情報工学科学科概要

本学科では、情報工学に関する学識とともに、自ら判断し行動する豊かな創造性を持つ人材を育成しています。
このため、一人一台のノート型パソコンを購入してもらい、入学後直ちに利用技術を実践的に学ばせるとともに情報専門教育を開始し、学生の学習意欲に応えています。
また本学科では、システム情報工学、知能情報工学の2大講座を設け、システムと知能を融合させた特色ある教育研究体制を敷いています。
高度情報化社会を牽引するハードウェア、ソフトウェア、システム技術等について学び、実践的能力を身につけた情報技術革新に対処し得る幅広い知識と柔軟な思考を有する人材を育成しています。

上記を踏まえて,以下のクイズに答えよ.

  • 現在提供されている学科システム/サービスは,上述の人材像を育成する場として十分機能しているだろうか?十分足りているだろうか? 機能していない/足りていない点があればそれを指摘せよ.
  • 情報工学科を卒業する人材像として,不十分な点があればそれを指摘せよ.
  • その欠落している点を補う為の次善策について検討せよ.

(Quiz/3年次) 情報工学実験3/4: Apacheのログ読み

水曜日, 8月 5th, 2009

ApacheによりWebサーバを運用すると,デフォルトの設定では /var/log/httpd/ 以下にアクセスログやエラーログ等のロギング情報が保存されることが多い.

以下は,NAL研Webサイトのトップページにアクセスした際に記録されたアクセスログの例を示している.

(/var/log/httpd/access_logより抜粋)
218.113.224.10 – – [04/Aug/2009:18:36:46 +0900] “GET / HTTP/1.1” 200 7354 “-” “Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; ja-jp) AppleWebKit/530.19.2 (KHTML, like Gecko) Version/4.0.2 Safari/530.19”

以下は,同じくNAL研Webサイトのトップページにアクセスした際に記録されたエラーログの例を示している.

(/var/log/httpd/error_logより抜粋)
[client 218.113.224.10] PHP Notice: Undefined index: value in /var/www/html/index.php on line 130
Tue Aug 04 18:36:47 2009] [error] [client 218.113.224.10] File does not exist: /var/www/html/item/css/images, referer: http://www.nal.ie.u-ryukyu.ac.jp/

上記を踏まえて,以下のクイズに答えよ.

  • access_log として出力されている情報より,読み取れる事実を列挙せよ.
  • error_log として出力されている情報より,読み取れる事実を列挙せよ.また,それらのエラーに対する解決策としてどのような方法が考えられるか,検討せよ.
  • /var/log/httpd/以下にログが保存されていなかった場合,どのようにすればログファイルを探すことができるだろうか?

(Quiz/2年次) アルゴリズムとデータ構造: Spotlightでの例

火曜日, 8月 4th, 2009

(出典: Wikipedia:データ構造

データ構造(データこうぞう、英 en:data structure)とは、計算機科学において、データの集まりをコンピュータの中で効果的に扱うため、一定の形式に系統立てて格納するときの形式のことである。
ソフトウェア開発において、データ構造についてどのような設計を行うかは、プログラム(アルゴリズム)の効率に大きく影響する。そのため、さまざまなデータ構造が考え出されている。

Mac OS X の Spotlight では,OSが標準で処理可能なテキスト文章であれば,Word 等のバイナリファイルの中身も含めて検索対象とすることが可能である.

Spotlight が対象とする検索対象とは,一つのファイル内には複数の単語が記述されており,さらにそのような文書が大量にある.このような膨大な文書を検索対象としつつ,ユーザーの入力した検索キーワードが含まれる文書を適切に列挙する必要がある.

上記を踏まえて,以下のクイズに答えよ.

  • 文書内のキーワードをリストで表現するとし,文書毎に異なるリストでデータを格納すると仮定する.すなわち,文書1にキーワードA,Bがある場合,そのデータを格納しているリスト1には「A->B」,文書2にキーワードA,C,Dがある場合,そのデータを格納しているリスト2には「A->C->D」と格納されているとする.この場合のメリット・デメリットを検討せよ.
  • 同様に,文書内のキーワードを木構造で表現しているとする.この場合のメリット・デメリットを検討せよ.
  • それ以外の適当なデータ構造は無いだろうか?

(Quiz/1年次) ソフトウェア基礎演習: ランチャー

月曜日, 8月 3rd, 2009

(出典: Wikipedia:ランチャー

コンピュータ用語では、使いやすいようにファイルやアプリケーションソフトウェアを、ショートカットキーのキーボード操作や、ボタンのクリックひとつなどの簡単な操作で起動できる機能である。近年のグラフィカルユーザインターフェース (GUI) を備えた大抵のオペレーティングシステムに、標準で備えられている機能であるほか、ツールソフトウェアの形で、様々なものが提供されている。

上記を踏まえて,以下のクイズに答えよ.

  • ファイルやアプリケーションを「ショートカットキーのキーボード操作」で操作できる機能とあるが,具体的にどのような機能があるだろうか?普段使用しているアプリケーションのショートカット機能を調べよ(どのように調べれば良いだろうか?).
  • 「ツールソフトウェアの形で、様々なものが提供されている」とあるが,どのような専用ツールがあるだろうか?
  • 使いやすさは個々人の好みに相通ずるところもあり,万人にとって便利なツールという物はなかなか見当たらない.自分にあったランチャーが見つかるまで,いろいろ利用してみよう

(Quiz/1年次) ソフトウェア基礎演習: 圧縮/アーカイブ

金曜日, 7月 31st, 2009

(出典: Wikipedia:アーカイブ (コンピュータ)

アーカイブ(英:Archive)とは、コンピュータにおいて、複数のファイルを一つのファイルにまとめたファイル、もしくはそれを作成する過程を指す。実際の利用においてはアーカイブと同時にデータ圧縮も行われる場合が多いため、圧縮技術と混同されやすい。

上記を踏まえて,以下のクイズに答えよ.

  • Linux系OSで良く使われるアーカイブ形式の一つに,tarがある.他にどのような圧縮/アーカイブ形式があるだろうか?
  • 通常は,アーカーブ形式毎に専用の圧縮・展開のためのコマンドが用意されているが,複数の圧縮形式に対応したコマンドもある.各圧縮形式に対応するコマンドは何だろうか?
  • 複数の圧縮形式に対応しているコマンド例としては,先に挙げた tar もその一つである.例えば,filename.tar.gz は gzip 圧縮したもの,filename.tar.bz2 は bzip2 圧縮したものとなる.一方,Mac OS X では Finder 上でダブルクリックしたり,ターミナル上で open コマンドを利用する事で自動で解凍してくれる形式もある.open コマンドで対応している圧縮形式にはどのようなものがあるのだろうか?
  • open コマンドのように,自動で圧縮形式に対応した解凍を行うためには,指定されたファイルがどのような圧縮形式なのかを自動判別する必要がある.どのように判別しているのだろうか?

(Quiz/4年次) 情報処理学会: 会誌「情報処理」 Vol.50 No.7, 特集記事「ライフログ」

木曜日, 7月 30th, 2009

(出典: 会誌「情報処理」 Vol.50 No.7 目次

特集 ライフログ
0.編集にあたって (大橋正良)
1.ライフログの実践的活用:食事ログからの展望 (相澤清晴)
2.プライバシ保護を考慮したケータイ行動ログの利活用について (佐藤一夫)
3.ケータイ・ライフログとしての実空間プロファイルと流通・管理技術 (小塚宣秀・森川大補)
4.ライフログに基づく実世界でのコンテンツ利活用 (木俵豊・是津耕司・河合由起子・水口充・宮森恒・柏岡秀紀)
5.ライフログ経験:センサが人生を変える (矢野和男)
6.虚血性心疾患に対するライフログの可能性 (中川晋一・八尾武憲)

(実際に記事を読みたい人は,私や情報処理学会に入会している先生らへお願いしてください.)

上記を踏まえて,以下のクイズに答えよ.

  • 「ライフログ」とは何だろうか?
  • あなたの生活の中で「ライフログ」として使えそうなデータは何があるだろうか?
  • そのデータを活用する事でどのようなサービス提供が考えられるか?

(Quiz/3年次) 情報工学実験3/4: コードリーディング

水曜日, 7月 29th, 2009

(出典: GNU GLOBAL ソースコードタグシステム

GNU GLOBAL ソースコードタグシステム

GNU GLOBAL(gtags)は、ソースコードのタグジャンプです。簡単に複数のソース中から関数や、変数の定義元/参照元を見つけ、その箇所に移動することができます。

ctags、etags(cygwin や Linux に大抵標準で含まれています)と同じ働きをしますが、gtags はさらに強力な機能を持っています。大量の他人の書いたソースを読むプログラマには、必須だと思います。

コードを書く際,ゼロから書き始めるだけでなく他人のコードを読みながら開発を進める状況(開発の引き継ぎ,拡張,バグ修正,etc.)が多々ある.

上記を踏まえて,以下のクイズに答えよ.

  • 他人の書いたコードを読む際,どのように読み進めれば良いだろうか?
  • global(gtags) は,上述の通り「簡単に複数のソース中から関数や、変数の定義元/参照元を見つけ、その箇所に移動する」ことが可能である.これはどのように実現しているのだろうか?
  • global(gtabs) をインストールし,実際にソースを読み進めてみよ.特に読みたいソースが無いのであれば,例えばFreeBSDのlsで試せ.

(Quiz/2年次) 情報工学実験1/2: 手続き型プログラミング,イベント駆動型プログラミング

火曜日, 7月 28th, 2009

(出典: イベント駆動型プログラミング

イベント駆動型プログラミング(イベントくどうがたプログラミング)は、起動すると共にイベントを待機し、起こったイベントに従って処理を行うプログラミングパラダイムのこと。フロー駆動型プログラミングと呼ばれる従来のプログラミングパラダイムに対する概念。「イベント駆動」は「イベントドリブン (event-driven)」とも呼ぶ。

C言語のような手続き型プログラミングなど,プログラミング・パラダイム(方法論)として様々な方法が提案,実現されている.

上記を踏まえて,以下のクイズに答えよ.

  • 手続き型プログラミングとイベント駆動型プログラミングを比較した場合,互いの利点・欠点はどのような点が挙げられるだろうか?
  • 手続き型プログラミングで実現が困難な例を挙げよ.それは何故困難なのだろうか?
  • 上記で挙げた困難な理由は,イベント駆動型プログラミングであれば解決できる,もしくは多少なりとも簡易に実装することが可能だろうか?

(Quiz/1年次) プログラミング: C言語におけるデバッグ

月曜日, 7月 27th, 2009

(出典: Wikipedia:デバッグ

デバッグ (debug) とはコンピュータプログラムや電気機器中のバグ・欠陥を発見および修正し、動作を仕様通りのものとするための作業である。
(中略)
デバッグの基本的なステップは以下である。

  1. バグの存在を認識する
  2. バグの発生源を分離する
  3. バグの原因を特定する
  4. バグの修正方法を決定する
  5. 修正し、テストする

上記を踏まえて,以下のクイズに答えよ.

  • プログラムを実行した結果,誤りのある最終結果が出力された.どうやらどこかで処理を誤っているようだが,プログラムとしては正常終了(最後まで実行して処理を終了する)している.このような場合,どのように誤りを見つけたら良いか?
  • プログラムを実行した結果,何も出力する事無く Bus error,または Segmentation fault により異常終了してしまった.このような場合,どのように誤りを見つけたら良いか?
  • 「Bus error」や「Segmentation fault」とはどのような状況で起きるのだろうか?