到達目標
プログラミングの基本となる諸概念について理解し,C++によって,関数,クラスを使った簡単なプログラムを作成することができ,初歩的な開発プロセスおよび設計手順等を理解している.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 各種制御文を用いて実践的なプログラムを書ける | 各種制御文を用いて基本的なプログラムを書ける | 各種制御文を用いて基本的なプログラムを書けない |
評価項目2 | 関数を用いて実践的なプログラムを書ける | 関数を用いて基本的なプログラムを書ける | 関数を用いて基本的なプログラムを書けない |
評価項目3 | ポインタ,参照を用いて実践的なプログラムを書ける | ポインタ,参照を用いて基本的なプログラムを書ける | ポインタ,参照を用いて基本的なプログラムを書けない |
評価項目4 | 基本的なクラスを用いて実践的なプログラムを書ける | 基本的なクラスを用いて基本的なプログラムを書ける | 基本的なクラスを用いて基本的なプログラムを書けない |
評価項目5 | 継承を用いて実践的なプログラムを書ける | 継承を用いて基本的なプログラムを書ける | 継承を用いて基本的なプログラムを書けない |
評価項目6 | 基本的なデータ構造を用いて実践的なプログラムを書ける | 基本的なデータ構造を用いて基本的なプログラムを書ける | 基本的なデータ構造を用いて基本的なプログラムを書けない |
評価項目7 | 高度なC++文法を用いて実践的なプログラムを書ける | 高度なC++文法を用いて基本的なプログラムを書ける | 高度なC++文法を用いて基本的なプログラムを書けない |
学科の到達目標項目との関係
教育方法等
概要:
プログラム設計では,C++言語の文法を会得し,C++言語を用いてプログラミングできる知識と技術を習得する.この授業ではC++言語のみではなく,プログラミング一般の方法やオブジェクト指向に関する知識についても学習する.また,演習を通じてC++言語仕様以外に,簡単な基本的なデータ構造やアルゴリズムについても学習する.
授業の進め方・方法:
全ての内容は,学習・教育到達目標の<B>(基礎)に関連する.
授業は講義、演習、実習をバランス良く行う.演習と実習は習熟度別に選択となる.
「授業計画」における各週の「到達目標」はこの授業で習得する「知識・能力」に相当するものとする
注意点:
<到達目標の評価方法と基準>
授業計画の「達成目標」1-20の確認を,これらの範囲を網羅した2回の中間試験,2回の定期試験と,レポートで行う.評価結果が百点法で60点以上の場合に目標の達成とする.
<学業成績の評価方法および評価基準>
前期中間,前期末,後期中間,学年末の4回の定期試験結果を80%,レポートを20%で評価する.それぞれの期間ごと100点満点で評価し,これらの平均値を小数点以下切り捨てたものを最終評価とする.各定期試験での再試験は行わない.また,12月に行われる情報オリンピックの成績を学業成績の評価に加えることがある.
<あらかじめ要求される基礎知識の範囲>プログラミング基礎,電子情報工学序論の知識が必要.また,課題は数学や物理を参考に出題するので,これらの基本的な知識が必要.
<レポート等> 授業の理解を深めるためと,プログラム作成技術を向上させるため,基本的に毎週,プログラミング作成のレポート課題を課す.
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
1年の復習 |
1. 変数および, if, while, for, switchの各文法を使い、プログラムを作成できる
|
2週 |
関数1 |
2. 引数,戻り値の概念を理解し,値渡し,アドレス渡し,参照渡しの違いについて理解し、関数を使ってプログラムを作成できる
|
3週 |
関数2 |
3. 関数テンプレート,テンプレートクラス、関数のオーバーロードについて理解する
|
4週 |
アドレス,ポインタ |
4. 変数がアドレスで指定されるメモリ領域を保持し,このアドレスとポインタとの関係を理解する
|
5週 |
配列とポインタ |
5. 配列とポインタの関係を理解し,プログラムを作成できる
|
6週 |
スコープ,記憶寿命 |
7. 型と変数,記憶寿命とスコープの概念を理解し,プログラムを作成できる
|
7週 |
enum,typedef, 構造体 |
8. 列挙型,構造体のデータ構造について理解し,プログラムを作成できる
|
8週 |
中間試験 |
これまでに学習した内容を説明し、プログラム作成に応用できる
|
2ndQ |
9週 |
動的なメモリ確保 |
9. 動的メモリを確保する必要性を理解し、動的メモリを使いプログラムを作成できる
|
10週 |
クラスとオブジェクト |
10. クラスとオブジェクトについて説明できる
|
11週 |
クラスの定義, コンストラクタ |
11. 簡単なクラスを作成し,プログラムを作成できる
|
12週 |
参照 |
12.参照の概念を理解し、説明でき、プログラムで利用できる
|
13週 |
継承 |
13. 継承,仮想関数の概念を理解し,派生クラスを作成してプログラムを作成することができる
|
14週 |
仮想関数,抽象クラス |
14. 純粋仮想関数,抽象クラス,仮想クラス,多重継承の概念を理解する
|
15週 |
多重継承 |
上記14
|
16週 |
|
|
後期 |
3rdQ |
1週 |
テンプレートクラス |
上記3
|
2週 |
スタック |
15. 基本的なデータ構造の仕組みを理解し、クラスを設計でき、利用することができる
|
3週 |
キュー |
上記15
|
4週 |
連結リスト |
上記15
|
5週 |
STL(データ構造) |
上記15
|
6週 |
静的メンバ |
16. 静的メンバ変数の概念を理解し、説明できる
|
7週 |
復習 |
これまでに学習した内容を説明できる
|
8週 |
中間試験 |
これまでに学習した内容を説明し、プログラム作成に応用できる
|
4thQ |
9週 |
ストリーム |
17. ストリームの概念を理解し,入出力プログラムを作成することができる
|
10週 |
例外処理と名前空間 |
18. 例外処理および名前空間の概念を理解し,プログラムを作成できる
|
11週 |
演算子のオーバーロード1 |
19. 演算子のオーバーロードについて理解し,プログラムを作成できる
|
12週 |
演算子のオーバーロード2 |
上記19
|
13週 |
浅いコピーと深いコピー |
上記19
|
14週 |
要求定義と設計1 |
20. プログラム開発プロセスを理解し,簡単なシステムの仕様策定,設計ができる
|
15週 |
要求定義と設計2 |
上記20
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 課題 | 相互評価 | 態度 | 発表 | その他 | 合計 |
総合評価割合 | 80 | 20 | 0 | 0 | 0 | 0 | 100 |
配点 | 80 | 20 | 0 | 0 | 0 | 0 | 100 |