2025年度後期C++プログラミング実習4

曜日・時限 金曜日6時限,集中不定期その他 期別 後期 週時間数 2
ナンバリング HT230505
開講学科等 総合情報学部-情報学科
教員名 久松 潤之
久松 潤之
職務履歴

https://research.osakac.ac.jp/index.php?%e4%b9%85%e6%9d%be%e3%80%80%e6%bd%a4%e4%b9%8b

教員情報データベースに遷移します

目的

C++にはStandard Template Library (STL)と呼ばれる強力なライブラリが標準で提供されている。しかし、今日においても尚、実際にC++で書かれたプログラムを見るとイテレータやアルゴリズム、関数オブジェクトなどのSTLの設計方針に対する理解不足等の理由で、文字列や動的配列など一部のライブラリしか利用されていない事例も少なくない。本授業では、STLに関する講義、および演習を通じて今まで敬遠されがちだったライブラリへの理解を深め、プログラムをより簡潔に記述するためにSTLを最大限活用できるようになる事を目的とする。

授業計画

授業回 形式 学修内容 学修課題
1 遠隔CA C++の新しい機能
(参照型、新しいキャスト、new/delete、例外処理、名前空間等)
事前学修 C++の機能についてしらべてくる(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
2 遠隔CA クラス
(コンストラクタ、デストラクタ、アクセス修飾子(public/protected/private)、継承、メンバ関数の多重定義(オーバーロード)、メンバ関数のオーバーライド等)
事前学修 自分で記述したプログラムの中で、クラスを定義しているものを見直してくる(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
3 遠隔CA テンプレートとStandard Template Library (STL)
(STLと呼ばれる所以であるテンプレートの概要、およびSTLの概要を説明する)
事前学修 「テンプレート」と言うキーワードで自分で概要を調査する(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
4 遠隔CA 演習
(クラスとテンプレートを用いたプログラムを作成し、これらへの理解を深める)
事前学修 第3回までに説明したC++の機能について演習で使用できるように復習しておく。(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
5 遠隔CA 文字列
(STLのライブラリの一つである文字列クラスの概要を説明し、代表的な利用機会を紹介する)
事前学修 文字列クラスの中で、自分がよく使用するメンバ関数(メソッド)を確認する。(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
6 遠隔CA ストリーム
(STLで提供されているライブラリの中でfstream, stringstream等のストリームと呼ばれる各種クラスの概要を説明し、代表的な利用機会を紹介する)
事前学修 自分で記述したプログラムの中で、std::cin, std::cout以外のストリームクラスを利用した事例を復習する。(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
7 遠隔CA コンテナ 1
(STLで提供されているコンテナと呼ばれるライブラリの中から vector, dequeue, list, およびそれらの派生クラスの概要を説明し、代表的な利用機会を紹介する)
事前学修 コンテナとは何か調べてくる(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
8 遠隔CA コンテナ 2
(STLで提供されているコンテナと呼ばれるライブラリの中からmap, set, およびそれらの派生クラスの概要を説明し、代表的な利用機会を紹介する)
事前学修 コンテナと呼ばれるライブラリの中で、自分が使用した事のあるクラスを列挙する。(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
9 遠隔CA 演習
(文字列、ストリーム、コンテナを利用したプログラムを作成し、これらへの理解を深める)
事前学修 第8回までに説明したSTLの文字列、ストリーム、コンテナを演習で使用できるように復習しておく(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
10 遠隔CA イテレータとアルゴリズム 1
(イテレータとアルゴリズムの概要、および基本的な使用方法についての説明を行う)
事前学修 STL のアルゴリズムとは何か調べてくる。(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
11 遠隔CA イテレータとアルゴリズム 2
(STLの中でイテレータやアルゴリズムと呼ばれるライブラリには具体的にどのようなものが存在するのかを列挙し、詳細な説明を行う)ログラミングの演習)
事前学修 自分のプログラムの中で、イテレータやアルゴリズムと呼ばれるライブラリを使用したものを復習する(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
12 遠隔CA 関数オブジェクト
(関数オブジェクトの概要について説明し、STLで提供されている関数オブジェクトに関わる各種クラスを紹介する)
事前学修 関数オブジェクトとはなにか調べてくる(2時間)
事後学修 授業時間内に終わらなかった演習に取り組む(3時間)
13 遠隔CA 演習
(イテレータ、アルゴリズム、関数オブジェクトを利用したプログラムを作成し、これらへの理解を深める)
事前学修 第12回までに説明したSTLのイテレータ、アルゴリズム等を演習で使用できるように復習しておく。(2時間)
事後学修 演習で作成したプログラムを完成させ、レポートを作成する。(3時間)

授業形式記号

  • A:一斉授業(通常の講義)
  • B:問題発見・解決学習、プロジェクト学習
  • C:体験、実験、実習、演習など
  • D:調査 分析、解析など
  • E:ものづくり、作品制作
  • F:グループワーク(ディスカッション・ディベートを含む)
  • G:プレゼンテーション
  • H:地域・企業 連携型学習
  • I:その他

到達目標

科目に関連するディプロマポリシー項目
〇2024年度以降の入学生
 下記リンク先のカリキュラム・マップを参照.
 URL: https://www.osakac.ac.jp/about/policy/faculty/isa/cs/

〇2023年度以前の入学生
<修得する資質・能力(ディプロマポリシー)>
- 知識・理解力,応用力【DP-T-1-1】

<JABEE 学習・教育到達目標:D, 習得する資質・能力: 知識・理解: DP-T-1-1> 
(1)STL の文字列、ストリーム、コンテナを理解する。
(2)STL のイテレータとアルゴリズムを理解する。


先修が望まれる科目…C++プログラミング実習1・2・3
関連科目…ソフトウエア設計論、オブジェクト指向設計演習
演習課題はC++プログラミング実習1~3の知識を前提としているので、すべて合格していることが望ましい。

〈評価基準〉
以下の評価項目(a)~(b)の配点に従い100点満点で60点以上を合格とする。
評価項目(対応する授業目標)[配点]…評価内容
(a)文字列、ストリーム、コンテナ(1)[50]…文字列、ストリーム、コンテナを用いたプログラムを作成できる。
(b)イテレータ、アルゴリズム(2)[50]…イテレータ、アルゴリズムを用いたプログラムを作成できる。

評価方法と評価観点

評価方法 配点合計知識・理解力応用力コミュニケーション力態度・志向性創造力 合計
定期試験またはレポート試験 0%
小テスト、小論文 0%
グループワーク 0%
プレゼンテーション 0%
レポート、宿題 100% 80% 20% 100%
授業での姿勢(ノート、質疑など) 0%
作品、パフォーマンス(実技、実演) 0%
その他1(具体的に: 0%
その他2(具体的に: 0%
100% 80% 20% 0% 0% 0% 100%

教科書・参考書

教科書:プリントを配布する

オフィスアワー

金曜日13:55-15:40 11-404号室

その他

授業の欠席回数が4回以上の場合、課されたレポートを全て出していない場合、E評価となる。
作成したプログラムおよびレポートについては、随時講評を行う。

実務経験のある教員による授業科目