シラバス参照

授業情報/Course information

科目名/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 [期末試験]
理解度を確認する。
なし。 なし。
授業評価詳細情報
到達目標及び観点/Learning Goal and Specific Behavioral Viewpoints
No. 到達目標
/Learning Goal
知識?理解
/Knowledge & Undestanding
技能?表現
/Skills & Expressions
思考?判断
/Thoughts & Decisions
伝達?コミュニケーション
/Communication
協働
/Cooperative Attitude
1 ポインタや構造体を活用した簡単なプログラムを作成することができる(D)
2 オブジェクト指向プログラミングの設計目的を理解する(D)
3 オブジェクト指向プログラミングの設計のためのC++の作成方法を身に着ける(D)
4 オブジェクト指向プログラミングを生かしたプログラムに挑戦できるための基礎を習得する(D)
成績評価方法と基準/Evaluation of Achievement
※出席は2/3以上で評価対象となります。
No. 到達目標
/Learning Goal
定期試験
/Exam.
レポート
1 ポインタや構造体を活用した簡単なプログラムを作成することができる(D)
2 オブジェクト指向プログラミングの設計目的を理解する(D)
3 オブジェクト指向プログラミングの設計のためのC++の作成方法を身に着ける(D)
4 オブジェクト指向プログラミングを生かしたプログラムに挑戦できるための基礎を習得する(D)
評価割合(%)
/Allocation of Marks
60 40

科目一覧へ戻る