シラバス参照

授業情報/Course information

科目一覧へ戻る 2020/10/22 現在

授業基本情報
科目名(和文)
/Course
プログラミング言語Ⅱ
科目名(英文)
/Course
Programming Language II
時間割コード
/Registration Code
22270501
学部(研究科)
/Faculty
情報工学部
学科(専攻)
/Department
情報システム工学科
担当教員(○:代表教員)
/Principle Instructor (○) and Instructors
石井 裕
オフィスアワー
/Office Hour
石井 裕(木曜5限 2404室)
開講年度
/Year of the Course
2020年度
開講期間
/Term
後期
対象学生
/Eligible Students
2年次生(平成27年度以降入学生)
単位数
/Credits
2.0
授業概要情報
更新日
/Date of renewal
2020/03/04
使用言語
/Language of Instruction
日本語
オムニバス
/Omnibus
該当なし
授業概略と目的
/Cource Description and Objectives
C言語については既に「プログラミング言語Ⅰ」や各演習等で学んでいるが,より大規模なプログラムを作るためにはより進んだ知識が必要である.そこで,ポインタや構造体,分割コンパイルなど「大きなプログラム」で要求される事項を説明し,また基本的なデータ構造やアルゴリズムを実際にC言語で実装することで理解を深めることを目的とする.
履修に必要な知識・能力・キーワード
/Prerequisites and Keywords
「プログラミング言語Ⅰ」の内容を十分に理解しておくこと.
履修上の注意
/Notes
「データ構造とアルゴリズム」は関連する内容を持つため履修しておくと理解が深まる.「ソフトウェア演習Ⅱ」の内容と関連させて進める場合がある.
教科書
/Textbook(s)
林 晴比古「新・C言語入門 シニア編」(ソフトバンククリエイティブ)
参考文献等
/References
適宜資料により解説するが,特にポインタについては講義資料のみならず
柴田望洋,「詳解C言語 ポインタ完全攻略」,ソフトバンククリエイティブ
など多数の書籍から自分が理解しやすい参考書を探すことも有意義である.
自主学習ガイド
/Expected Study Guide outside Coursework/Self-Directed Learning Other Than Coursework
プログラミングは実際にプログラムを作成し,その動作を理解することが不可欠である.また本講義の課題を自ら発展させ,自らの目的でプログラムを作成する機会を設けてほしい.
資格等に関する事項
/Attention Relating to Professional License
備考
/Notes
授業計画詳細情報
No. 単元(授業回数)
/Unit (Lesson Number)
単元タイトルと概要
/Unit Title and Unit Description
時間外学習
/Preparation and Review
配付資料
/Handouts
1 1 [C言語の基礎復習]
C言語の利用場面,講義の概説,型宣言や引数など基礎内容の確認
2 2 [メモリとポインタとの関係]
ポインタとメモリアドレスや内容を利用する方法
3 3 [配列とポインタ]
配列とポインタの関係を理解し,添字演算子など活用方法を理解する
4 4 [構造体と入出力]
構造体宣言と利用方法,およびFILE型構造体による入出力を理解する
5 5 [動的メモリ確保]
メモリの動的確保と解放,配列の関数渡しなどについて理解する
6 6 [リスト]
連結リスト構造を実現する構造体定義について理解する
7 7 [再帰木構造]
再帰,二分木により構造体の理解を深める
8 8 [木構造の応用]
2-3-4木,ヒープにより木構造と探索について理解する
9 9 [スタックとキュー]
配列を用いてスタックとキューを理解し,線形データ構造を俯瞰する
10 10 [ソート]
クイックソート,バブルソートなど様々な種類のソートを理解する
11 11 [分割コンパイル]
複数ソースファイルを用いた分割コンパイルを理解する
12 12 [文字列]
文字列の扱いと探索について理解する
13 13 [動的計画法]
再帰と動的計画法を理解し,計算速度の違いを実感する
14 14 [数式処理]
ガウス消去法による連立一次方程式の解法を理解する
15 15 [他言語への展開とまとめ]
C言語と関連の深いアセンブラおよびC++など他言語について概要を理解する
授業評価詳細情報
到達目標及び観点/Learning Goal and Specific Behavioral Viewpoints
No. 到達目標
/Learning Goal
知識・理解
/Knowledge & Undestanding
技能・表現
/Skills & Expressions
思考・判断
/Thoughts & Decisions
伝達・コミュニケーション
/Communication
協働
/Cooperative Attitude
1 ポインタや構造体の知識を学び活用できるようにする
2 分割コンパイルについて知る
3 再帰的な構造体の扱いを学ぶ
4 基本的なデータ構造やアルゴリズムの実装方法を学ぶ
成績評価方法と基準/Evaluation of Achievement
※出席は2/3以上で評価対象となります。
No. 到達目標
/Learning Goal
定期試験
/Exam.
演習課題およびレポート 学習態度
1 ポインタや構造体の知識を学び活用できるようにする
2 分割コンパイルについて知る
3 再帰的な構造体の扱いを学ぶ
4 基本的なデータ構造やアルゴリズムの実装方法を学ぶ
評価割合(%)
/Allocation of Marks
70 30

科目一覧へ戻る