情報ネットワーク

科目基礎情報

学校 福井工業高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 情報ネットワーク
科目番号 0168 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 学修単位: 1
開設学科 電子情報工学科 対象学年 5
開設期 後期 週時間数 後期:2
教科書/教材 プリント配布
担当教員 高久 有一

到達目標

情報通信ネットワークの普遍的な考え方・設計について、これまでに学習してきた知識を組み合わせた例題や具体的応用例を多く取り入れて講義する.
 現在のインターネットに使用されているイーサネットとTCP/IPに関しては実際にネットワークに対して働きかける演習を取り入れて理解を深める.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1情報通信ネットワークの普遍的な考え方・設計について説明できる情報通信ネットワークの普遍的な考え方・設計について知っている情報通信ネットワークの普遍的な考え方・設計について知らない
評価項目2C言語にて、TCP/IPのネットワークプログラミングができるC言語にて、TCP/IPのネットワークプログラミングを知っているC言語にて、TCP/IPのネットワークプログラミングを知らない

学科の到達目標項目との関係

学習・教育到達度目標 RB2 説明 閉じる
JABEE JB3 説明 閉じる

教育方法等

概要:
情報通信ネットワークの普遍的な考え方・設計について、これまでに学習してきた知識を組み合わせた例題や具体的応用例を多く取り入れて講義する.
尚、全体を通して企業等の実務経験者が指導を行う。
授業の進め方・方法:
現在のインターネットに使用されているイーサネットとTCP/IPに関しては実際にネットワークに対して働きかける演習を取り入れて理解を深める.
注意点:
この科目は学修単位科目「B」です。授業外学修の時間を含めます。
毎回、授業外学修のための課題を課します。
本科目は企業で情報ネットワークを担当していた教員が、その経験を活かし、ネットワークプログラミングについて講義形式で授業を行う。
本科(準学士課程)の学習教育目標 : RB2(◎)
環境生産システム工学プログラムの学習教育目標:JB3(◎)
関連科目:オペレーティングシステム(本科3年),計算機構成論Ⅱ(本科4年),通信システム(本科5年) ,情報理論Ⅱ(本科5年),情報通信システム(生産システム工学専攻2年)
学習教育目標の達成度評価方法:2回の試験の平均(85%)+レポート(15%)を総合評価とする.
但し、上記の計算で60点に満たないものは、以下のように評価する.
2回の試験の平均(70%)+レポート(15%)+追加課題(15%)
学習教育目標の達成度評価基準:総合評価60点以上を合格とする.

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 概要,Linux環境準備 シラバス説明,およびハンズオン環境構築.WindowsパソコンでLinuxを使用するいくつかの方法を理解する.(VirtualBox,Windows Sub system)
2週 Linux,システムコール,I/O Linux上のプログラミングでの,ライブラリとシステムコールの違いを理解する.またLinuxにおける入出力の抽象化について簡単なプログラムを作成しながら理解を深める.
3週 Ethernet,IP,TCP,HTTP 各プロトコルを利用するにあたり,情報ネットワーク基礎で学んだ概念を復習する.
4週 ソケットプログラミング ソケットとはなにかを理解して,socket,bind,listen,accept,connectなどのシステムコールを使えるようになる.
5週 TCPサーバ・クライアントプログラミング TCPを使うプログラミング時の留意点,TCP自体の特性を理解する.誤った使い方による通信の不具合を軽減させる技術を習得する.
6週 TCP並行サーバ 並行化しなければならない理由,およびプロセスとスレッドの特性の差異を理解して適切な方式を選択できるための知識を習得する.またUNIXにおけるinetデーモンを使った簡易的な並行サーバの作り方も理解する.
7週 UDPプログラミング UDPの特性と,どのような場面で利用すべきかを理解する.UDPを使ったネットワーク性能測定ツールを作成することで,UDPの理解を深める.
8週 中間試験
4thQ
9週 仮想マシンとネットワーク VirtualBoxを使い,1つのPC内に複数仮想マシンを生成する.この環境で,仮想マシン間に複数のインタフェースを生成し,
一つのインタフェースに複数のIPアドレスを割り当てて,複雑で大規模なネットワークの設定の要領を理解する.複数のIPアドレスをもつサーバで特定のIPアドレスだけで待ち受けるTCPサーバのプログラミング技術も習得する.
10週 イベントドリブンネットワークプログラミング 同時に数千コネクションを待ち受ける大規模なサーバを開発するための技法としてイベントドリブンを理解する.Linuxのlibeventライブラリの使い方とプログラミング方法を習得する.
11週 HTTPサーバの実装 HTTPプロトコルを処理する簡易なプログラムを作成して,ブラウザからアクセスして通信できることを確認する.HTTPプロトコルおよびHTTPヘッダの解析および生成について理解する.
12週 HTTPSサーバの実装 OpenSSLを使って証明書を作成し,前週作成したHTTPサーバにTLS層を挿入することでHTTPSサーバとする方法を習得する.ブラウザからアクセスすると鍵マークがついたHTTPSとして動作していることを確認する.HTTPSサーバの仕組みについて理解する.
13週 Webフレームワーク1 多くの動的サーバで採用されているJava+tomcatによるサーブレットフレームワークについて,開発環境であるeclipseを使ってアプリケーションを実装する.ソースコードは教材として準備されるので,それらを使ってWebサーバを構築する方法を習得する.
14週 Webフレームワーク2 近年広く使われてきたpyhton+Djangoフレームワークについて,開発環境であるPyCharmを使ってアプリケーションを実装する.特にORマッパーでのRDBMSへのアクセスでは,データベースを意識しないプログラミングになっていることを理解する.ソースコードは教材として準備されるので,それらを使ってWebサーバを構築する方法を習得する.
15週 期末試験
16週 まとめ 解答とまとめ

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野ソフトウェアコンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。4
コンピュータシステム集中処理システムについて、それぞれの特徴と代表的な例を説明できる。4
分散処理システムについて、特徴と代表的な例を説明できる。4
情報通信ネットワークプロトコルの概念を説明できる。4
プロトコルの階層化の概念や利点を説明できる。4
ローカルエリアネットワークの概念を説明できる。4
インターネットの概念を説明できる。4
TCP/IPの4階層について、各層の役割を説明でき、各層に関係する具体的かつ標準的な規約や技術を説明できる。4
主要なサーバの構築方法を説明できる。4
情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。4
有線通信の仕組みと規格について説明できる。4
基本的なルーティング技術について説明できる。4
基本的なフィルタリング技術について説明できる。4

評価割合

試験レポート合計
総合評価割合8515100
基礎的能力15520
専門的能力701080
分野横断的能力000