下の表は、OSSモデルカリキュラム拡充版1.0として、2009年度事業で新たに作成されたシラバス・学習ガイダンスについてのみ抽出してまとめたものです。
既存のOSSモデルカリキュラムV1との対比については「OSSモデルカリキュラムの位置づけと拡充」をご確認下さい。
OSSモデルカリキュラムV1拡充調査報告書
(概要版
[1,182KB] 詳細版
[1,609KB] )
| シラバス | 学習ガイダンス | 概要 | ||
|---|---|---|---|---|
| 基礎 | 1 |
|
|
ソフトウェアの新たな開発手法となりソフトウェア業界で大きな影響力を持つようになったオープンソースについて学習する。本カリキュラムでは、オープンソースの登場から現在に至る発展の経緯や代表的なソフトウェアの特徴を理解する。講義の後半では実際にソフトウェアをPCにインストールしながら演習を行う。 |
| 2 |
|
|
オープンソースにまつわる知財や法務に関する基礎知識について解説する。本講義では、オープンソースの代表的なライセンスや関連する法務分野 の基礎知識を解説する。 | |
|
|
|
|||
| プログラミング | 1 |
|
|
もっとも普及しているオープンソース言語Javaの仕組み、基本的なプログラミング文法、オブジェクト指向によるプログラム設計と作成方法を 学ぶ。さらにWebアプリケーションの基本構成、データベース接続と利用の方法について学ぶ。 |
|
|
|
|||
| 2 |
|
|
オープンソースシステムのソースを解読する上で、Cの知識は必須であるといえる。本カリキュラムでは、Cの基本的な構成や制御構文、データの扱い方について理解を深め、 ポインタとメモリ管理について学習し、アルゴリズムとデータ構造の実装方法を学習する。CでのOSS開発において、セキュリティを強化し、機能性や信頼性を向上するために必要となる様々な知識や、 並列処理による効率を考慮した技術、様々なライブラリを通じて可搬性や使用性を向上させる技術などを学習する。 | |
|
|
|
|||
| 3 |
|
|
オブジェクト指向に関する理解を深めるために、C++について学習する。最後に、オープンソースとして公開され ているライブラリを利用して、GUIアプリケーションなどの開発技法について学習する。オープンソースシステムのソースを解読する上で、C++の知識は必須であるといえる。本カリキュラムでは、まずオブジェクト指向に関する理解を深め、 クラスの扱い方について学習し、STLを使用してアルゴリズムとデータ構造を実装する方法を学習する。 | |
|
|
|
|||
| 4 |
|
|
コードの作成や修正が容易とされるスクリプト言語を学習し、アプリケーション開発の手法を習得する。
本カリキュラムでは、まずスクリプト言語に位置づけされるPerl、PHP、Python、JavaScript、Rubyといったプログラミング言語の特徴について解説し、動作環境の構築や基本的な構文について習得する。次に前述した言語のうちRubyに焦点をあて、オブジェクト指向や正規表現、連想配列といった技術について学習する。 コードの作成や修正が容易とされるスクリプト言語のうち、特にRubyについて学習し、応用的なアプリケーション開発の手法を習得する。フレームワークによるWebアプリケーション開発やデータベース操作について学習する。 |
|
|
|
|
|||
| 開発体系 | 1 |
|
|
現在普及が期待されている開発フレームワークの実際の開発・運用の際に必要な管理知識・手法の種類と特徴、内容を理解し、必要なノウハウを実務レベルとして学ぶ。 開発フレームワークを利用したWebアプリケーションの実装方法を理解する。MVCやORマッピング、DIxAOPといった技術を理解する。 |
|
|
|
|||
| 2 |
|
|
バージョン管理システム、デバッガ、バグ追跡システム、システムプロファイラなどのソフトウェア開発ツールについて、その種類と特徴、動向の理解に必要な一連の基礎知識と活用技術の概要を学ぶ。バージョン管理システム、バグ追跡システム、などのソフトウェア開発ツールをそれぞれ連携させることにより、活用技術を学ぶ。 | |
|
|
|
|||
| 3 |
|
|
OSSの開発で用いられている統合開発環境について、その種類や特徴、使い方、活用方法等を理解することを通じて、OSSをソースコードレベルで活用したり、開発プロジェクトに参加したりするための基礎知識やノウハウを学ぶ。 統合開発環境と、バグ管理ツール、ビルドツールなど様々な開発ツールとの連携や、MVCフレームワークなどのJavaフレームワークとの連携、C言語やスクリプト言語などJava以外の言語での利用方法について学ぶ。 |
|
|
|
|
|||
| 4 |
|
|
オープンソースプロジェクトに開発者として参加するために、事前に知っておくべきオープンソースコミュニティの組織や開発方法を説明する。 | |
| 5 |
|
|
オープンソースプロジェクトにおける、企業内プロジェクトでいうマネージャの役割となるコミュニティマネージャを育成する上で必要な、コミュニティ組織、開発体制、コミュニケーション手段などを学習する。 | |
| 組み込みソフトウェア | 1 |
|
|
開発方法論、組み込みシステム設計・開発に必要な知識、方法論を概要として学ぶ。オープンソースとのかかわり、取り組み状況を理解する。 |
|
|
|
|||
| 2 |
|
|
ソフトウェアが動作する基盤となるコンピュータシステム、ハードウェア、アーキテクチャについて、その種類と特徴、動向を理解し、OSSを用いて開発するためのハードウェアや基盤に必要な一連の基礎知識と活用技術の概要について学ぶ。 | |
|
|
|
|||
| 3 |
|
|
デバイスドライバの役割や開発方法を通してLinuxOSの動作やカーネルレベルでの動作を学ぶ。 |