データベースとWebアプリケーション

科目基礎情報

学校 奈良工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 データベースとWebアプリケーション
科目番号 0053 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 3
開設期 後期 週時間数 2
教科書/教材 なし(適宜自作授業資料を配布する) / フォーマット可能な32GB以上のUSB3メモリ「Web を支える技術-HTTP,URI,HTML,そしてREST」技術評論社 山本陽平 著 「6 時間でできるLAMP サーバ構築ガイド 」ソシム 清水正人 著 「いきなりはじめるPHP~ワクワク・ドキドキの入門教室~」リックテレコム 谷藤賢一 著
担当教員 岩田 大志

到達目標

1. 仮想マシンやファイアウォールの設定を行い,セキュリティリスクを軽減できる。
2. Web サーバのインストール,設定,Web プログラミングができる。
3. 簡単なデータベースの作成,SQL を用いたデータベースの操作ができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1仮想マシンやファイアウォールの設定を行い,セキュリティリスクを高いレベルで軽減できる。仮想マシンやファイアウォールの設定を行い,セキュリティリスクを軽減できる。仮想マシンやファイアウォールの設定を行い,セキュリティリスクを軽減できない。
評価項目2Web サーバのインストール,設定,Web プログラミングが高いレベルでできる。Web サーバのインストール,設定,Web プログラミングができる。Web サーバのインストール,設定,Web プログラミングができない。
評価項目3高度なデータベースの作成,SQL を用いたデータベースの操作ができる。簡単なデータベースの作成,SQL を用いたデータベースの操作ができる。簡単なデータベースの作成,SQL を用いたデータベースの操作ができない。

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

準学士課程(本科1〜5年)学習教育目標 (2) 説明 閉じる

教育方法等

概要:
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以上のものを推奨する。具体例は授業開始までに連絡する。

学修単位の履修上の注意

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
後期
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週 外部サーバを用いたWebアプリケーション開発 外部サーバを用いた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
ネットワークを構成するコンポーネントの基本的な設定内容について説明できる。4後3
無線通信の仕組みと規格について説明できる。2後2
有線通信の仕組みと規格について説明できる。2後2
SSH等のリモートアクセスの接続形態と仕組みについて説明できる。4後2
基本的なルーティング技術について説明できる。2後2
基本的なフィルタリング技術について説明できる。4後2
その他の学習内容コンピュータウィルスやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。4後2,後9,後10
コンピュータを扱っている際に遭遇しうる脅威に対する対策例について説明できる。4後2,後10
データモデル、データベース設計法に関する基本的な概念を説明できる。4後9,後10
データベース言語を用いて基本的なデータ問合わせを記述できる。4後9,後10

評価割合

レポート成果発表課題合計
総合評価割合402040100
基礎的能力402040100