到達目標
本授業は,現在のインターネットを支える技術であるTCP/IPやソケットに関する基礎知識を習得した上で,学生自身がそれらの技術を用いた基本的プログラムを開発する能力を身に付けることを目標とする。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | ポインタ、構造体、関数を用いたC言語プログラムを書くことができる。 | ポインタ、構造体、関数を用いたC言語プログラムの内容を説明できる。 | 簡単なC言語のプログラムを作成できない。 |
評価項目2 | ソケット通信で用いられる各種システムコールの挙動を説明できる。 | ソケット通信のしくみを説明できる。 | ソケット通信のしくみを説明できない。 |
評価項目3 | 独自のプロトコルを定義して、クライアント/サーバ型のプログラムを開発できる。 | 与えられたプロトコルを実装したクライアント/サーバ型のプログラムを開発できる。 | 簡単なクライアント/サーバ型のプログラムを書くことができない。 |
学科の到達目標項目との関係
教育方法等
概要:
低学年で学んだC言語を用いてソケット通信のプログラムを開発する。主にTCPを対象とするが、UDPとの違いや、同期型と非同期型の違いや、ユニキャストとマルチキャストの違いなども説明する。授業の後半では、教科書のプログラムを応用し、独自のプロトコルを各自で定義し、それを実装したクライアント・サーバ型のプログラム開発を行う。
授業の進め方・方法:
本授業では前期は主に,ネットワークプログラミングに関する専門用語や基本技術について講義する。後期は,前期のTCPソケットに続いてUDPソケットについて学んだ後,ネットワークプログラミングに必要なC言語の復習を行う。続いて前期で学んだ知識をもとにソケットを用いたプログラム開発を行い理解を深める。
注意点:
本科目の履修には、4年次のコンピュータネットワークIの履修が必要。
オフィス・アワー(月曜 16:00~17:00)
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
授業ガイダンス |
|
2週 |
OSI参照モデル |
OSI参照モデルの各層の役割を言える。D3:1,2
|
3週 |
TCP/IP |
TCP/IPの各層の役割を言える。D2:1-3
|
4週 |
インターネットとTCP/IPプロトコル |
インターネットでTCP/IPがどのように使われているか理解する。D2:1-3
|
5週 |
パケット,アドレス,プロトコル |
パケット,アドレス,プロトコルの用語の意味を言える。D2:1-3
|
6週 |
クライアントとサーバ |
クライアント/サーバモデルの概要を説明できる。D2:1-3
|
7週 |
インターネット |
インターネット上の各種アプリケーションの概要を説明できる。D2:1-3
|
8週 |
中間試験 |
|
2ndQ |
9週 |
試験問題の解答 |
|
10週 |
ソケットの作成と破棄 |
ソケットとは何かを説明できる。D2:1-3
|
11週 |
TCPソケット |
TCPソケットの構造を説明できる。D2:1-3
|
12週 |
UDPソケット |
UDPソケットの構造を説明できる。D2:1-3
|
13週 |
データのエンコード |
通信時にデータがどのようにエンコードされるかを言える。D2:1-3
|
14週 |
エンディアン |
ネットワークバイトオーダを説明できる。D2:1-3
|
15週 |
フレーミング |
パケットのフレーム構造を言える。D2:1-3
|
16週 |
試験問題の解答 |
|
後期 |
3rdQ |
1週 |
UDPとTCPの違い |
UDPとTCPの違いを説明できる。D2:1-3
|
2週 |
ユニキャストとマルチキャスト |
ユニキャストとマルチキャストの違いを説明できる。D2:1-3
|
3週 |
UDPによるメッセージの送受信 |
UDPを用いた通信の概要を説明できる。D2:1-3
|
4週 |
ポインタ,構造体 |
ポインタと構造体を用いたプログラム説明できる。D2:1-3
|
5週 |
システムコールとライブラリ関数 |
ソケット通信で用いられるシステムコールを理解する。D2:1-3
|
6週 |
文字列処理 |
C言語によける文字列処理の方法を理解する。D2:1-3
|
7週 |
文字列処理 |
文字列処理のプログラムを書くことができる。D2:1-3
|
8週 |
中間試験 |
|
4thQ |
9週 |
試験問題の解答 |
|
10週 |
クライアントプログラミング |
クライアント側プログラムの構造を説明できる。D2:1-3, E3:1-3
|
11週 |
クライアントプログラミング |
クライアント側プログラムを書くことができる。D2:1-3, E3:1-3
|
12週 |
サーバプログラミング |
サーバ側プログラムの構造を説明できる。D2:1-3, E3:1-3
|
13週 |
サーバプログラミング |
サーバ側プログラムを書くことができる。D2:1-3, E3:1-3
|
14週 |
独自プロトコルの設計と実装 |
独自のプロトコルを定義することができる。D2:1-3, E3:1-3
|
15週 |
独自プロトコルの設計と実装 |
独自のプロトコルを実装したプログラムを書くことができる。D2:1-3, E3:1-3
|
16週 |
試験問題の解答 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | レポート | 合計 |
総合評価割合 | 85 | 0 | 0 | 0 | 0 | 15 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 85 | 0 | 0 | 0 | 0 | 15 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |