ネットワークプログラミング

科目基礎情報

学校 仙台高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 ネットワークプログラミング
科目番号 0091 科目区分 専門 / 選択
授業形態 実験・実習 単位の種別と単位数 学修単位: 2
開設学科 情報システム工学科 対象学年 4
開設期 後期 週時間数 2
教科書/教材 教科書:「TCP/IPソケットプログラミング C言語編」Michael J. Donahoo, Kenneth L. Calvert(Ohmsha)
担当教員 小林 秀幸

到達目標

【学習・教育目標】
 (B) コンピュータを介して自在に情報のやりとりができる能力,すなわちコンピュータリテラシを身につけること。

ウェブアプリケーションを実現する上での様々な手法が判り,状況に応じて適切な手法を選択できる。PHPを用いた動的コンテンツを作成できる。また,データベースの利用ができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1動的コンテンツを実現する様々な方法を,分類,選択でき,PHPの動作環境や仕組みを理解する。PHPの動作環境や仕組みを理解する。PHPの動作環境や仕組みへの理解が不十分である。
評価項目2クライアントとの入出力を備えたPHPを用いた動的コンテンツを作成でき,データベースを利用できる。クライアントとの入出力を備えたPHPを用いた動的コンテンツを作成できる。PHPを用いた動的コンテンツを作成できない。
評価項目3

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

学習・教育到達度目標 1 情報システムの中核となるソフトウェアの知識とスキルの体系的で確実な修得
JABEE d 当該分野で必要な知識と応用能力

教育方法等

概要:
Ⅰネットワーク上のプロセス間通信と,Ⅱ HTTPプロトコル,PHP言語を用いた動的なHTMLの生成,データベースシステムとの連携等の基礎技術を,講義と実習を通じて学修する。ⅡではPHP言語や、データベースシステムを用いたウェブアプリケーションを作成するための基礎知識を習得する。
授業の進め方・方法:
Ⅰ(50%)とⅡ(50%)は独立に行われ,ⅠとⅡ両方ともに合格点に達した者を合格とする。
注意点:
・この科目は「コンピュータリテラシ」や,「プログラミング基礎」,「プログラミング」を基礎とした「ネットワークプログラミングⅠ」及び「データ管理技術」の2つを基礎とする。またインターネットの仕組み,特にウェブの仕組みを正しく理解していなければならない。
・扱う言語はⅠまでとは異なる。また,Ⅰではシステム寄りの内容となるが,Ⅱではアプリケーション寄りとなる。これらのことから,いままで学んできた知識を十分に活かすには,具体的に内部では,どのようなことが,どのような順番で実際に起こっているのかを常に理解することを心がけることが重要である。たとえ見た目上,よいものを作ることができても,その背景で何が起こっているのか(アルゴリズム)を正しく説明できないものは評価しない。

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 Ⅰ. ガイダンス
コンピュータネットワーク,コンピュータネットワークの目的,ネットワークの形状,情報の通信モデル,コンピュータネットワークの説明
コンピュータネットワーク
コンピュータネットワークの基本概念,目的を理解できる。
ネットワーク接続ツールについて説明できる。
2週 Ⅰ. TCP/IPによるネットワーク
階層モデル,ネットワークプロトコル,トランスポート層へのインタフェース
ネットワーク上のプロセス間通信
プロセス間通信について説明できる。
ソケット,プロトコルについて説明できる。
3週 Ⅰ. ネットワーク上のプロセス間通信
プロセスとプロセス間通信,ファイルディスクリプタ,ソケットに関する説明
TCP/IPによるネットワーク
LANとワークステーションの構成概念を理解できる。
プロトコルの働きを理解し,具体的機能を説明できる。
4週 Ⅰ. 1対1通信プログラム
1対1通信専用ライブラリ,同期通信,非同
期通信に関する説明
1対1通信プログラム
1対1通信専用ライブラリの概要について理解できる。
同期通信,非同期通信について説明できる。
5週 Ⅰ. 1対1通信プログラムの実装 サーバアプリケーションのプログラムを実装できる。
6週 Ⅰ. 1対n通信プログラム
1ポートによる多重コネクション,サーバの受け付け動作,その応用プログラムの説明
1対n 通信プログラム
1ポートによる多重コネクションについて理解できる。
サーバの受付動作を説明できる。
7週 Ⅰ. 1対nプログラムの実装 複数クライアントを想定したサーバプログラムを実装できる。
8週 Ⅱ. ウェブアプリケーション,PHP ・動的コンテンツを実現する様々な方法を,分類,選択できる。静的/動的なウェブコンテンツ,サーバー/クライアントサイドなアプリケーション,プログラムによってコンテンツを生成/コンテンツ中にプログラムを埋め込む方法について理解する。
・動的コンテンツにおけるデータベースの役割を理解する。
4thQ
9週 Ⅱ. PHP ・PHPの動作環境や仕組みを理解する。
・PHPを用いた動的コンテンツを作成できる。基本的な約束事及び記述方法,変数及び文字列操作,制御構造,配列,関数,入出力の仕組み,クラス,クッキーの利用,セッション管理が解る。
10週 Ⅱ. PHP
11週 Ⅱ. PHP
12週 Ⅱ. PHPとMySQL ・リレーショナルデータベースマネージメントシステム(RDBMS)とは何かについて理解する。
・PHPによるRDBMSの利用ができる。
13週 Ⅱ. PHPとMySQL
14週 Ⅱ. PHPとMySQL
15週 Ⅱ. PHPとMySQL
Ⅱ. その他の動的コンテンツ
・その他の様々な動的コンテンツ実現方法が判り,状況に応じた選択ができる。
16週 答案返却,及び解説

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。4後8,後15
情報伝達システムやインターネットの基本的な仕組みを把握している。4後1,後2,後3,後8
専門的能力分野別の専門工学情報系分野情報通信ネットワークプロトコルの概念を説明できる。4後2,後3
プロトコルの階層化の概念や利点を説明できる。4後2,後3
TCP/IPの4階層について、各層の役割を説明でき、各層に関係する具体的かつ標準的な規約や技術を説明できる。4後2,後3
情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。4後8,後9,後10,後11,後13,後14,後15

評価割合

Ⅰ試験Ⅰ発表ⅠレポートⅡ実習課題Ⅱ実技試験合計
総合評価割合2510153020100
基礎的能力2051015353
専門的能力333101029
分野横断的能力2225718