到達目標
・情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。
・TCPとUDPの違いを説明できる。
・マルチスレッドとマルチプロセスの違いを理解した上で、マルチスレッドなプログラムを作成することができる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
TCP通信プログラムの実装 | TCPを用いたサーバ・クライアントの両プログラムを設計・実装することができる | TCPを用いたサーバまたはクライアントプログラムを設計・実装することができる | 見本となるプログラムを記述して実行することができない |
TCP/UDPの違い | TCPとUDPの違いを理解し、それぞれの特性に応じた使い分けについて説明することができる | TCPとUDPの違いを説明することができる | TCPとUDPが違うことを理解していない |
マルチスレッドプログラミング | マルチスレッドを用いたプログラムを実装することができる | マルチスレッドプログラムの動作について説明することができる | シングルスレッドのプログラムしか作成できない |
学科の到達目標項目との関係
学習・教育到達度目標 B① 専門分野における工学の基礎を理解できる。
JABEE SB① 共通基礎知識を用いて、専攻分野における設計・製作・評価・改良など生産に関わる専門工学の基礎を理解できる。
JABEE SC① 専門工学の実践に必要な知識を深め、実験や実習を通じて、問題解決の経験を積む。
教育方法等
概要:
実用的なソフトウェアの仕様を考えたとき、他の端末との通信が発生することが多い。本授業では、TCP/IP通信プログラムの実装を通して情報通信プログラムの作成方法を身につけるために、基本的なプログラムの作成から始めて、最終的には仕様をもとにしたプログラムの実装までをおこなう。なお、本授業で用いるプログラミング言語として、さまざまなモジュールが提供されており、手軽に高度な処理を実装できるプログラミング言語として近年注目されているPythonを用いる。受講者は自ら積極的にコーディングをすることで技術を身につけていってほしい。
授業の進め方・方法:
授業でははじめてPython言語を使う学生も多いと思われるため、Pythonの言語の仕様を簡単に確認してから通信のプログラムに入る。はじめは全員でプログラムのコードを一つずつ確認しながらコーディング作業を行い、後半では実際に提示された仕様に応じたプログラムの実装をする。
注意点:
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
Python入門(1) |
Python言語を用いてインタラクティブモードでのプログラミングができる。
|
2週 |
Python入門(2) |
テキストファイルにPython言語でソースコードを書いて、実行することができる。
|
3週 |
プロトコル |
MACアドレスとIPアドレスの役割を理解する。
|
4週 |
IPアドレス |
IPアドレスの構成を理解する。
|
5週 |
TCP/IPサーバ |
ソケット通信を用いてTCP/IPでの通信をする簡易サーバプログラムを作ることができる。
|
6週 |
TCP/IPクライアント |
ソケット通信を用いてTCP/IPでの通信をする簡易クライアントプログラムを作ることができる。
|
7週 |
バッファ |
ソケット通信での送受信時にはバッファを経由していることを理解する。
|
8週 |
まとめ |
前半の内容を復習することでTCP通信プログラムの概要をあらためて理解する
|
2ndQ |
9週 |
マルチプロセス・マルチスレッド |
マルチプロセスやマルチスレッドの違いを理解し、実装することができる。
|
10週 |
サーバのマルチスレッド化 |
TCP/IPのサーバプログラムをマルチスレッドで作成することができる。
|
11週 |
プログラムのモジュール化 |
Pythonでの処理を関数として実装し、自作モジュールとしてロードすることができる。
|
12週 |
UDP/IPによる通信 |
UDP/IPによるソケット通信プログラムを作成し、TCP/IPを利用した場合との違いを理解する。
|
13週 |
簡易ゲームの制作(1:構想) |
TCP/IPを用いてメッセージのやり取りを行うことで、簡易的なゲームプログラムを作ることができる(構想)。
|
14週 |
簡易ゲームの制作(2:設計) |
TCP/IPを用いてメッセージのやり取りを行うことで、簡易的なゲームプログラムを作ることができる(設計)。
|
15週 |
簡易ゲームの制作(3:実装) |
TCP/IPを用いてメッセージのやり取りを行うことで、簡易的なゲームプログラムを作ることができる(実装)。
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | 情報通信ネットワーク | 情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。 | 4 | 前5,前6 |
評価割合
| 試験 | 小テスト等 | 演習・レポート | 発表 | 相互評価 | その他 | 合計 |
総合評価割合 | 0 | 100 | 0 | 0 | 0 | 0 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 0 | 100 | 0 | 0 | 0 | 0 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |