プログラミング4

科目基礎情報

学校 松江工業高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 プログラミング4
科目番号 0027 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 電気情報工学科 対象学年 4
開設期 前期 週時間数 2
教科書/教材 適宜,資料を配布する.
担当教員 林田 守広

到達目標

(1) プログラム文法の基礎(クラス,オブジェクト指向)を理解する.
(2) プログラムを読み,その動作を説明できる.
(3) 基本的なプログラムを作成できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1プログラム文法の基礎(クラス,オブジェクト指向)を的確に理解している.プログラム文法の基礎(クラス,オブジェクト指向)を理解している.プログラム文法の基礎(クラス,オブジェクト指向)を理解していない.
評価項目2プログラムを読み,その動作を的確に説明できる.プログラムを読み,その動作を説明できる.プログラムを読み,その動作を説明できない.
評価項目3基本的なプログラムを的確に作成できる.基本的なプログラムを作成できる.基本的なプログラムを作成できない.

学科の到達目標項目との関係

学習・教育到達度目標 3 説明 閉じる

教育方法等

概要:
情報化社会のなかでスマートフォンを始めとする様々な機器にソフトウェアが組み込まれており,現代を生きる人間にとって情報処理システムは無くてはならないものとなっている.本授業の大きな目標はそのような機器のなかでソフトウェアがどのように動作しているか理解できるようになること,および,自分自身で設定した仕様に基づいてソフトウェア開発ができるようになることである.そのために本授業ではC++言語を通してオブジェクト指向プログラミングの基本概念,および応用としてデータ構造とアルゴリズムの基礎を学ぶ.
授業の進め方・方法:
・ (1)~(3)の目標それぞれについて定期試験および課題演習にて評価する.
・ 60点以上(100点満点)を合格とする.不合格となった場合,中間・期末試験をそれぞれ30点以上取得し,最後の授業までに課題が全て提出されている者に限り再評価試験を受験できるものとする.追認試験は実施しない.
・ 課題演習等(30%):レポートまたはプログラムの提出
・ 定期試験(70%):中間試験(35%),期末試験(35%)
注意点:
演習を数多くこなすことによってプログラムの動作を理解し慣れていくため,自分自身で考えながらプログラムを記述していくこと.他の人と話し合ってもよいが,最後は自分で判断して記述すること.質問があれば330教員室に来てください.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラミング1,2,3の復習 プログラミング1,2,3で学習した内容の確認を行う.
2週 標準入出力と文字列 C++での標準入出力と文字列の扱い方を学ぶ.
3週 関数の多重定義と関数テンプレート 関数の多重定義(オーバーロード)と関数テンプレートを理解する.
4週 C++言語の諸機能 new/delete 演算子,bool 型,デフォルト引数,名前空間,型推論,参照渡し,範囲for文を理解する.
5週 オブジェクト指向とクラス(1) オブジェクト指向の基本概念とクラスの宣言,オブジェクト生成を理解する.
6週 オブジェクト指向とクラス(2) メンバへのアクセス制限,カプセル化,コンストラクタを理解する.
7週 オブジェクト指向とクラス(3) 演算子の多重定義を理解する.ファイル入出力の扱い方を学ぶ.
8週 中間演習 第7回までの内容について演習を行う.
2ndQ
9週 中間試験
10週 クラステンプレートと動的配列 クラステンプレートおよび動的配列を理解し,std::vector の使い方を学ぶ.
11週 連結リストとハッシュ 連結リストとハッシュを理解し,std::list,std::unordered_set の使い方を学ぶ.
12週 スタックとキュー スタックとキューを理解し,std::stack,std::queue の使い方を学ぶ.
13週 ソート 様々なソートのアルゴリズムを理解する.
14週 期末演習 第13回までの内容について演習を行う.
15週 期末試験
16週 総括 本授業で学習したことをまとめ,定着させる.

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
主要な言語処理プロセッサの種類と特徴を説明できる。3
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3
プログラミング言語は計算モデルによって分類されることを説明できる。3
主要な計算モデルを説明できる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3

評価割合

中間試験期末試験課題演習等合計
総合評価割合353530100
基礎的能力0000
専門的能力353530100
分野横断的能力0000