わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

1年前から見直し―C,ネットワークプログラミング,1年体験演習

担当している後期の授業について,1年前に実施した内容から,大小ありますが修正をしています.
情報処理科目では,Cの変数・データ型・演算子を学習する回で,昨年度に取り入れていた「3の倍数と3が付く数字のときにはアホになる」を撤廃し,今回は曜日計算にしました.wikipedia:ツェラーの公式の【II】式に基づきます.ただし床関数は,Cでは整数/整数にすればよく,剰余演算子の%は,前の回の授業(Cプログラミングの初回)にも使用していました.次回の授業も,いくつかは昨年度と同じ,いくつかは差し替えを予定しています.
昨年度までは3年後期で,今年度から2年後期になったネットワーク演習科目について,Cで書いたソケットによる通信プログラミングの中心部分は,基本的に変更していません.
ただし最初は,「サーバを起動して待ち受けておき,クライアントがそこに接続する」というのを,課題として実施してもらいました.C,PerlPythonRubyで書いた,サーバとクライアントのプログラムを提供し,4×4=16通りの組み合わせで,それぞれの実行結果を取りまとめる,という内容です.クライアントプログラムは,どの言語も同じ動作をします*1が,サーバプログラムは,クライアントから受け取る数値に対して,言語ごとに異なる処理をして返します.Cのサーバが最も簡単で,Rubyは(自分のなじみの言語ということもあり)少々手の込んだ処理にしました.送受信の内容だけでなく,Rubyソースコードから,手掛かりを得ようとしていた学生もいまして,手間をかけて一式を用意した甲斐がありました.
Apacheのビルドも,取り組んでもらいます(課題公表済み).以前から,バージョンを2.2系列にするか2.4系列にするか,迷いながら,手軽さから2.2系列を採用していましたが,今回は,余力のある人は両方ビルドしてもらうことにしました.tarballは学外アクセスではなく,所定の場所(こちらのホームディレクトリ内)にあるファイルを使ってもらうのは,従来通りです.
1年後期の体験演習科目の担当は,来週です.学部のWebサイトが,この1年で変わっていたので,ブラウザのスクリーンショットや,特定のページへの行き方などを,差し替えました.HTMLの例も,1つ1つ見直しまして,FlashJavaアプレットは取り除くことにしました.動画に関する2種類の書き方(iframeタグとvideoタグ)については,コードは更新しつつ,昨年度と同じく両方表示とします.

*1:細かいことをいうと,接続後にサーバから送る内容は,言語ごとに異なります(ハードコードしています).