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