到達目標
1.コンピュータを活用し、プログラミングや演習データの評価を行い、報告書を作成できる(A2)
2.ソフトウェアの開発プロセスをモデルごとに分析し、説明できる。(A3)
3.主要な計算モデルを説明でき、また、プログラムの計算量やメモリ効率を評価し、整列や統計処理をプログラミングすることができる。(A3)
4.コンパイラの仕組みや役割について理解し、コンパイラ開発に必要な技術を説明できる。(A3)
5.オブジェクト指向の基礎を理解し、複素数やベクトルなどを扱う基本的なクラスを定義することができる。(A3)
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1
(到達目標1) | コンピュータを活用した情報収集やプログラミング、および演習データの評価を行い、わかりやすい報告書を作成できる。 | コンピュータを活用した情報収集やプログラミング、および演習データの評価を行い報告書を作成できる。 | コンピュータを活用した情報収集やプログラミングができない。また、コンピュータを用いて報告書を作成できない。 |
評価項目2
(到達目標2、3、4) | ソフトウェアの開発プロセスに関するモデル・技術について、それぞれの特徴を分析し、説明できる。また、計算モデル、コンパイラについてそれぞれ特徴や役割を説明できる。さらにプログラミングの計算量を評価できる。 | ソフトウェアの開発プロセスに関するモデル・技術について、それぞれの特徴を分析し、ある程度説明できる。また、計算モデル、コンパイラについてそれぞれ特徴や役割をある程度説明できる。さらにプログラミングの計算量をある程度評価できる。 | ソフトウェアの開発プロセスに関するモデル・技術について、それぞれの特徴を説明できない。また、計算モデル、コンパイラについてそれぞれ特徴や役割を説明できない。さらにプログラミングの計算量を評価できない。 |
評価項目3
(到達目標5) | オブジェクト指向の基礎を理解し、複素数やベクトル等を扱う基本的なクラスを適切に定義し、要求された処理を実現することができる。 | オブジェクト指向の基礎を理解し、複素数やベクトル等を扱う基本的なクラスを定義し、要求された処理のほとんどを実現することができる。 | 複素数やベクトル等を扱う基本的なクラスをほとんど定義できない。 |
学科の到達目標項目との関係
学習・教育到達度目標 A-2
説明
閉じる
学習・教育到達度目標 A-3
説明
閉じる
JABEE b
説明
閉じる
JABEE d
説明
閉じる
JABEE e
説明
閉じる
教育方法等
概要:
ソフトウェア・システム開発のプロセスについて学習し、また、プログラムの計算量についてC++言語を用いた実習を通じて理解を深める。さらに、C++言語を用いて複数のクラスを定義し、それを利用することでオブジェクト指向の基本を理解する。
授業の進め方・方法:
予備知識 : コーディングから実行ファイル生成までの流れと、これまで学習した情報通信技術の復習が必要である。特に、C言語の復習は重要である。
この科目は学修単位科目のため,事前・事後学習としてレポートやオンラインテスト等を実施します.
講義室 : ICT
授業形式 : 講義・演習 (前半の授業の一部でC言語プログラミングを行い、後半のオブジェクト指向への連結を円滑にする。)
学生が用意するもの : 特になし
注意点:
評価方法 : 中間評価(筆記試験60%、課題40%)と期末評価(筆記試験60%、課題40%)の平均点で評価し、60点以上を合格とする。ただし、課題(A2)と筆記試験(A3)の各平均点はともに60点以上を満たすことが条件である。
自己学習の指針 : 予習、復習時間は2時間以上が望ましい。また、試験の前までに授業内容の重点を整理しておくこと。
オフィスアワー : 水曜日、金曜日の16:00~17:00
※到達目標の( )内の記号はJABEE学習・教育到達目標
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
C++言語、変数、入出力 |
統合開発環境を用いてC++でプログラミングできる。
|
2週 |
ソフトウェア開発プロセス |
システム開発の各プロセスを理解できる。また、複数の開発モデルについて特徴を説明できる。
|
3週 |
制御構造 |
プログラム中の冗長な記述を削減し、効率の良い制御構造を記述できる。
|
4週 |
プログラム解析 |
ソースプログラムの処理効率を評価し、複数のプログラムの実行効率を計算量から比較できる。
|
5週 |
文字列・ソート |
文字列を操作する関数をソートに活用できる。また、文字コードについて理解できる。
|
6週 |
計算モデル・関数 |
手続き型や関数型などのいくつかの計算モデルの違いを理解できる。また、C言語とC++言語での参照渡しの記述の違いを理解し、関数を定義できる。
|
7週 |
コンパイラ・構造体 |
コンパイラの役割とコンパイラの各プロセスを理解できる。構造体と配列の違いを理解できる。
|
8週 |
中間試験 |
|
4thQ |
9週 |
オブジェクト指向言語の概要 |
オブジェクト指向の概要を理解し、簡単なクラスを定義できる。構造体との違いを説明できる。
|
10週 |
クラスの定義(1) |
要求されたクラスを定義できる。また、メンバ変数、メンバ関数の役割を理解できる。
|
11週 |
クラスの定義(2) |
コンストラクタ、デストラクタを定義でき、それらの代表的な役割を説明できる。
|
12週 |
クラスの定義(3) |
データ隠ぺいを考慮してクラスを定義できる。
|
13週 |
クラスの定義(4) |
オペレータの定義とそれを用いたクラスの操作ができる。
|
14週 |
クラスの定義(5) |
与えられた要求し従いクラスを定義し、活用できる。
|
15週 |
応用プログラム |
定義済みのクラスを使って目的に応じたプログラミングができる。
|
16週 |
定期試験 |
|
評価割合
| 試験 | 課題 | 合計 |
総合評価割合 | 60 | 40 | 100 |
基礎的能力 | 0 | 0 | 0 |
専門的能力 | 60 | 40 | 100 |
分野横断的能力 | 0 | 0 | 0 |