プログラミング演習Ⅱ

科目基礎情報

学校 沼津工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング演習Ⅱ
科目番号 2022-509 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 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.授業計画は学生の理解度に応じて進捗や内容が前後することがあります。
2.評価については、評価割合に従って行います。
3.提出の遅れた課題については最大で60点までの評価とすることがあります。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 オリエンテーション、演習環境設定、版管理システム git 指導書の指示通りsshとgitについての設定を行える、Jenkinsによる自動チェックを実行できる、gitを扱うことができる
2週 C言語とC++の関係 C++言語内でC言語の命令を使うことができる
3週 クラス(1) クラス定義の書式を理解できる、privateとpublicの違いを理解できる、クラスのフィールド変数とフィールド関数を扱うことができる
4週 クラス(2) コンストラクタとデストラクタを使うことができる、thisポインターを使うことができる、コピーコンストラクタを使うことができる
5週 確認課題(1) これまでの学習内容を使用して指定されたソースコードを書くことができる
6週 クラス(3) 複数のクラスが関わるコードを書くことができる、has-a関係にあるクラスを扱える
7週 クラス(4) 複数のクラスが関わるコードを書くことができる、継承 is-a関係にあるクラスを扱える
8週 ポインター、STL makeツールを扱える、C++におけるポインターを扱う際 newとdeleteを使うことを理解し扱うことができる、STLを扱うことができる
2ndQ
9週 ポインターとスライシング、ファイル入出力 スライシングについて発生しないようにコードを書くことができる、ファイル入出力が行える
10週 統合開発環境 eclipse、版環理システム git 統合開発環境 eclipseを扱うことができる、gitにより自身のソースコードの版を管理することが出来る
11週 確認課題(2) これまでの学習内容を使用して指定されたソースコードを書くことができる
12週 グループ別課題(1) 班別演習、設計、担当決定、カンバンシステムの紹介
13週 グループ別課題(2) アジャイル開発手法による開発
14週 グループ別課題(3) アジャイル開発手法による開発
15週 グループ別課題(4) 班別演習の発表
16週

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

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

評価割合

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