概要:
プログラミングの言語表現、ソフトウェア設計表現方法を習得させ、ソフトウェア開発、品質や一連のプロセスを理解させ、最後にモデル規範設計にて大規模プログラミングをグループ課題として体験させる。
授業の進め方・方法:
講義と演習を繰り返し、知識の定着をはかる。グループプログラミングによってチームワーク力、課題設定力、コミュニケーション力強化のためにアクティブラーニングを展開する。
注意点:
(1)授業90分に対して自学自習形式で設計演習を45分程度実施する.
(2)設計演習課題に対して,設計・製作を自学自習時間や放課後を利用して実施する.
|
|
週 |
授業内容 |
週ごとの到達目標 |
| 前期 |
| 1stQ |
| 1週 |
ガイダンス |
ソフトウェア設計の概要を理解する。
|
| 2週 |
プログラミング言語の比較(1) |
データ、制御、レイアウトにつきプログラミング言語それぞれの特徴とソフトウェア設計上の注意事項について学ぶ。
|
| 3週 |
プログラミング言語の比較(2) |
データ、制御、レイアウトにつきプログラミング言語それぞれの特徴とソフトウェア設計上の注意事項について学ぶ。
|
| 4週 |
プログラミング言語の比較(3) |
データ、制御、レイアウトにつきプログラミング言語それぞれの特徴とソフトウェア設計上の注意事項について学ぶ。
|
| 5週 |
プログラミング言語の比較(4) |
データ、制御、レイアウトにつきプログラミング言語それぞれの特徴とソフトウェア設計上の注意事項について学ぶ。
|
| 6週 |
各種チャートについて(1) |
NSチャート、ジャクソンチャート、ストラクチャードチャート
|
| 7週 |
各種チャートについて(2) |
NSチャート、ジャクソンチャート、ストラクチャードチャート
|
| 8週 |
各種チャートについて(3) |
NSチャート、ジャクソンチャート、ストラクチャードチャート
|
| 2ndQ |
| 9週 |
中間試験 |
理解度チェックを実施する。
|
| 10週 |
有限オートマトン設計法(1) |
各種プログラム(選択メニュー選択、字句解析等)を有限オートマトン設計法で設計し、実装することを学ぶ。
|
| 11週 |
有限オートマトン設計法(2) |
各種プログラム(選択メニュー選択、字句解析等)を有限オートマトン設計法で設計し、実装することを学ぶ。
|
| 12週 |
有限オートマトン設計法(3) |
各種プログラム(選択メニュー選択、字句解析等)を有限オートマトン設計法で設計し、実装することを学ぶ。
|
| 13週 |
有限オートマトン設計法(4) |
各種プログラム(選択メニュー選択、字句解析等)を有限オートマトン設計法で設計し、実装することを学ぶ。
|
| 14週 |
モデル規範設計法(1) |
シナリオから物と物の振る舞いを抽出する方法を理解する。
|
| 15週 |
モデル規範設計法(2) |
すごろく等のゲームプログラムの設計を実施して、具体的な方法を理解する。
|
| 16週 |
モデル規範設計法(3) |
すごろく等のゲームプログラムの設計を実施して、具体的な方法を理解する。
|
| 後期 |
| 3rdQ |
| 1週 |
ソフトウェアライフサイクルプロセス(SLCP1) |
要求技術から設計、開発、ソフトウェアの品質保証、検証、保守にいたるプロセスの問題点と管理手法について学ぶ。
|
| 2週 |
ソフトウェアライフサイクルプロセス(SLCP2) |
要求技術から設計、開発、ソフトウェアの品質保証、検証、保守にいたるプロセスの問題点と管理手法について学ぶ。
|
| 3週 |
ソフトウェアライフサイクルプロセス(SLCP3) |
要求技術から設計、開発、ソフトウェアの品質保証、検証、保守にいたるプロセスの問題点と管理手法について学ぶ。
|
| 4週 |
ソフトウェアライフサイクルプロセス(SLCP4) |
要求技術から設計、開発、ソフトウェアの品質保証、検証、保守にいたるプロセスの問題点と管理手法について学ぶ。
|
| 5週 |
ソフトウェアライフサイクルプロセス(SLCP5) |
要求技術から設計、開発、ソフトウェアの品質保証、検証、保守にいたるプロセスの問題点と管理手法について学ぶ。
|
| 6週 |
ソフトウェアライフサイクルプロセス(SLCP6) |
要求技術から設計、開発、ソフトウェアの品質保証、検証、保守にいたるプロセスの問題点と管理手法について学ぶ。
|
| 7週 |
ソフトウェアライフサイクルプロセス(SLCP7) |
要求技術から設計、開発、ソフトウェアの品質保証、検証、保守にいたるプロセスの問題点と管理手法について学ぶ。
|
| 8週 |
中間試験 |
学習内容理解度をチエックする。
|
| 4thQ |
| 9週 |
グループプログラミング(1) |
グループにてプログラミング課題を与えSLCPを考え、要求定義、開発を行い、品質管理について考察する。
|
| 10週 |
グループプログラミング(2) |
グループにてプログラミング課題を与えSLCPを考え、要求定義、開発を行い、品質管理について考察する。
|
| 11週 |
グループプログラミング(3) |
グループにてプログラミング課題を与えSLCPを考え、要求定義、開発を行い、品質管理について考察する。
|
| 12週 |
グループプログラミング(4) |
グループにてプログラミング課題を与えSLCPを考え、要求定義、開発を行い、品質管理について考察する。
|
| 13週 |
グループプログラミング(5) |
グループにてプログラミング課題を与えSLCPを考え、要求定義、開発を行い、品質管理について考察する。
|
| 14週 |
グループプログラミング(6) |
グループにてプログラミング課題を与えSLCPを考え、要求定義、開発を行い、品質管理について考察する。
|
| 15週 |
グループプログラミング(7) |
グループにてプログラミング課題を与えSLCPを考え、要求定義、開発を行い、品質管理について考察する。
|
| 16週 |
グループプログラミング(8) |
グループにてプログラミング課題を与えSLCPを考え、要求定義、開発を行い、品質管理について考察する。
|
| 分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
| 専門的能力 | 分野別の専門工学 | 情報系 | プログラミング | 制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 5 | 前1 |
| プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 5 | 前2 |
| 与えられた簡単な問題に対して、それを解決するためのソースプログラムを記述できる。 | 5 | 前3 |
| ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | 前4,前5 |
| 要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | 後1,後2,後3,後4,後5,後6,後7 |
| ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | 前6 |
| 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを理解している。 | 3 | 前7,前8 |
| コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを理解している。 | 3 | 前14,前15,前16 |
| 同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを理解している。 | 3 | 前6,前7,前8 |
| ソフトウェアを中心としたシステム開発のプロセスを理解している。 | 4 | 後9,後10,後11,後12,後13,後14,後15,後16 |