概要:
Web はインターネット活用の最も基本的な使い方の1 つであり,広く利用されている。本講義ではLAMP(Linux Apache MySQL PHP)を用いて動的なWeb コンテンツを提供するための基礎知識を身につけることを目的とする。
Web アプリケーションを実現するWeb サーバの構築,セキュリティ対策,Web プログラミング,データベース連携を経験し,それらを運用する能力を身につける。
授業の進め方・方法:
基本的にLinux ベースの講義となるため,CUI による操作に慣れておき,演習をスムーズに行えるよう,仮想マシンなどを有効に利用すること。また,HTML の基礎やプログラミング言語の基礎と思われる内容については解説しないので,各自で自習しておくこと。
関連科目
1 年情報リテラシ,2 年IT活用、プログラミング基礎、プログラミングⅠの修得を前提とする。
また、3年次情報ネットワークⅠで学んだ内容を実践するため、復習を行い知識の定着が必須である。
注意点:
事前学習・・・あらかじめ講義内容についてWebページ等を使って予習を行い、理解できるところ、理解できないところを明らかにしておく。
事後展開学習・・・講義で課題について説明するので自分で実習を行い、次の授業までに提出すること。
事前にフォーマット可能な32GB以上のUSBメモリ・外付けSSDを準備しておくこと(NTFSフォーマットされた20GB以上の空きがあるUSBメモリであればフォーマットは必要ありません)
ただし、ランダムライト性能(CrystalDiskMarkのRND4K Q32T16項目等)が2MB/s以上のものを推奨する。具体例は授業開始までに連絡する。
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
ガイダンス |
講義の目的,進め方,評価方法などについて説明し,REST の考え方について説明する。
|
2週 |
環境構築1 |
SSH サーバの設定,ファイアウォールの設定ができるようになる。
|
3週 |
環境構築2 |
HTTP サーバのインストール,Web ページ作成ができるようになる。
|
4週 |
Web ページ作成 |
HTML5/CSS/JavaScript を用いた動的Web ページ作成ができるようになる。
|
5週 |
PHPプログラミング1 |
PHP とHTTP サーバの連携,PHP ベースのWiki が設置できるようになる。
|
6週 |
PHPプログラミング2 |
PHP を利用したGET/POST処理について
|
7週 |
PHPプログラミング3 |
PHP を利用したファイル処理I/Oについて
|
8週 |
Web APIプログラミング |
WebAPI を利用したWeb プログラミングを学ぶ。
|
4thQ |
9週 |
データベース |
関係データベース、SQL、NoSQL、JSONについて学ぶ。
|
10週 |
データベース連携プログラミング1 |
PHPからDBを操作する方法について学ぶ。
|
11週 |
データベース連携プログラミング2 |
PHP/DB を利用したWebプログラミングを学ぶ。
|
12週 |
データベース連携プログラミング3 |
PHP/DB を利用したWebプログラミングを学ぶ。
|
13週 |
データベース連携プログラミング4 |
PHP/DB を利用したWebプログラミングを学ぶ。
|
14週 |
データベース連携プログラミング5 |
PHP/DB を利用したWebプログラミングを学ぶ。
|
15週 |
設計レビュー |
今まで学んできたWebアプリケーションの内容を使った、自分の作りたい、あったら便利なWebアプリケーションについて発表する。
|
16週 |
期末試験は実施しない |
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | 後15 |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | 後15 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | 後15 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | 後15 |
ソフトウェア | ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 4 | 後1,後15 |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 4 | 後15 |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 4 | 後15 |
コンピュータシステム | システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを説明できる。 | 4 | 後15 |
ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。 | 4 | 後15 |
プロジェクト管理の必要性について説明できる。 | 4 | 後15 |
システムプログラム | コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。 | 4 | 後2 |
プロセス管理やスケジューリングなどCPUの仮想化について説明できる。 | 4 | 後2 |
排他制御の基本的な考え方について説明できる。 | 4 | 後2 |
記憶管理の基本的な考え方について説明できる。 | 4 | 後2 |
情報通信ネットワーク | プロトコルの概念を説明できる。 | 4 | 後2 |
プロトコルの階層化の概念や利点を説明できる。 | 4 | 後2 |
ローカルエリアネットワークの概念を説明できる。 | 4 | 後2 |
インターネットの概念を説明できる。 | 4 | 後2 |
TCP/IPの4階層について、各層の役割を説明でき、各層に関係する具体的かつ標準的な規約や技術を説明できる。 | 4 | 後2 |
主要なサーバの構築方法を説明できる。 | 4 | 後3 |
ネットワークを構成するコンポーネントの基本的な設定内容について説明できる。 | 4 | 後3 |
無線通信の仕組みと規格について説明できる。 | 2 | 後2 |
有線通信の仕組みと規格について説明できる。 | 2 | 後2 |
SSH等のリモートアクセスの接続形態と仕組みについて説明できる。 | 4 | 後2 |
基本的なルーティング技術について説明できる。 | 2 | 後2 |
基本的なフィルタリング技術について説明できる。 | 4 | 後2 |
情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。 | 4 | 後3 |
その他の学習内容 | コンピュータウィルスやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。 | 4 | 後2,後9,後10 |
コンピュータを扱っている際に遭遇しうる脅威に対する対策例について説明できる。 | 4 | 後2,後10 |
データモデル、データベース設計法に関する基本的な概念を説明できる。 | 4 | 後9,後10 |
データベース言語を用いて基本的なデータ問合わせを記述できる。 | 4 | 後9,後10 |