概要:
5学年前期の「分散コンピューティングⅠ」で学んだ分散コンピューティングの基礎概念に続き,本科目では分散コンピューティングの応用について学習する。ネットショップの購入履歴,Twitterのつぶやきなど,近年膨大なデータ(ビッグデータ)を解析することで様々な有益な情報を見つけ出すデータマイニングが行われている。ビッグデータを高速処理するためのコンピューティング環境の一つであるHadoopは,様々な分散処理を単純な処理の組み合わせで実現できるオープンソースである。本科目ではHadoopによる分散処理の基礎技術を習得し,株価チャートやアクセスログの解析等の現実的な問題への適用について学習する。
授業の進め方・方法:
授業内で実施する演習・実習(100%)で評価する。
注意点:
本科目は,分散コンピューティングⅠ,ネットワークアーキテクチャ,ネットワークシステム開発科目に関連する。
本授業は座学での講義とそれに関連する演習・実習を適時併用しながら進めていく。Hadoopでの処理の記述方法を理解するだけではなく,現実のビッグデータに適用してデータマイニングできる応用力を身に着けることが大事であるので,演習・実習を積極的に行い,様々なデータを処理してみること。本科目で使用するHadoopの実習環境は無償で準備できるので,自宅等で実習環境を用意できる者は予習復習に活用することが望ましい。
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数とデータ型の概念を説明できる。 | 4 | 後8 |
代入や演算子の概念を理解し、式を記述できる。 | 4 | 後8 |
制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 4 | 後8 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | 後8 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | 後8,後9,後13,後14 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 後8,後9,後13,後14,後16 |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | 後9 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | 後9,後16 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | 後6,後7,後8 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | 後6,後7,後8 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 3 | 後8,後9,後10,後12 |
時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。 | 3 | 後8,後9,後10,後12 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 3 | 後8,後9,後10,後12 |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | 後3,後4,後11 |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 3 | 後4 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | 後3,後4,後11 |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 3 | |
コンピュータシステム | 処理形態の面でのコンピュータシステムの分類である集中処理システムと分散処理システムについて、それぞれの特徴と代表的な例を説明できる。 | 4 | 後1,後2,後3,後4,後5 |
ネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。 | 3 | 後1,後2,後3 |