![]() ![]() |
科目名/Course: プログラミング言語Ⅱ/Programming Language II | |
科目一覧へ戻る | 2025/03/25 現在 |
科目名(和文) /Course |
プログラミング言語Ⅱ |
---|---|
科目名(英文) /Course |
Programming Language II |
時間割コード /Registration Code |
24270601 |
学部(研究科) /Faculty |
情報工学部 |
学科(専攻) /Department |
人間情報工学科/スポーツシステム工学科 |
担当教員(○:代表教員)
/Principle Instructor (○) and Instructors |
○閔 庚甫 |
オフィスアワー /Office Hour |
|
開講年度 /Year of the Course |
2025年度 |
開講期間 /Term |
後期 |
対象学生 /Eligible Students |
1年,2年,3年,4年 |
単位数 /Credits |
2.0 |
更新日 /Date of renewal |
2025/02/20 |
---|---|
使用言語 /Language of Instruction |
日本語 |
オムニバス /Omnibus |
該当なし |
授業概略と目的 /Cource Description and Objectives |
C言語については既に「プログラミング言語I」や各演習等で学んでいるが、規模の大きいプログラムを作るために、ポインタや構造体など「大きなプログラム」で要求される事項を説明する。また、より複雑で大規模なプログラミングに対応するために、C言語のような構造化言語からオブジェクト指向のプログラミング言語へのニーズが高まっていることを受け、C++のプログラミングについて学び、柔軟性に富んだ大規模プログラミングの基礎を身につける。 |
履修に必要な知識?能力?キーワード /Prerequisites and Keywords |
「プログラミング言語I」に関連する知識 キーワード:ポインタ、構造体、オブジェクト指向プログラミング、クラス |
履修上の注意 /Notes |
「プログラミング言語I」の内容を十分に理解しておくこと。 |
教科書 /Textbook(s) |
特になし |
参考文献等 /References |
柴田望洋 「詳解C言語 ポインタ完全攻略」 ソフトバンククリエイティブ ハーバード?シルト「独習C++」トップスタジオ 翔泳社 |
自主学習ガイド /Expected Study Guide outside Coursework/Self-Directed Learning Other Than Coursework |
プログラム言語を学ぶには「人の話を聞く」だけでは不十分であり、使用するプログラミング言語はどのようなものなのか、その設計目的を理解し、実際のプログラミングに適用できるスキルや応用力を身につけてほしい。そのためには、授業にて学んだ知識を生かし、自らの目的でプログラムを作成することでプログラミング能力を練磨することが必要である。 |
資格等に関する事項 /Attention Relating to Professional License |
該当なし |
アクティブラーニングに関する事項 /Attention Relating to Active Learning |
課題(宿題等)によるアクティブラーニングを採用する。 |
実務経験に関する事項 /Attention Relating to Operational Experiences |
該当なし |
備考 /Notes |
No. | 単元(授業回数) /Unit (Lesson Number) |
単元タイトルと概要 /Unit Title and Unit Description |
時間外学習 /Preparation and Review |
配付資料 /Handouts |
---|---|---|---|---|
1 | 1 | [メモリモデルとポインタの基礎] C言語が想定するメモリ構造を示し,それを用いて基本的なポインタ操作を学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
2 | 2 | [ポインタの型,演算] ポインタの型宣言及びポインタ変数に対する演算を理解する。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
3 | 3 | [配列とポインタとの関係] C言語における配列とポインタとの関係及び文字列とポインタとの関係を理解する。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
4 | 4 | [構造体] 構造体の定義及び利用方法を学び,互いに関連のある複数のデータを一体として扱う方法を理解する。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
5 | 5 | [動的メモリ確保] 動的メモリ確保により「必要なときに必要なだけ」メモリが利用可能であることを知るとともに実際に動的メモリ確保を行う際の注意点を学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
6 | 6 | [C++概要] オブジェクト指向言語としてC++の設計目的や機能の概要について学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
7 | 7 | [クラス概要] クラスとオブジェクトについて学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
8 | 8 | [クラス詳細] クラスについてより詳細に学ぶ。オブジェクトの割り当て方法、関数におけるオブジェクトの入出力の方法、フレンド関数について学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
9 | 9 | [配列とポイント] オブジェクト配列やポインタ、参照機能について学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
10 | 10 | [関数のオーバーロード] コンストラクタ関数オーバーロードやコピーコンストラクタ関数について学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
11 | 11 | [演算子のオーバーロード] 演算子のオーバーロードについて学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
12 | 12 | [継承] 継承は、C++のオブジェクト指向プログラミングにおいて大変重要な機能であり、次回の授業の内容である仮想関数のポリモーフィズムをサポートする上でその概念を理解し、関連するプログラミング方法について学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
13 | 13 | [仮想関数と汎用関数] C++の柔軟性と拡張性を支えるポリモーフィズムを実現した仮想関数と入力のデータの型への汎用性を強化した汎用関数について学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
14 | 14 | [C++の入出力システム] 書式設定された入出力、入出力マニピュレータ、入出力挿入演算子とその独自設定等、C++の入出力システムについて学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
15 | 15 | [名前空間、変換関数、その他の機能] C++における名前空間、変換関数、static およびconstクラスメンバ、その他の特別な機能について学ぶ。 |
参考書やネット情報等を活用し、授業の内容についての理解を深める。 | 必要に応じて配布する。 |
16 | 16 | [期末試験] 理解度を確認する。 |
なし。 | なし。 |
No. |
到達目標 /Learning Goal |
知識?理解 /Knowledge & Undestanding |
技能?表現 /Skills & Expressions |
思考?判断 /Thoughts & Decisions |
伝達?コミュニケーション /Communication |
協働 /Cooperative Attitude |
||
---|---|---|---|---|---|---|---|---|
1 | ポインタや構造体を活用した簡単なプログラムを作成することができる(D) | ○ | ○ | ○ | ||||
2 | オブジェクト指向プログラミングの設計目的を理解する(D) | ○ | ○ | |||||
3 | オブジェクト指向プログラミングの設計のためのC++の作成方法を身に着ける(D) | ○ | ○ | ○ | ||||
4 | オブジェクト指向プログラミングを生かしたプログラムに挑戦できるための基礎を習得する(D) | ○ | ○ | ○ |
No. |
到達目標 /Learning Goal |
定期試験 /Exam. |
レポート | ||||
---|---|---|---|---|---|---|---|
1 | ポインタや構造体を活用した簡単なプログラムを作成することができる(D) | ○ | ○ | ||||
2 | オブジェクト指向プログラミングの設計目的を理解する(D) | ○ | ○ | ||||
3 | オブジェクト指向プログラミングの設計のためのC++の作成方法を身に着ける(D) | ○ | ○ | ||||
4 | オブジェクト指向プログラミングを生かしたプログラムに挑戦できるための基礎を習得する(D) | ○ | ○ | ||||
評価割合(%) /Allocation of Marks |
60 | 40 |