到達目標
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週 |
定期試験 |
|
モデルコアカリキュラムの学習内容と到達目標
| 分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
| 専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数の概念を説明できる。 | 5 | 後5 |
| データ型の概念を説明できる。 | 5 | 後5,後7 |
| 代入や演算子の概念を理解し、式を記述できる。 | 5 | 後2 |
| 制御構造の概念を理解し、条件分岐を記述できる。 | 5 | 後3,後5 |
| 制御構造の概念を理解し、反復処理を記述できる。 | 5 | 後3,後5 |
| プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 5 | 後6 |
| 主要な計算モデルを説明できる。 | 5 | 後2 |
| ソフトウェア | 時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 5 | 後3,後4 |
| 領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 5 | 後3,後4 |
| 整列、探索など、基本的なアルゴリズムについて説明できる。 | 5 | 後3,後4 |
| ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 5 | 後1 |
| ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 5 | 後4 |
| 同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 5 | 後4 |
| システムプログラム | 形式言語の概念について説明できる。 | 5 | |
| オートマトンの概念について説明できる。 | 5 | |
| コンパイラの役割と仕組みについて説明できる。 | 5 | |
評価割合
| 試験 | 課題 | 合計 |
| 総合評価割合 | 60 | 40 | 100 |
| 基礎的能力 | 0 | 0 | 0 |
| 専門的能力 | 60 | 40 | 100 |
| 分野横断的能力 | 0 | 0 | 0 |