OSSモデルカリキュラムV1(2008年10月公開)

 OSS基本知識の学習オリエンテーション調査報告書
  (概要版PDF[1,722KB] 詳細版PDF[3,088KB] )

 OSS応用知識の学習オリエンテーション
  (概要版PDF[2,339KB] 詳細版PDF[2,410KB] 付録1PDF[1,027KB] 付録2PDF[847KB] )

シラバス 学習ガイダンス 概要
基礎 1

OSSの概要に関する知識

PDF[183KB]

OSSの概要に関する知識(基本レベル)

PDF[693KB]

ソフトウェアの新たな開発手法となりソフトウェア業界で大きな影響力を持つようになったオープンソースについて解説する。本講義では、オープンソースの登場から現在に至る発展の経緯や代表的なソフトウェアの特徴を解説する。講義の後半では実際にソフトウェアをPCにインストールしながら演習を行う。

OSSの概要に関する知識(応用レベル)

PDF[199KB]

2

法務分野に関する基礎知識

PDF[182KB]

法務分野に関する知識(基本レベル)

PDF[862KB]

オープンソースにまつわる知財や法務に関する基礎知識について解説する。本講義では、オープンソースの代表的なライセンスや関連する法務分野の基礎知識を解説する。

法務分野に関する知識(応用レベル)

PDF[1,602KB]

3

コンピューターシステムやアーキテクチャに関するスキル

PDF[175KB]

コンピューターシステムやアーキテクチャに関する知識(基本レベル)

PDF[570KB]

OSSが動作する基盤となるコンピュータシステム、ハードウェア、アーキテクチャについて、その種類と特徴、発展の動向を理解し、OSSを用いて開発するためのハードウェアやITシステム基盤に必要な一連の基礎知識と活用技術の概要を学ぶ。

コンピューターシステムやアーキテクチャに関する知識(応用レベル)

PDF[189KB]

4

分散アーキテクチャに関するスキル

PDF[257KB]

分散アーキテクチャに関する知識(応用レベル)

PDF[1,175KB]

分散情報システムを構築する際によく用いられる要素技術とその基礎となる考え方を理解するとともに、実際のミドルウェアやアプリケーションの事例に即した形で、分散アプリケーション構築に必要なスキルを身につける。
システム 1

Linuxの概念や基本操作に関するスキル

PDF[218KB]

Linuxの概念や基本操作に関する知識(基本レベル)

PDF[683KB]

フリーのOSであるLinuxを学習・使用するにあたって必要となる(UNIXとしての、Linuxとしての)知識・技術を学び、より高度・実務的な作業への基礎とする。他のカリキュラムを受講する上での前提とする。

Linuxの概念や基本操作に関する知識(応用レベル)

PDF[177KB]

2

Linuxのカーネルに関するスキル

PDF[185KB]

Linuxのカーネルに関する知識(基本レベル)

PDF[575KB]

OSSの代表的な存在であり、またプラットフォームとしても数多くの実績をもつオペレーティングシステムであるLinuxについて、その機能と内部構造について学ぶ。また、併せて、それらの機能を実現するための基礎となっている理論についても学ぶ。

Linuxのカーネルに関する知識(応用レベル)

PDF[178KB]

3

Linuxのシステム管理に関するスキル

PDF[165KB]

Linuxのシステム管理に関する知識(基本レベル)

PDF[834KB]

オープンソースオペレーティングシステムとしてもっとも利用が期待されるLinuxのシステム管理に関して、実際の開発・運用の際に必要な管理知識・手法の種類と特徴、内容を理解し、Linuxをサーバとして運用するために必要なノウハウを実務レベルとして学ぶ。

Linuxのシステム管理に関する知識(応用レベル)

PDF[172KB]

4

Linuxのシステムプログラミングに関するスキル

PDF[256KB]

Linuxのシステムプログラミングに関する知識(基本レベル)

PDF[550KB]

Linuxをインストールしたマシン上で、多くの動作するプログラム例をコンパイル、実行して、システムプログラムを作成する。最終的には、DBM、割り込み処理、子プロセスを作成して親プロセスとプロセス間通信、ネットワークプログラミング等、システムプログラム全般の技術について学習する。

Linuxのシステムプログラミングに関する知識(応用レベル)

PDF[286KB]

5

ネットワークサーバ管理に関するスキル

PDF[176KB]

ネットワークサーバ管理に関する知識(基本レベル)

PDF[565KB]

OSSが動作する基盤となるネットワークサーバについて、その種類と特徴、動向を理解し、ネットワークサーバを用いて開発するために必要な一連の基礎知識と管理技術概要を学ぶ。

ネットワークサーバ管理に関する知識(応用レベル)

PDF[173KB]

6

クラスタシステム構築に関するスキル

PDF[234KB]

クラスタシステム構築に関する知識(基本レベル)

PDF[623KB]

High Availability ClusterとHigh Performance Computing Clusterの構築にかかわる技術の習得およびシステム構築の演習を通してクラスタ構築に関する基礎技術の習得を目指す。HPC Clusterの講義では、並列プログラミングに関する講義も行う。

クラスタシステム構築に関する知識(応用レベル)

PDF[281KB]

ネットワーク 1

ネットワーク・アーキテクチャに関するスキル

PDF[170KB]

ネットワーク・アーキテクチャに関する知識(基本レベル)

PDF[699KB]

オープンソースネットワークの中心技術となるTCP/IPプロトコル及びネットワーキング技術を集中的に学ぶ。特にTCP/IPプロトコルスタック、ソケット通信の仕組み、TCPコネクション管理のメカニズムを理解し、TCP/IPを用いた通信プログラム開発技術を学ぶ。

ネットワーク・アーキテクチャに関する知識(応用レベル)

PDF[886KB]

2

ネットワーク管理に関するスキル

PDF[183KB]

ネットワーク管理に関する知識(基本レベル)

PDF[597KB]

ネットワーク管理に関して、実際の作業に必要な管理知識・手法の種類と特徴、内容を理解し、オープンソース基盤ネットワークを運用するために必要なノウハウを実務レベルとして学ぶ。

ネットワーク管理に関する知識(応用レベル)

PDF[998KB]

プログラミング 1

Javaに関するスキル

PDF[176KB]

Javaに関する知識(基本レベル)

PDF[715KB]

もっとも普及しているオープンソース言語Javaの仕組み、基本的なプログラミング文法、オブジェクト指向によるプログラム設計と作成方法を学ぶ。さらにWebアプリケーションの基本構成、データベース接続と利用の方法について学ぶ。

Javaに関する知識(応用レベル)

PDF[381KB]

2

C、C++に関するスキル

PDF[195KB]

C、C++に関する知識(基本レベル)

PDF[565KB]

オープンソースシステムのソースを解読する上で、CやC++の知識は必須であるといえる。本カリキュラムでは、まずCの基礎的な構造やポインタ、メモリ管理について理解を深める。次にオブジェクト指向に関する理解を深めるために、C++について学習する。最後に、オープンソースとして公開されているライブラリを利用して、GUIアプリケーションなどの開発技法について学習する。

C、C++に関する知識(応用レベル)

PDF[655KB]

3

Light Weight Languageに関するスキル

PDF[205KB]

Light Weight Languageに関する知識(基本レベル)

PDF[610KB]

コードの作成や修正が容易とされる軽量プログラミング言語(Light Weight Language)を学習し、アプリケーション開発の手法を習得する。

本カリキュラムでは、まずLight Weight Languageに位置づけされるPerl、PHP、Python、Rubyといったプログラミング言語の特徴について解説し、動作環境の構築や基本的な構文について習得する。次に、前述した言語のうち、Rubyに焦点をあて、Rubyによるオブジェクト指向開発やフレームワークによるWebアプリケーション開発について学習する。最後に、オープンソースとして公開されているWebアプリケーションをカスタマイズし、機能を追加する方法について学習する。

Light Weight Languageに関する知識(応用レベル)

PDF[400KB]

開発体系 1

開発フレームワークに関するスキル

PDF[163KB]

開発フレームワークに関する知識(基本レベル)

PDF[594KB]

現在普及が期待されている開発フレームワークの実際の開発・運用の際に必要な管理知識・手法の種類と特徴、内容を理解し、必要なノウハウを実務レベルとして学ぶ。

開発フレームワークに関する知識(応用レベル)

PDF[594KB]

2

開発ツールに関するスキル

PDF[217KB]

開発ツールに関する知識(基本レベル)

PDF[983KB]

バージョン管理システム、デバッガ、バグ追跡システム、システムプロファイラ、カーネルデバッガなどのソフトウェア開発ツールについて、その種類と特徴、動向の理解に必要な一連の基礎知識と活用技術の概要を学ぶ。

開発ツールに関する知識(応用レベル)

PDF[1,224KB]

3

統合開発環境に関するスキル

PDF[156KB]

統合開発環境に関する知識(基本レベル)

PDF[886KB]

OSSの開発で用いられている統合開発環境について、その種類や特徴、使い方、活用方法等を理解することを通じて、OSSをソースコードレベルで活用したり、開発プロジェクトに参加したりするための基礎知識やノウハウを学ぶ。

統合開発環境に関する知識(応用レベル)

PDF[1,691KB]

セキュリティ 1

暗号化に関するスキル

PDF[169KB]

暗号化に関する知識(基本レベル)

PDF[735KB]

OSSアプリケーションのセキュリティ保持に必須の暗号化技術について、実際の開発・運用の際に必要な管理知識・手法の種類と特徴、内容を理解する。暗号化基盤として、実際にインターネット上で暗号化を担当する暗号化基盤の仕組みを理解する。

暗号化に関する知識(応用レベル)

PDF[890KB]

2

ネットワークセキュリティに関するスキル

PDF[180KB]

ネットワークセキュリティに関する知識(基本レベル)

PDF[647KB]

OSS動作環境におけるセキュリティリスク、それに対応するセキュリティ要件とその機能、構成に関して、実際の開発・運用の際に必要な管理知識・手法の種類と特徴、内容を理解し、Linuxサーバを例として、セキュリティ実装の手順を実務レベルとして学ぶ。

ネットワークセキュリティに関する知識(応用レベル)

PDF[625KB]

3

OSセキュリティに関するスキル

PDF[200KB]

OSセキュリティに関する知識(基本レベル)

PDF[622KB]

OSのセキュリティ機能として必要な機能と、オープンソースOSとしてもっとも利用が期待されるLinuxのセキュリティ管理に関して、実際の開発・運用の際に必要な管理知識・手法の種類と特徴、内容を学ぶ。

OSセキュリティに関する知識(応用レベル)

PDF[639KB]

RDB 1

RDBに関する基礎スキル

PDF[206KB]

RDBに関する知識(基本レベル)

PDF[593KB]

OSSのデータストアとしてのデータベースの機能と役割に関して、実際の開発・運用の際に必要な管理知識・手法の種類と特徴、内容を理解し、データベースを設計・活用するために必要なノウハウを実務レベルとして学ぶ。

RDBに関する知識(応用レベル)

PDF[448KB]

2

RDBシステム管理に関するスキル

PDF[204KB]

RDBシステム管理に関する知識(基本レベル)

PDF[600KB]

OSSのデータストアとしてのデータベースの運用管理機能とその方法に関して、実際の開発・運用の際に必要な管理知識・手法の種類と特徴、内容を理解し、データベースを運用するために必要なノウハウを実務レベルとして学ぶ。

RDBシステム管理に関する知識(応用レベル)

PDF[416KB]

組み込みソフトウェア 1

組み込みシステムに関するスキル

PDF[187KB]

組み込みシステムに関する知識(基本レベル)

PDF[603KB]

開発方法論、組み込みシステム設計・開発に必要な知識、方法論を概要として学ぶ。オープンソースとのかかわり、取り組み状況を理解する。

組み込みシステムに関する知識(応用レベル)

PDF[622KB]

2

組み込み開発環境に関するスキル

PDF[196KB]

組み込み開発環境に関する知識(基本レベル)

PDF[593KB]

GUIプログラミング(GTK+、QT、Qtopia)などのソフトウェアが動作する基盤となるコンピュータシステム、ハードウェア、アーキテクチャについて、その種類と特徴、動向を理解し、OSSを用いて開発するためのハードウェアや基盤に必要な一連の基礎知識と活用技術の概要について学ぶ。

組み込み開発環境に関する知識(応用レベル)

PDF[623KB]

3

組み込みアプリケーション開発に関するスキル

PDF[202KB]

組み込みアプリケーション開発に関する知識(基本レベル)

PDF[566KB]

組み込みアプリケーションの制御パターンやアーキテクチャを、実際の実装事例の研究を交えながら、留意点や特徴を学ぶ。

組み込みアプリケーション開発に関する知識(応用レベル)

PDF[11,763KB]

4

組み込みシステム最適化に関するスキル

PDF[219KB]

組み込みシステム最適化に関する知識(基本レベル

PDF[558KB]

組み込みシステムの性能最適化のためのソフトウェア、ハードウェア、構成、設計などの必要な機能と、その手順、方法に関して、実際の開発・運用の際に必要な管理知識・手法の種類と特徴、内容を学ぶ。

組み込みシステム最適化に関する知識(応用レベル)

PDF[5,034KB]