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

科目基礎情報

学校 仙台高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 ネットワークプログラミング
科目番号 0255 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 情報ネットワーク工学科 対象学年 4
開設期 後期 週時間数 2
教科書/教材 教科書:「TCP/IPソケットプログラミング C言語編」Michael J. Donahoo, Kenneth L. Calvert(Ohmsha),「基礎からのPHP」西沢夢路(ソフトバンク・クリエイティブ)
担当教員 矢島 邦昭,速水 健一

到達目標

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

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

ルーブリック

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

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

学習・教育到達度目標 1 通信機器や情報通信システム構築に必要なハードウェア・ソフトウェアの知識と技術の習得
JABEE e 科学,技術,情報を活用して社会の要求を解決するためのデザイン能力

教育方法等

概要:
Ⅰネットワーク上のプロセス間通信と,Ⅱ 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後4,後6,後9
変数の概念を説明できる。4後4,後6,後9
データ型の概念を説明できる。4後4,後6,後9
制御構造の概念を理解し、条件分岐を記述できる。4後4,後6,後9
制御構造の概念を理解し、反復処理を記述できる。4後4,後6,後9
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4後5,後7,後10,後11,後13,後14,後15
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4後4,後6,後9,後10,後11,後13,後14,後15
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4後5,後7,後10,後11,後13,後14,後15
ソフトウェアアルゴリズムの概念を説明できる。1
与えられたアルゴリズムが問題を解決していく過程を説明できる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。3
ソフトウェアを中心としたシステム開発のプロセスを説明できる。4
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。1
基数が異なる数の間で相互に変換できる。4
基本的な論理演算を行うことができる。3
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。3
論理式の簡単化の概念を説明できる。3
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。1
コンピュータシステムネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。2
システムプログラムコンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。1
プロセス管理やスケジューリングなどCPUの仮想化について説明できる。1
情報通信ネットワークプロトコルの概念を説明できる。4後2,後3
プロトコルの階層化の概念や利点を説明できる。4後2,後3
TCP/IPの4階層について、各層の役割を説明でき、各層に関係する具体的かつ標準的な規約や技術を説明できる。4後2,後3
情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。4後8,後9,後10,後11,後13,後14,後15
情報数学・情報理論ブール代数に関する基本的な概念を説明できる。3
コンピュータ上での数値の表現方法が誤差に関係することを説明できる。1
その他の学習内容コンピュータを扱っている際に遭遇しうる脅威に対する対策例について説明できる。3後9,後10,後11,後13,後14,後15
データモデル、データベース設計法に関する基本的な概念を説明できる。4後12,後13,後14,後15
データベース言語を用いて基本的なデータ問合わせを記述できる。4後12,後13,後14,後15

評価割合

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