到達目標
1. アルゴリズムの概念を説明できる。
2.ソフトウェアの作成 与えられた簡単な問題に対して、それを解決するためのソースプログラムを記述できる。
3. 分割コンパイルやデバッガを利用することができる。
4. ファイル入出力や構造体を利用したプログラムを書くことができる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | アルゴリズムの利点や欠点の説明ができる。 | アルゴリズムの概念を説明できる。 | アルゴリズムの概念を説明できない。 |
評価項目2 | 作ったプログラムの説明ができる。 | プログラムの記述ができる。 | プログラムの記述ができない。 |
評価項目3 | 状況に応じて分割コンパイルのためのmakefileの修正ができる。 | 分割コンパイルができ、デバッグ作業ができる。 | 分割コンパイルができない。 |
評価項目4 | 独自の構造体を宣言し、それを用いたプログラムを書くことができる。 | ファイル入出力や構造体を用いる応用演習が達成できる。 | ファイル入出力や構造体を用いる応用演習が達成できていない。 |
学科の到達目標項目との関係
教育方法等
概要:
C言語は、高水準言語でありながら、アセンブリ言語に近い自由度を持った記述が可能なプログラミング言語である。そのため、産業界において最も広く普及している。本授業では、本科2年科目であるプログラミングⅡに引き続き、データの入出力や構造体を用いた簡単なソフトウェアの作成を通してソフトウェアの開発工程を学習する。
授業の進め方・方法:
参考図書、配布プリントなどを用いた講義を行う。授業の形態は、講義と演習を進行状況に合わせて交互に行う。授業中の演習において、度々、前年度までに講義された内容が現れると考えられる。その際、復習を兼ねた説明を行う場合もあるが、基本的には予習または復習による自学自習の機会と認識し、講義を受けることを推奨する。講義全体における最終課題として、2分木とファイル入出力を用いた英単語辞書の作成を行い、レポート課題とする。
注意点:
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
復習(繰り返し文、配列、ポインタ、関数、構造体など) |
|
2週 |
単語辞書プログラムの設計概要 |
|
3週 |
構造体の宣言 |
|
4週 |
構造体の配列、構造体の制御 |
|
5週 |
連結リスト |
|
6週 |
2分木 |
|
7週 |
2分木の探索 |
|
8週 |
2分木へのデータ追加 |
|
2ndQ |
9週 |
ファイルからのデータ読み込み |
|
10週 |
ファイルへのデータ書き出し |
|
11週 |
自由機能の設計(1)要求仕様 |
|
12週 |
自由機能の設計(2)関数の実装と動作テスト |
|
13週 |
自由機能の設計(3)関数の実装と動作テスト |
|
14週 |
自由機能の設計(4)関数の実装と動作テスト |
|
15週 |
自由機能のプレゼンテーション |
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 2 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 2 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 2 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 1 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 1 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 2 | |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 80 | 0 | 0 | 0 | 0 | 20 | 100 |
基礎的能力 | 40 | 0 | 0 | 0 | 0 | 10 | 50 |
専門的能力 | 40 | 0 | 0 | 0 | 0 | 10 | 50 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |