[[山内の演習のページ/研究室演習]]~
[[山内の演習のページ]]~
訪問者: &counter();           最終更新: &lastmod();

--------------------
***07年度の3年生ゼミ(10月30日(スタート時点)での予定)[#z4171932]
-全体計画
--内容1:ネットワークの復習
---参加者全員で、ネットワークの動作原理の復習をする。こちらでいくつかの「問い」を
用意するので、それに答える形で各自が説明し、質問する。
講義ではなく参加型のつもり。
--内容2:プログラミングの復習
---参加者全員で、プログラムを作ったり評価したりする。参加型。
---内容は、(1)いろいろな例題、(2)ソケットプログラミング、
(3)いろいろなプログラミング言語(特にオブジェクト指向?)
--内容3:ネットワークの実際
---ネットワークを構築する。サーバーを構築し必要な設定をする。
---実測について考える。

-時間の設定: 火曜日3〜4限は必須。そのほかに参加者の都合のよい共通の時間帯。
また、自分の時間をスケジュールして勉強したり試したりするとよい。

***ネットワークの復習 [#e7cf90bf]
|10/30 | HPをhttpでアクセスするとどのような通信が起こるのか |
|11/6  | データはどのように送られ、受け取られるのか |
|11/13 | 経路制御の仕組を説明してみよ |
|11/20 | 研究室内にサブネットを作るとして、どういう経路設定が必要か |
|11/27 | TCPの確実な転送機能・流量制御・輻輳制御の内容と、実現方法を説明してみよ |
|12/4  | 前回の残り+TCPのNagleアルゴリズム・遅延確認応答・ピギーバックについて説明してみよ |
|12/11 | ICMPと、DHCPについて説明してみよ、ARPの役割と仕組を説明してみよ |
|12/18 | DNSの仕組について説明してみよ、http・ftp・telnetについて説明してみよ |
|1/8   | Ethernetの原理と動作について説明してみよ+スイッチング技術・スパニングツリー・VLANについて説明してみよ |
|1/15  | 月曜の授業に振り替えのため3年ゼミはなし |
|      | これ以降は試験中につき希望者のみ個別話題で行う |

***プログラミングの復習 [#p62e8e27]
|10/30 | (1)nの階乗を計算する関数fact(n)を作れ。それを用いてn=1〜20の階乗の表を印刷せよ。  (2)異なるn個のものからr個取る組合せの数 nCr=(n!)/((r!)*(n-r)!) を計算する関数comb(r, n)を作れ。n=20として、r=1〜20の組合せの個数の表を印刷せよ。  (3)地球の赤道上にテープを1周分ぴっちりに巻きつけ、それを10m伸ばして端を結んだとする。この時地球の表面とテープとの間の距離が何mになるかを計算せよ。但し地球の半径は6378136.59mとする。 |
|11/6  | (1)数値定積分の手法である台形公式を使って、原点を中心とする半径1の円(y=SQRT(1-(x*x)) の面積を求めよ。  (2)シンプソンの公式を使うとどうなるか。|
|11/13 | (1)乱数発生関数(random, srandom)を使って範囲0〜1の乱数をN個発生させ、0〜0.1、0.1〜0.2、0.2〜0.3、...、0.9〜1.0のそれぞれの範囲に落ちる個数を数えて、発生の確率を表にしてみよ。Nを1000、100,000、1,000,000などと変えて、試してみよ。[[乱数発生へのコメント:http://www001.upp.so-net.ne.jp/isaku/rand.html]]   (2)乱数を用いて2次元の点(x, y)を0<=x<=1、0<=y<=1の範囲でランダムにN個発生させる。この点は座標面上では1×1の正方形の中に均一に落ちるはずである。このうち、前回の1/4円に落ちる場合(つまり(x, y)がx*x+y*y<=1を満たす)の数Mを数え、Mの全個数Nに対する割合 M/N (つまり1/4円内に落ちる確率)を求めよ。もし点が一様とすれば、M/Nは1/4円の面積に相当し、4倍すればπになるはずである。 |
|11/20 | (1)Excelから出力した横3列・縦は不定行・全てのフィールドは数値(=文字列でない)のcsv(コンマ区切り)のデータがあるとき、それを読み込んで2次元配列に格納するプログラムを作れ。csvは表の1行分を1行に表し(つまり最後に改行がある)、1行の中の列要素はコンマで区切られている。  (2)このデータは第1列目が学生番号、第2列目と3列目が英語と数学の成績とする。もう1つ別の表データがあり、これは第1列目が学生番号、第2・3列目は理科と社会の成績とする。この2つの表を「マージ」して1つの表のデータにせよ。簡単のため今回は2つの表の学生集団は全く同一とするが、表の上に並ぶ学生の順序はランダム順(ソートしていない)とする。&ref(3nenzemi_csv.xls); &ref(3nenzemi_csv_eigo.csv); &ref(3nenzemi_csv_rika.csv);|
|11/27 | 前回と同じ問題で、受講者は第1表と第2表では完全に同一でなく、両方にある学生もいるが、どちらか一方にだけある学生もいるとする場合に、どうするか。 |
|12/4  | ソケットを使って、簡単なWebクライアントを作ってみる。但し表示はサボることにし、サーバーからネットワークを経由してデータをダウンロードするところまでを作る。[[参考資料=昔の実験IIの資料:http://pepper.is.sci.toho-u.ac.jp/old_jikken03/]] |
|12/11 | ソケットを使って、簡単なWebサーバーを作ってみる。 |
|12/18 | tcpdump/Etherealのバイナリ出力を解析するプログラムを作ってみる(バイナリデータの扱い) |
|1/8   |  |
|1/15  | 月曜の授業に振り替えのため3年ゼミはなし |
|      | これ以降は試験中につき希望者のみ個別話題で行う |

***ネットワークの実際 [#ta1564ea]
詳細は未定。

---------------------
***(8月30日時点での案) 3つの基礎体力作り(07秋学期「実験2」の枠で) [#b1fb59bf]
卒業研究のための3つの基礎体力:
+「研究とは・論文とは」を理解する
--目標:
+++論文を書ける。論文を書くための研究として何をしたらよいか分かる。
--演習:
+++教科書「論文の教室  レポートから卒論まで」(戸田山和久、NHKブックス、2002年、1120円)を読んで、理解した点を整理する
+++実際に小論文・レポートを書く~
具体的には、課題 屬覆疾犬るのか、どう生きるのか」、
課題◆屬覆実膤悗燃悗屬里」、課題「どう社会に役立つのか」、を考えています。
+プログラムを嫌がらずに書けるようにする
--目標:
+++(卒業研究で必要になる程度の)簡単なデータ処理であれば、気軽にプログラムを作成できるようになる
+++プログラムを読む方法を身につける
--演習:
+++(簡単なデータ処理)サンプルプログラムでプログラムの動きを説明できるようにする~
具体的には?? (未定)
+++(簡単なデータ処理)いくつかの数値計算プログラムをJava, Cで書く~
具体的には、ニュートン法、数値積分(台形法、シンプソン法)、その他
+++(プログラムを読む方法)教科書「コードリーディング オープンソースから学ぶソフトウェア開発技法」を読んで、理解した点を整理する
+++(プログラムを読む方法)例題を解読する~
具体的には、教科書「コードリーディング オープンソースから学ぶソフトウェア開発技法」から、echo, expand, getopt, ...
+英語を嫌がらずに読めるようにする
--目標:
+++外国産のプログラムのマニュアルなどを読める
+++(未定)外国人とメールで意思疎通できる
--演習:
+++実際のマニュアルを読んで、内容理解を確認する(プレゼン)
+++メールについては未定

これらをやるとなると、実験2の時間枠だけでなく、かなりの自分の時間を
予習復習に当てる必要があります。~
卒業研究にはそれだけの★意欲と、▲熱意と、●決心とを持って取り組んでもらいます。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS