[村川猛彦]

情報ネットワーク演習(村川担当分)

答案チェックと採点について
  • 1月23日(木)の昼休みに,履修している各学生宛てに「情報ネットワーク演習(村川担当分)の答案チェックを行いました」と題するのメールを送りました.もし届いていない学生がいれば,連絡をください.
  • メールをよく読み,回収対象ファイルの改善を図ることを期待します.
  • 今回の答案チェックは,成績評価の対象ではありません.
  • 成績評価のための答案回収を,2月2日(月) 19:00ごろに予定しています(今回チェックしなかった,課題1のserver.cとclient.c,課題3のprogram2.tar.gzも,中身を見て採点します).その後の修正は,採点の対象外となりますので,注意してください.
諸注意
  • 村川担当の演習実施日は以下の予定です.いずれも木曜日の13:10〜16:20です.部屋は,6階演習室(A601)です.
    • 2014年10月: 2, 9, 16, 23, 30日
    • 2014年11月: 6, 13日
  • 課題1~3を通じて,「通信プログラム」「オープンソースソフトウェア」「HTTP」「Webアプリケーション」について学びます.課題の詳細は,当ページで段階的に掲示します.当ページ以外の情報を参照してもらうこともあるので,毎回出席し,説明をよく聞いてください.
  • Linuxを使用します.授業開始時に,Linuxを起動させ,ログインしておいてください.
  • 成績は,前半(村川担当),後半(塚田先生担当)それぞれ50点満点でつけます.
    • 前半の成績は,自動回収のファイルをもとに採点します.答案のコピーには厳正に対処します.
  • 演習時間中に作業記録をつけてもらいます(用紙は配付します).筆記用具を用意しておいてください.各回終了時に提出してもらい,次回開始時に返却します.前半の全課題終了時にも,提出してもらいます.最終提出のない場合には減点の対象となりますので,なくさないようにしてください.
    • A4のクリアファイルに入れておき,演習時には取り出して随時,参照したり書き込んだりすることを推奨します.
  • 各課題に対する面談は実施しません.スタッフ(教員およびTA)は室内を巡回しますので,気軽に質問してください.スタッフの側から,質問をすることもあります.
  • ファイル回収状況のページを設置しました.指示通りにファイルを作ったのに,学生番号や○印のない人は,ディレクトリ名・ファイル名とパーミッションを見直してください.それでも問題ないという人は,連絡ください.
  • メールで質問したい人,授業時間外の相談などを希望する人は,takehiko@sys.wakayama-u.ac.jp まで.
課題1
実施内容と意図 ペアとなって動作する通信プログラムのデバッグおよび改善を行います.
この課題を通じて,クライアント/サーバモデルに基づく通信の実現方法を学びます.
使用可能なファイル ~takehiko/network-enshu2014/1/server0.c:サーバプログラム
~takehiko/network-enshu2014/1/client0.c:クライアントプログラム(バグあり)
~takehiko/network-enshu2014/1/server.c:サーバプログラム(不完全)
~takehiko/network-enshu2014/1/client.c:クライアントプログラム(不完全)
課題1-1server0.c および client0.c がペアとなって動作するよう,client0.c を修正しなさい.
課題1-2server.c および client.c に関数を定義し,それぞれ server0.c および(課題1-1で修正した) client0.c と同じ動作になるようにしなさい.
課題1-3client0.c にあるforループについて,その処理内容を詳しく説明したファイル client0.txt を作成しなさい.自習キーワードをできるだけ多く使用すること.
回収対象ファイル ~/network-enshu2014/1/client0.c
~/network-enshu2014/1/server.c
~/network-enshu2014/1/client.c
~/network-enshu2014/1/client0.txt
自習キーワード低水準入出力,システムコール,ホスト名,IPアドレス,ポート番号,クライアントサーバモデル,ディスクリプタ,DNS,線形リスト,一対多
課題2
実施内容と意図 Apache HTTP Serverのビルドを行い,様々な応答を調査します.
この課題を通じて,HTTPサーバの動作と,オープンソースソフトウェアの活用方法を学びます.
使用可能なファイル ~takehiko/network-enshu2014/2/httpd-2.2.29.tar.bz2:Apacheのソースファイル
~takehiko/network-enshu2014/2/status.txt:ステータスコード・動作手順などを記したテキストファイル
課題2-1~/network-enshu2014/2/httpd 以下の適切なディレクトリに実行プログラムなどが配置されるよう,ビルドしなさい.
課題2-2シェルスクリプトファイル build.sh を作成し,実行すれば,課題2-1の内容(ビルド,設定ファイルの修正,サーバ起動)を行うようにしなさい.
課題2-3サーバと通信し,10種類以上のHTTPステータスコードを確認しなさい.ステータスコード,英語による説明,動作の手順,確認方法を,ステータスコードごとに status.txt に記述しなさい.
回収対象ファイル ~/network-enshu2014/2/build.sh
~/network-enshu2014/2/status.txt
自習キーワードHTTP,オープンソースソフトウェア,Apache,ビルド,tar.bz2,configure,make,シェルスクリプト,設定ファイル,管理者(root),特権ポート,CGI (Common Gateway Interface),ステータスコード,ログ
課題3
実施内容と意図 HTTPサーバと連携して動く文字列検索プログラムを作成します.
この課題を通じて,Webアプリケーションの構築方法を学びます.
使用可能なファイル ~takehiko/network-enshu2014/3/program.tar.gz:HTMLファイルなど
~takehiko/network-enshu2014/3/text.tar.gz:テキストファイル
~takehiko/network-enshu2014/3/angular.min.js:JavaScriptライブラリファイル
~takehiko/network-enshu2014/3/manual1.txt:手順書(間違いあり)
課題3-1manual1.txt を修正し,その手順通りに実行するとWebアプリケーションが動作するようにしなさい.
課題3-2課題3-1で動くWebアプリケーションは,実用的とは言えない.実用的なものにするための改善案を6点提案し,実装しなさい.改善案は manual2.txt に記述し,実行に必要なファイルはアーカイブ化して program2.tar.gz に格納すること.
課題3-3課題3-2で実装したWebアプリケーションを他の学生が動作できるよう,手順書を作成して manual2.txt に保存し,実際に学生1名に動作確認をしてもらいなさい.
回収対象ファイル ~/network-enshu2014/3/manual1.txt
~/network-enshu2014/3/program2.tar.gz
~/network-enshu2014/3/manual2.txt (このファイルに記載すべき事項は別途指示する.)
自習キーワード文字列検索,grep,JavaScript,AngularJS,検収,ユーザインタフェース
リンク

takehiko@sys.wakayama-u.ac.jp
Last modified: Thu Jan 22 12:56:08 JST 2015