学習・教育到達度目標 B1 与えられた問題を分析・モデル化し,解決方法を立案し,その有効性をコンピュータや測定装置を使って確かめることができる.
学習・教育到達度目標 B2 実験・実習で培われる豊かな体験と基礎理論の深い理解との融合により,問題を的確に把握し,問題解決手法を自ら立案・推進できる.
学習・教育到達度目標 B3 社会の多様なニーズに応えるコンピュータシステムを設計・開発するためのデザイン能力を有する.
学習・教育到達度目標 B4 さまざまなデータ(数値・文字・画像・音声・知識など)に対し,コンピュータを用いて実際に解析・処理することができる.
JABEE c 数学及び自然科学に関する知識とそれらを応用する能力
JABEE d 当該分野において必要とされる専門的知識とそれらを応用する能力
JABEE e 種々の科学、技術及び情報を活用して社会の要求を解決するためのデザイン能力
JABEE g 自主的、継続的に学習する能力
JABEE h 与えられた制約の下で計画的に仕事を進め、まとめる能力
JABEE i チームで仕事をするための能力
本校教育目標 ② 基礎学力
本校教育目標 ③ 問題解決能力
本校教育目標 ④ コミュニケーション能力
概要:
情報工学科における工学実験の仕上げとして、学生個人もしくはグループで、それぞれが自由度の高いテーマに対して、システム開発の各工程(要求分析、仕様策定、実装、試験)の一連のプロセスを体験し、「ものづくり」の楽しさを体感しながら、卒業研究を遂行するにあたって必要な実力を身につけることを目的とする。この科目は企業でインターネットサービスを開発していた教員がその経験を生かし、サーバ構築の手法とウェブアプリケーション開発について実験形式で行う授業である。とくに、サーバ仮想化、サーバ用オペレーティングシステム、コンテナ技術を用いたアプリケーションの開発を学ぶことで、最新のクラウドコンピューティングにおける開発運用手法の基礎を理解する。
授業の進め方・方法:
前半は班ごとに割り当てられたサーバに、仮想マシンモニタとゲストOS(Linux)をインストールし、TCP/IP ネットワークの設定をおこなう。その後に Java 言語を用いたウェブアプリケーション開発、コンテナ技術を用いたアプリケーションの配備と運用、データベース連携、Internet of Things デバイス連携、Git によるチーム開発を学ぶ。後半は班ごとに企画提案書、基本設計書、工程表を策定したのちに開発をおこない、最後に実機によるデモンストレーションとポスタープレゼンテーションをおこなう。
注意点:
4年後学期までのすべての科目を履修していることを前提とした内容の実験を行う。「情報科学」教育プログラムの必修科目である。継続的に授業内容の予習・復習を行うこと。授業内容について、決められた期日までの課題(レポート)提出を求める。実験テキストの内容を復習し、わからない用語や事柄については自学自習しておくこと。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
シラバスの説明、プロジェクト実験の進め方 プライベートクラウドの構築: クライアントサーバ方式、サーバシステム特有のハードウェアとソフトウェア(オペレーティングシステム、仮想マシンモニタ) (自学自習内容)クラウドコンピューティングに関する課題を提出 |
シラバスの説明、プロジェクト実験の進め方を理解する。 クラウドコンピューティングの基礎、クライアントサーバ方式、サーバシステム特有のハードウェアとソフトウェア(オペレーティングシステム、仮想マシンモニタ)を理解する。
|
2週 |
TCP/IPネットワーク、仮想化とコンテナ: 階層モデル、IPアドレスとポート番号、セキュアシェル(ssh)の使い方、仮想化とコンテナの基礎 (自学自習内容)コンテナに関する課題を提出 |
階層モデル、IPアドレスとポート番号、セキュアシェル(ssh)の使い方、仮想化とコンテナの基礎を理解する。
|
3週 |
ウェブアプリケーション開発(1): Javaで書かれたサーバアプリケーションの動作原理、開発環境の構築 (自学自習内容)企画提案書の原案を班のメンバーと検討 |
Javaで書かれたサーバアプリケーションの動作原理、開発環境の構築を理解する。
|
4週 |
ウェブアプリケーション開発(2): 動的ウェブページの仕組み、HTMLの入力フォームとサーブレットの連携 (自学自習内容)企画提案書の原案を班のメンバーと検討 |
動的ウェブページの仕組み、HTMLの入力フォームとサーブレットの連携を理解する。
|
5週 |
ウェブアプリケーション開発(3): Model-View-Controller (MVC) モデル、Java Server Pages (JSP) と JavaBean (自学自習内容)MVCモデルに関する課題を提出 |
Model-View-Controller (MVC) モデル、Java Server Pages (JSP) と JavaBean を理解する。
|
6週 |
ウェブアプリケーション開発(4): リレーショナルデータベース、テーブルの構造と制約、SQL の基本 (自学自習内容)データベースに関する課題を提出 |
リレーショナルデータベース、テーブルの構造と制約、SQL の基本を理解する。
|
7週 |
ウェブアプリケーション開発(5): ウェブアプリケーションとデータベースの連携、コンテナ・オーケストレーション (自学自習内容)企画提案書、基本設計書、工程表を班のメンバーと作成 |
ウェブアプリケーションとデータベースの連携、docker-compose をつかったコンテナ・オーケストレーションの基礎を理解する。
|
8週 |
Internet of Things (IoT) の連携: ラズベリーパイを用いた IoT デバイスとウェブアプリケーションの連携 (自学自習内容)企画提案書、基本設計書、工程表を班のメンバーと作成 |
ラズベリーパイを用いた IoT デバイスとウェブアプリケーションの連携を理解する。
|
2ndQ |
9週 |
チーム開発: バージョン管理システム Git を用いたチーム開発 プロジェクト実習(1): グループでの課題解決法の発想と計画立案 (自学自習内容)企画提案書、基本設計書、工程表を班のメンバーと作成 |
バージョン管理システム Git を用いたチーム開発ができる。 グループでの課題解決法の発想と計画立案ができる。
|
10週 |
プロジェクト実習(2): グループ毎に、企画提案書、基本設計書(ウェブサイトの画面遷移図)、工程表の作成、実行効率を考慮した設計 (自学自習内容)授業時間だけでは足りない開発作業を実施 |
企画提案書、企画提案書、基本設計書(ウェブサイトの画面遷移図)、工程表の作成、実行効率を考慮した設計ができる
|
11週 |
プロジェクト実習(3): グループ毎に、基本設計に基づいた開発、実行効率を考慮した開発と試験、担当パートに関するリーダシップ (自学自習内容)授業時間だけでは足りない開発作業を実施 |
基本設計に基づいた開発、実行効率を考慮した開発、担当パートに関するリーダシップを発揮できる。
|
12週 |
プロジェクト実習(4): グループ毎に、基本設計に基づいた開発と試験、実行効率を考慮した開発と試験、担当パートに関するリーダシップ (自学自習内容)授業時間だけでは足りない開発作業を実施 |
基本設計に基づいた開発と試験、実行効率を考慮した開発と試験、担当パートに関するリーダシップを発揮できる。
|
13週 |
プロジェクト実習(5): グループ毎に、基本設計に基づいた開発と試験、実行効率を考慮した開発と試験、担当パートに関するリーダシップ (自学自習内容)授業時間だけでは足りない開発作業を実施 |
基本設計に基づいた開発と試験、実行効率を考慮した開発と試験、担当パートに関するリーダシップを発揮できる。
|
14週 |
プロジェクト実習(6): デモンストレーションの準備、ポスターと最終成果報告書の作成 (自学自習内容)班のメンバーでデモンストレーションとポスターを準備 |
デモンストレーションの準備、ポスターと最終成果報告書を作成できる。
|
15週 |
成果発表会(実機によるデモンストレーションとポスタープレゼンテーション)、総まとめ (自学自習内容)成果発表会の振り返りを実施 |
実機によるデモンストレーションとポスタープレゼンテーションによる成果報告ができる。
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | 前10,後14,後15 |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | 前11,前12,前13,前14,後14,後15 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | 前10,後14,後15 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | 前11,前12,前13,前14,後14,後15 |
情報通信ネットワーク | 主要なサーバの構築方法を説明できる。 | 4 | 前1,前2,後3,後4 |
ネットワークを構成するコンポーネントの基本的な設定内容について説明できる。 | 4 | 前1,前2,後3,後4 |
SSH等のリモートアクセスの接続形態と仕組みについて説明できる。 | 4 | 前2,後3,後4 |
情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。 | 4 | 前3,前4,前5,前6,後3,後4 |
その他の学習内容 | データモデル、データベース設計法に関する基本的な概念を説明できる。 | 4 | 前6,後12 |
データベース言語を用いて基本的なデータ問合わせを記述できる。 | 4 | 前6,後12 |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。 | 4 | 前3,前4,前5,前6,後3,後4,後7 |
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。 | 4 | 前3,前4,前5,前6,後3,後4,後7 |
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。 | 4 | 前7,前8,後7,後8,後9,後10,後13,後14 |
分野横断的能力 | 汎用的技能 | 汎用的技能 | 汎用的技能 | グループワーク、ワークショップ等による課題解決への論理的・合理的な思考方法としてブレインストーミングやKJ法、PCM法等の発想法、計画立案手法など任意の方法を用いることができる。 | 4 | 前9,後14 |
態度・志向性(人間力) | 態度・志向性 | 態度・志向性 | 当事者意識をもってチームでの作業・研究を進めることができる。 | 4 | 前9,後14 |
リーダーがとるべき行動や役割をあげることができる。 | 4 | 前11,前12,前13,後14 |
適切な方向性に沿った協調行動を促すことができる。 | 4 | 前11,前12,前13,後14 |
リーダーシップを発揮する(させる)ためには情報収集やチーム内での相談が必要であることを知っている | 4 | 前11,前12,前13,後14 |
総合的な学習経験と創造的思考力 | 総合的な学習経験と創造的思考力 | 総合的な学習経験と創造的思考力 | 課題や要求に対する設計解を提示するための一連のプロセス(課題認識・構想・設計・製作・評価など)を実践できる。 | 4 | 前9,前10,前11,前12,前13,前14,後14 |
提案する設計解が要求を満たすものであるか評価しなければならないことを把握している。 | 4 | 前9,前10,前11,前12,前13,前14,後14 |
経済的、環境的、社会的、倫理的、健康と安全、製造可能性、持続可能性等に配慮して解決策を提案できる。 | 4 | 前9,前14,前15,後14 |