Webアプリケーション

科目基礎情報

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

到達目標

1. OS のインストールやファイアウォールの設定を行い,セキュリティリスクを軽減できる。
2. Web サーバのインストール,設定,Web プログラミングができる。
3. 簡単なデータベースの作成,SQL を用いたデータベースの操作ができる。
4. 作成したシステムの機能や利点などをアピールするプレゼンテーションができる。

ルーブリック

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

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

準学士課程(本科1〜5年)学習教育目標 (2) 説明 閉じる
JABEE基準 (d-1) 説明 閉じる
JABEE基準 (d-2a) 説明 閉じる
システム創成工学教育プログラム学習・教育目標 B-2 説明 閉じる
システム創成工学教育プログラム学習・教育目標 D-1 説明 閉じる

教育方法等

概要:
Web はインターネット活用の最も基本的な使い方の1 つであり,広く利用されている。本講義ではLAMP(Linux Apache MySQL PHP)を用いて動的なWeb コンテンツを提供するための基礎知識を身につけることを目的とする。
Web アプリケーションを実現するWeb サーバの構築,セキュリティ対策,Web プログラミング,データベース連携を経験し,それらを運用する能力を身につける。
また,顧客に自社のアプリケーション開発を提案するための模擬プレゼンテーションを行うことで,プレゼンテーションスキルの向上を図る。
授業の進め方・方法:
基本的にLinux ベースの講義となるため,CUI による操作に慣れておき,演習をスムーズに行えるよう,仮想マシンなどを有効に利用すること。また,HTML の基礎やプログラミング言語の基礎と思われる内容については解説しないので,各自で自習しておくこと。
注意点:
関連科目
1 年情報リテラシ,2 年IT 活用,4 年オペレーティングシステム,プログラミングI・ II・ III,計算機ネットワークI・ II の各教科の修得を前提とする。
学習指針
5 年次データベースで学んだ内容など,理論を形にすることで理解を深める。
自己学習
目標を達成するためには,授業以外にも予習復習を怠らないこと。
授業中に終わらなかった演習については自己学習により遅れを取り戻すこと。

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 ガイダンス 講義の目的,進め方,評価方法などについて説明し,REST の考え方について説明する。
2週 環境構築1 Linux OS のインストール,SSH サーバの設定,ファイアウォールの設定ができるようになる。
3週 環境構築2 HTTP サーバのインストール,Web ページ作成ができるようになる。
4週 Web ページ作成 HTML5/CSS/JavaScript を用いた動的Web ページ作成ができるようになる。
5週 環境構築3 PHP とHTTP サーバの連携,PHP ベースのWiki が設置できるようになる。
6週 環境構築4 PHP とデータベースの連携,PHP・DB を利用したblogが設置できるようになる。
7週 Web アプリケーションの設計演習1 PHP を利用した文献検索エンジン作成を通じて,Web プログラミングを学ぶ。
8週 Web アプリケーションの設計演習2 PHP を利用したDB 連携文献検索エンジン作成を通じて,Webプログラミングを学ぶ。
4thQ
9週 Web アプリケーションの設計演習3 WebAPI を利用したWeb プログラミングを学ぶ。
10週 Web アプリケーションの設計レビュー 最終成果物として制作するWeb アプリケーションについて発表を行い,設計レビューを行う。
11週 Web アプリケーション制作1 設計に従いWeb アプリケーションを制作する。
12週 Web アプリケーション制作2 設計に従いWeb アプリケーションを制作する。
13週 Web アプリケーション制作3 設計に従いWeb アプリケーションを制作する。
14週 Web アプリケーション制作4 設計に従いWeb アプリケーションを制作する。
15週 制作システムの発表 制作したWeb アプリケーションについて発表し,レビュー・講評を行う。
16週
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎技術者倫理(知的財産、法令順守、持続可能性を含む)および技術史技術者倫理(知的財産、法令順守、持続可能性を含む)および技術史説明責任、製造物責任、リスクマネジメントなど、技術者の行動に関する基本的な責任事項を説明できる。3後1
現代社会の具体的な諸問題を題材に、自ら専門とする工学分野に関連させ、技術者倫理観に基づいて、取るべきふさわしい行動を説明できる。3後1
技術者倫理が必要とされる社会的背景や重要性を認識している。3後1
社会における技術者の役割と責任を説明できる。3後1
情報技術の進展が社会に及ぼす影響、個人情報保護法、著作権などの法律について説明できる。4後1
高度情報通信ネットワーク社会の中核にある情報通信技術と倫理との関わりを説明できる。4後1
知的財産の社会的意義や重要性の観点から、知的財産に関する基本的な事項を説明できる。3後1
技術者の社会的責任、社会規範や法令を守ること、企業内の法令順守(コンプライアンス)の重要性について説明できる。3後1
技術者を目指す者として、諸外国の文化・慣習などを尊重し、それぞれの国や地域に適用される関係法令を守ることの重要性を把握している。3後1
情報リテラシー情報リテラシー情報伝達システムやインターネットの基本的な仕組みを把握している。4後1
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。4後9
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。4後9
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。4後9
情報セキュリティの必要性および守るべき情報を認識している。4後2
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。4後2
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している4後2
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。4後2
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4後4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4後4
変数の概念を説明できる。4後4
データ型の概念を説明できる。4後4
制御構造の概念を理解し、条件分岐を記述できる。4後4
制御構造の概念を理解し、反復処理を記述できる。4後4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4後4,後5,後9
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4後4,後5,後9
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4後4,後5,後9
主要な言語処理プロセッサの種類と特徴を説明できる。3後9
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3後9
プログラミング言語は計算モデルによって分類されることを説明できる。2後9
主要な計算モデルを説明できる。2後9
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4後11
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4後11
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4後11
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。4後11
ソフトウェアアルゴリズムの概念を説明できる。4後11
与えられたアルゴリズムが問題を解決していく過程を説明できる。4後11
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4後11
整列、探索など、基本的なアルゴリズムについて説明できる。4後11
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4後11
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。4後11
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4後11
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4後11
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。4後11
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。4後11
ソフトウェアを中心としたシステム開発のプロセスを説明できる。4後1,後11
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。4後15
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。4後15
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。4
基数が異なる数の間で相互に変換できる。4
整数を2進数、10進数、16進数で表現できる。4
小数を2進数、10進数、16進数で表現できる。4
基本的な論理演算を行うことができる。1
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。1
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。3
プロセッサを実現するために考案された主要な技術を説明できる。1
メモリシステムを実現するために考案された主要な技術を説明できる。1
入出力を実現するために考案された主要な技術を説明できる。1
コンピュータアーキテクチャにおけるトレードオフについて説明できる。1
要求仕様に従って、標準的なプログラマブルデバイスやマイコンを用いたシステムを構成することができる。1
コンピュータシステムネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。4後14
デュアルシステムやマルチプロセッサシステムなど、コンピュータシステムの信頼性や機能を向上させるための代表的なシステム構成について説明できる。4後14
集中処理システムについて、それぞれの特徴と代表的な例を説明できる。4後14
分散処理システムについて、特徴と代表的な例を説明できる。4後14
システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを説明できる。4後10
ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。4後10
プロジェクト管理の必要性について説明できる。4後10
システムプログラムコンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。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後4
ネットワークを構成するコンポーネントの基本的な設定内容について説明できる。4後4
無線通信の仕組みと規格について説明できる。2後2
有線通信の仕組みと規格について説明できる。2後2
SSH等のリモートアクセスの接続形態と仕組みについて説明できる。4後2
基本的なルーティング技術について説明できる。2後2
基本的なフィルタリング技術について説明できる。3後2
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4後11
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4後11
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4後11
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。4後11
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。4後11
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。4後11
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。4後11
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。4後11
分野横断的能力汎用的技能汎用的技能汎用的技能日本語と特定の外国語の文章を読み、その内容を把握できる。3後11
書籍、インターネット、アンケート等により必要な情報を適切に収集することができる。3後1,後11
収集した情報の取捨選択・整理・分類などにより、活用すべき情報を選択できる。3後1,後11
収集した情報源や引用元などの信頼性・正確性に配慮する必要があることを知っている。3後1,後11
情報発信にあたっては、発信する内容及びその影響範囲について自己責任が発生することを知っている。3後1,後11
情報発信にあたっては、個人情報および著作権への配慮が必要であることを知っている。3後1,後11
目的や対象者に応じて適切なツールや手法を用いて正しく情報発信(プレゼンテーション)できる。3後1,後11
あるべき姿と現状との差異(課題)を認識するための情報収集ができる3後1,後11,後15
複数の情報を整理・構造化できる。3後1,後11,後15
課題の解決は直感や常識にとらわれず、論理的な手順で考えなければならないことを知っている。3後1,後11,後15
適切な範囲やレベルで解決策を提案できる。3後1,後11,後15
態度・志向性(人間力)態度・志向性態度・志向性周囲の状況と自身の立場に照らし、必要な行動をとることができる。3後11,後15
自らの考えで責任を持ってものごとに取り組むことができる。3後11,後15
目標の実現に向けて計画ができる。3後11,後15
目標の実現に向けて自らを律して行動できる。3後11,後15
日常の生活における時間管理、健康管理、金銭管理などができる。3後11,後15
社会の一員として、自らの行動、発言、役割を認識して行動できる。3後11,後15
法令やルールを遵守した行動をとれる。3後11,後15
他者のおかれている状況に配慮した行動がとれる。3後11,後15
技術が社会や自然に及ぼす影響や効果を認識し、技術者が社会に負っている責任を挙げることができる。3後11,後15
自身の将来のありたい姿(キャリアデザイン)を明確化できる。3後11,後15
その時々で自らの現状を認識し、将来のありたい姿に向かっていくために現状で必要な学習や活動を考えることができる。3後11,後15
キャリアの実現に向かって卒業後も継続的に学習する必要性を認識している。3後11,後15
これからのキャリアの中で、様々な困難があることを認識し、困難に直面したときの対処のありかた(一人で悩まない、優先すべきことを多面的に判断できるなど)を認識している。3後11,後15
高専で学んだ専門分野・一般科目の知識が、企業や大学等でどのように活用・応用されるかを説明できる。3後11,後15
高専で学んだ専門分野・一般科目の知識が、企業等でどのように活用・応用されているかを認識できる。3後11,後15

評価割合

レポート成果発表議論参加合計
総合評価割合404020100
基礎的能力404020100