プログラミング演習Ⅱ

科目基礎情報

学校 沼津工業高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 プログラミング演習Ⅱ
科目番号 2018-475 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 制御情報工学科 対象学年 3
開設期 後期 週時間数 4
教科書/教材 高橋、安藤著、改定新版C++ポケットリファレンス、技術評論社
担当教員 鈴木 康人

到達目標

C++言語によるプログラムをオブジェクト指向プログラミングの観点から作成できることを到達目標とする。具体的には以下の通り。
1.ファイル分割をコンパイルも含めて適切に行うことが出来る
2.オブジェクトやクラスに対して適切な名称をつけることが出来る
3.インデントを正しく行える
4.クラスをきちんと宣言することが出来、publicやprivateを適切に使い分けられる
5.アクセサを正しく定義し利用できる
6.コンストラクタやデストラクタを利用できる
7.参照を理解し利用できる
8.クラス継承を行うことが出来る、protectedを利用できる、virtual宣言を行うことが出来る
9.コピーコンストラクタを正しく利用できる
10.STLを利用することができる
11.単体テストを利用できる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1クラスをきちんと宣言でき,publicとprivateを使い分けられるクラスを正しく宣言できるクラスを正しく宣言できない
評価項目2コンストラクタやデストラクタを利用できるコンストラクタかデストラクタを利用できるコンストラクタもデストラクタも利用できない
評価項目3STLを利用することが出来るSTLを利用することが出来ない

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

【本校学習・教育目標(本科のみ)】 3 説明 閉じる

教育方法等

概要:
C++によるオブジェクト指向プログラミングとグループによるプログラミングを通じてC++の機能と文法を習得する。
授業の進め方・方法:
演習形式とする。毎回、eLearningシステム上で教材を公開しその内容に応じて問題を解いていく。最後の方では統合開発環境を導入し、グループ別に課題を実施する。バーンダウンチャートにより進捗を把握し版管理システムによって開発を統合する。
注意点:
1.試験や課題レポート等は、JABEE 、大学評価・学位授与機構、文部科学省の教育実施検査に使用することがあります。
2.授業参観される教員は当該授業が行われる少なくとも1週間前に教科目担当教員へ連絡してください。
3.授業計画は学生の理解度に応じて進捗が前後することがあります。

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 C言語の復習 ファイル分割を適切に行うことが出来る、構造体を利用したプログラミングが出来る、単体テストを利用できる
2週 C++の導入、クラスの設計と宣言、情報隠蔽 C++のヘッダファイルでクラスを定義できる、UMLを使用してクラスを表現できる、privateやpublicを適切に利用できる
3週 コンストラクタとデストラクタ、関数のオーバーロード コンストラクタとデストラクタを適切に利用できる、関数のオーバーロードを理解できる、アクセサを適切に利用できる
4週 確認課題(1) これまでの内容を利用したソースコードを開発できる
5週 ポインタ変数とその利用の仕方 オブジェクト指向プログラミングにおいてポインタ変数をコンストラクタとデストラクタ内で使用できる
6週 関連 クラスを他のクラス内のポインタメンバとして利用できる、vectorテンプレートを利用できる
7週 継承 クラスを他のクラスに拡張できる
8週 多態性 virtual演算子を利用できる、virtualデストラクタを定義できる
4thQ
9週 単体テスト 単体テストを定義できる
10週 統合開発環境 統合開発環境を利用できる
11週 確認課題(2) これまでの内容を利用したソースコードを開発できる
12週 グループ別課題(1) 設計、担当決定
13週 グループ別課題(2) 開発
14週 グループ別課題(3) 単体テスト、結合テスト
15週 グループ別課題(4)/アンケート 発表
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎工学実験技術(各種測定方法、データ処理、考察方法)工学実験技術(各種測定方法、データ処理、考察方法)実験テーマの目的に沿って実験・測定結果の妥当性など実験データについて論理的な考察ができる。3
実験ノートや実験レポートの記載方法に沿ってレポート作成を実践できる。3
実験データを適切なグラフや図、表など用いて表現できる。3
実験の考察などに必要な文献、参考資料などを収集できる。3
実験・実習を安全性や禁止事項など配慮して実践できる。3
個人・複数名での実験・実習であっても役割を意識して主体的に取り組むことができる。3
共同実験における基本的ルールを把握し、実践できる。3
レポートを期限内に提出できるように計画を立て、それを実践できる。3
情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。4
定数と変数を説明できる。4
整数型、実数型、文字型などのデータ型を説明できる。4
演算子の種類と優先順位を理解し、適用できる。4
算術演算および比較演算のプログラムを作成できる。4
データを入力し、結果を出力するプログラムを作成できる。4
条件判断プログラムを作成できる。4
繰り返し処理プログラムを作成できる。4
一次元配列を使ったプログラムを作成できる。4
情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
変数の概念を説明できる。4
データ型の概念を説明できる。4
制御構造の概念を理解し、条件分岐を記述できる。4
制御構造の概念を理解し、反復処理を記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。4
ソフトウェア与えられたアルゴリズムが問題を解決していく過程を説明できる。4
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3
ソフトウェアを中心としたシステム開発のプロセスを説明できる。3
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。4
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。4
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。4
分野横断的能力汎用的技能汎用的技能汎用的技能グループワーク、ワークショップ等の特定の合意形成の方法を実践できる。3
目的や対象者に応じて適切なツールや手法を用いて正しく情報発信(プレゼンテーション)できる。3
特性要因図、樹形図、ロジックツリーなど課題発見・現状分析のために効果的な図や表を用いることができる。3
どのような過程で結論を導いたか思考の過程を他者に説明できる。3
結論への過程の論理性を言葉、文章、図表などを用いて表現できる。3
態度・志向性(人間力)態度・志向性態度・志向性チームで協調・共同することの意義・効果を認識している。3
チームで協調・共同するために自身の感情をコントロールし、他者の意見を尊重するためのコミュニケーションをとることができる。3
当事者意識をもってチームでの作業・研究を進めることができる。3
チームのメンバーとしての役割を把握した行動ができる。3
リーダーがとるべき行動や役割をあげることができる。3
適切な方向性に沿った協調行動を促すことができる。3
リーダーシップを発揮する(させる)ためには情報収集やチーム内での相談が必要であることを知っている3

評価割合

個別演習班別演習その他合計
総合評価割合70300100
基礎的能力0000
専門的能力70300100
分野横断的能力0000