プログラミング演習Ⅱ

科目基礎情報

学校 沼津工業高等専門学校 開講年度 令和06年度 (2024年度)
授業科目 プログラミング演習Ⅱ
科目番号 2024-466 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 制御情報工学科 対象学年 3
開設期 前期 週時間数 4
教科書/教材 教員作成の資料を配布予定
担当教員 鈴木 康人

到達目標

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

ルーブリック

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

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

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

教育方法等

概要:
C++の文法修得とグループによる演習を通じてC++の機能とプログラミング手法を習得する。
授業の進め方・方法:
演習形式とする。毎回、eLearningシステム上で教材を公開しその内容に応じて問題を解いていく(個別演習)。個別演習では理解度を確認するため試験を実施することもある。全課題の解題をもって総合評価の最低点60点とする。
演習の後半では統合開発環境を導入し、グループ別に課題を解く。
注意点:
1.授業計画は学生の理解度に応じて進捗や内容が前後することがあります。
2.評価については、評価割合に従って行います。
3.提出の遅れた課題については最大で60点までの評価とすることがあります。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 オリエンテーション、演習環境設定、版管理システム git 指導書の指示通りsshとgitについての設定を行える、Jenkinsによる自動チェックを実行できる、gitを扱うことができる
2週 C言語命令について、ポインタ変数、デバッガについて、ファイル分割について C++内でC言語命令を使用することができる、ポインタ変数を理解し使用できる、デバッガを使用できる、構造体を使用できる、ソースコードを分割してコンパイルできる
3週 クラス(1) クラスを定義しメンバ変数とメンバ関数を定義することができる、オブジェクト指向プログラミングの考え方を説明できる、UMLを使用してクラス図を表現できる
4週 クラス(2) アクセス指定子を使用することができる、アクセサを定義し使用することができる、インライン展開を使用できる、thisポインターを使用できる
5週 確認課題(1) これまでの学習事項を利用して課題を解決する
6週 クラス(3) has_aの関係を理解することができる、構成と集約の違いを理解し表現できる
7週 クラス(4) is_aの関係を理解することができる、基底クラスと派生クラスを利用できる
8週 確認課題(2) これまでの学習事項を利用して課題を解決する
2ndQ
9週 確認課題(2) これまでの学習事項を利用して課題を解決する
10週 グループプログラミングの基礎--makeコマンド、gitによるファイル共有-- makeコマンドを扱える、makefileを書くことができる、gitによるファイル共有を行うことができる
11週 グループ課題 グループ課題の進め方について、グループ内での役割を説明できる、設計
12週 グループ課題 グループ課題を進める
13週 グループ課題 グループ課題を進める
14週 グループ課題 グループ課題を進める
15週 グループ課題、授業アンケート 班別演習の発表
16週

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

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

評価割合

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