到達目標
1) 与えられたプログラムの読解,要求仕様を満たすプログラムの作成ができる.
2) ポインタについて,実装を通して理解できる.
3) 構造体・共用体・列挙型について,実装を通して理解できる.
4) ファイル処理について,実装を通して理解できる.
5) C以外の一つ以上のプログラミング言語について,基本的な実装ができる.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
| 評価項目1 | 与えられたプログラムの読解,要求仕様を満たすプログラムの作成ができる. | 与えられたプログラムの読解,要求仕様を満たすプログラムの基礎的な作成ができる. | 与えられたプログラムの読解,要求仕様を満たすプログラムの作成ができない. |
| 評価項目2 | ポインタについて,実装を通して理解できる. | ポインタについて,実装を通して大部分が理解できる. | ポインタについて,実装を通して理解できない. |
| 評価項目3 | 構造体・共用体・列挙型について,実装を通して理解できる. | 構造体・共用体・列挙型について,実装を通して大部分が理解できる. | 構造体・共用体・列挙型について,実装を通して理解できない. |
| 評価項目4 | ファイル処理について,実装を通して理解できる. | ファイル処理について,実装を通して大部分が理解できる. | ファイル処理について,実装を通して理解できない. |
| 評価項目6 | C以外の一つ以上のプログラミング言語について,基本的な実装ができる. | C以外の一つ以上のプログラミング言語について,基本的な理解ができる. | C以外の一つ以上のプログラミング言語について,基本的な理解ができない. |
学科の到達目標項目との関係
Ⅰ 人間性 1 Ⅰ 人間性
Ⅱ 実践性 2 Ⅱ 実践性
Ⅲ 国際性 3 Ⅲ 国際性
CP2 各系の工学的専門基盤知識,および実験・実習および演習・実技を通してその知識を社会実装に応用・実践できる力 5 CP2 各系の工学的専門基盤知識,および実験・実習および演習・実技を通してその知識を社会実装に応用・実践できる力
CP4 他者を理解・尊重し,協働できるコミュニケーション能力と人間力 7 CP4 他者を理解・尊重し,協働できるコミュニケーション能力と人間力
学習目標 Ⅱ 実践性
学校目標 D(工学基礎) 数学,自然科学,情報技術および工学の基礎知識と応用力を身につける
学科目標 D(工学基礎) 数学,自然科学,情報技術および工学の基礎知識と応用力を身につける
本科の点検項目 D-ⅰ 数学に関する基礎的な問題を解くことができる
本科の点検項目 D-ⅳ 数学,自然科学,情報技術および工学の基礎知識を専門分野の工学的問題解決に応用できる
学校目標 E(継続的学習) 技術者としての自覚を持ち,自主的,継続的に学習できる能力を身につける
本科の点検項目 E-ⅱ 工学知識,技術の習得を通して,継続的に学習することができる
教育方法等
概要:
この授業では,2年で学んできたプログラミングの基礎知識を要する.
第2学年で開講されている「プログラミングⅠ」は,情報処理技術者としてソフトウェア開発を行うために必要なプログラミング技法を修得することが目的であり,第3学年の「プログラミングⅡ」もそれを踏襲する.しかし,プログラミングⅡでは,より高度なプログラミング概念とその技法を修得する.
授業内容としては,ポインタ,構造体,ファイル処理,数値計算,C言語以外の言語,と多岐にわたる.
授業の進め方・方法:
授業は各単元において,教科書と配布資料に基づき口頭説明した上,各自プログラムを実装する.
適宜参考コードを示し,各自が書いたプログラムと比較し,理解を深める.
その際,Unix環境を使用するため,Unixコマンドを使えるようにしておくこと。
関連文書はオンラインで閲覧可とする.不定期に提出が必要な課題を課すが,授業時間内に完成しない場合は自習時間を使って完成させること.
また,授業態度を測る指標のひとつとして,ノート(予習・授業・復習)を確認する.
最終評価が合格点に達しない場合,再試験を行う可能性がある.
注意点:
プログラミング技術向上のためには,日頃の努力が必要である.したがって,不定期に出題される課題については,提出の要・不要を問わず,必ずすべて完成させるよう努力すること.
また,オンライン教材を活用することも望ましい.
原則,実習室で授業を行うものとする.なお,自身のPC(オフライン)で開発環境を整えることを強く推奨する。
基本的にプログラムは一人で組むが,相当考えても問題が解決しない場合は周囲の学生や教員と相談することが望ましい.当たり前のことだが,そこで教わったことは理解してかつ他の問題にも適用できるようにする努力が必要である.
提出が必要な課題において,不正コピーが見つかった場合は当該課題点を0にするなどのペナルティを与える.
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
| 前期 |
| 1stQ |
| 1週 |
ポインタの基礎(1) |
ポインタについて,実装を通して理解できる.
|
| 2週 |
ポインタの使用方法(1) |
ポインタについて,実装を通して理解できる.
|
| 3週 |
ポインタの使用方法(2) |
ポインタについて,実装を通して理解できる.
|
| 4週 |
配列の引き渡しとポインタ |
ポインタについて,実装を通して理解できる.
|
| 5週 |
2次元配列、ポインタ、ポインタ配列(1) |
ポインタ、2次元配列、ポインタ配列について,実装を通して理解できる.
|
| 6週 |
2次元配列、ポインタ、ポインタ配列(2) |
ポインタ、2次元配列、ポインタ配列について,実装を通して理解できる.
|
| 7週 |
達成度評価試験 |
|
| 8週 |
構造体の基礎(1) |
構造体について,実装を通して理解できる.
|
| 2ndQ |
| 9週 |
構造体の基礎(2) |
構造体について,実装を通して理解できる.
|
| 10週 |
構造体の基礎(3) |
構造体について,実装を通して理解できる.
|
| 11週 |
構造体のサイズ |
構造体について,実装を通して理解できる.
|
| 12週 |
メモリの動的確保(1) |
メモリの動的確保について、実装を通して理解できる.
|
| 13週 |
メモリの動的確保(2) |
メモリの動的確保について、実装を通して理解できる.
|
| 14週 |
演習課題 |
与えられたプログラムの読解,要求仕様を満たすプログラムの作成ができる.
|
| 15週 |
演習課題 |
与えられたプログラムの読解,要求仕様を満たすプログラムの作成ができる.
|
| 16週 |
定期試験 |
|
| 後期 |
| 3rdQ |
| 1週 |
リスト構造(1) |
リスト構造について、実装を通して理解できる.
|
| 2週 |
リスト構造(2) |
リスト構造について、実装を通して理解できる.
|
| 3週 |
Java言語の概要・開発環境 |
Java言語の概要について理解し、Java言語のプログラムをコンパイル・実行できる
|
| 4週 |
クラスとオブジェクト |
Java言語について、基本的な実装ができる.
|
| 5週 |
オブジェクトの生成と参照 |
Java言語について、基本的な実装ができる.
|
| 6週 |
フィールド、メソッド、コンストラクタ |
Java言語について、基本的な実装ができる.
|
| 7週 |
演習課題 |
与えられたプログラムの読解,要求仕様を満たすプログラムの作成ができる.
|
| 8週 |
達成度評価試験 |
|
| 4thQ |
| 9週 |
静的フィールド、静的メソッド |
Java言語について、基本的な実装ができる.
|
| 10週 |
継承 |
Java言語について、基本的な実装ができる.
|
| 11週 |
パッケージ、アクセス修飾子 |
Java言語について、基本的な実装ができる.
|
| 12週 |
オーバーライド、ポリモーフィズム |
Java言語について、基本的な実装ができる.
|
| 13週 |
抽象クラス、抽象メソッド、クラス図 |
Java言語について、基本的な実装ができる.
|
| 14週 |
演習課題 |
与えられたプログラムの読解,要求仕様を満たすプログラムの作成ができる.
|
| 15週 |
演習課題 |
与えられたプログラムの読解,要求仕様を満たすプログラムの作成ができる.
|
| 16週 |
定期試験 |
|
モデルコアカリキュラムの学習内容と到達目標
| 分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
| 専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | プログラミングの基本的な構造を理解し、プログラムを記述できる。 | 4 | |
評価割合
| 定期試験 | 課題 | 合計 |
| 総合評価割合 | 70 | 30 | 100 |
| 基礎的能力 | 35 | 15 | 50 |
| 専門的能力 | 35 | 15 | 50 |
| 分野横断的能力 | 0 | 0 | 0 |