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

科目基礎情報

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

到達目標

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

ルーブリック

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

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

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週 2A. ウェブアプリケーション
2B. PHP
・動的コンテンツを実現する様々な方法を,分類,選択できる。静的/動的なウェブコンテンツ,サーバー/クライアントサイドなアプリケーション,プログラムによってコンテンツを生成/コンテンツ中にプログラムを埋め込む方法について理解する。
・動的コンテンツにおけるデータベースの役割を理解する。
4thQ
9週 2B. PHP ・PHPの動作環境や仕組みを理解する。
・PHPを用いた動的コンテンツを作成できる。基本的な約束事及び記述方法,変数及び文字列操作,制御構造,配列,関数,入出力の仕組み,クラス,クッキーの利用,セッション管理が解る。
10週 2B. PHP
11週 2C. PHP
12週 2C. PHPとMySQL ・リレーショナルデータベースマネージメントシステム(RDBMS)とは何かについて理解する。
・PHPによるRDBMSの利用ができる。
13週 2C. PHPとMySQL
14週 2C. PHPとMySQL
15週 2C. PHPとMySQL
3D. その他の動的コンテンツ
・その他の様々な動的コンテンツ実現方法が判り,状況に応じた選択ができる。
16週 答案返却,及び解説

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数とデータ型の概念を説明できる。4
代入や演算子の概念を理解し、式を記述できる。4
制御構造の概念を理解し、条件分岐や反復処理を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
主要な言語処理プロセッサの種類と特徴を説明できる。3
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3
ソフトウェアアルゴリズムの概念を説明できる。1
与えられたアルゴリズムが問題を解決していく過程を説明できる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。3
ソフトウェアを中心としたシステム開発のプロセスを説明できる。4
計算機工学整数・小数を2進数、10進数、16進数で表現できる。4
整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。1
基数が異なる数の間で相互に変換できる。4
基本的な論理演算を行うことができる。3
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。3
論理式の簡単化の概念を説明できる。3
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。1
コンピュータシステム処理形態の面でのコンピュータシステムの分類である集中処理システムと分散処理システムについて、それぞれの特徴と代表的な例を説明できる。2
ネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。2
システムプログラムコンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。1
プロセス管理やスケジューリングなどCPUの仮想化について説明できる。1
情報通信ネットワークローカルエリアネットワークの概念を説明できる。3
インターネットの概念を説明できる。3
TCP/IPの4階層について、各層の役割を説明でき、各層に関係する具体的かつ標準的な規約や技術を説明できる。2
主要なサーバの構築方法を説明できる。1
情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。3
情報数学・情報理論ブール代数に関する基本的な概念を説明できる。3
コンピュータ上での数値の表現方法が誤差に関係することを説明できる。1
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。3
少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。3
コンピュータウィルスやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。3
コンピュータを扱っている際に遭遇しうる脅威に対する対策例について説明できる。3
データモデル、データベース設計法に関する基本的な概念を説明できる。3
データベース言語を用いて基本的なデータ問合わせを記述できる。3
メディア情報の主要な表現形式や処理技法について説明できる。1

評価割合

試験発表レポート合計
総合評価割合502030100
基礎的能力40102070
専門的能力55515
分野横断的能力55515