授業科目名(和文)
[Course]
プログラミング技法
授業科目名(英文)
[Course]
Programming Techniques
学部(研究科)
[Faculty]
情報工学部
学科(専攻)
[Department]
情報システム工学科
担当教員(○:代表教員)
[Principle Instructor(○)
and Instructors]
○石井 裕  自室番号(2404)、電子メール(ishii**cse.oka-pu.ac.jp)
※利用の際は,** を @に置き換えてください
単位数
[Point(Credit)]
2単位
対象学生
[Eligible students]
2年次生
授業概略と目標
[Course description and Objects]
C言語については既に「プログラミング言語」や各演習等で学んでいるが,より大規模なプログラムを作るためにはより進んだ知識が必要である.そこで,ポインタや構造体,分割コンパイルなど「大きなプログラム」で要求される事項を説明し,また基本的なデータ構造やアルゴリズムを実際にC言語で実装することで理解を深めることを目的とする.
到達目標
[Learning Goal]
1. ポインタや構造体の知識を学び活用できるようにする.
2. 分割コンパイルについて知る.
3. 再帰的な構造体の扱いを学ぶ.
4. 基本的なデータ構造やアルゴリズムの実装方法を学ぶ.
履修上の注意
[Notes]
履修の要件:「プログラミング言語」の内容を十分に理解しておくこと.また,「データ構造とアルゴリズム」は関連する内容を持つため同時に履修してほしい.
授業計画とスケジュール
[Course schedule]
1. C言語の復習
2. メモリモデルとポインタの基礎
3. 配列とポインタとの関係
4. 構造体とポインタ
5. 動的メモリ確保
6. 多次元配列と関数へのポインタ
7. 文字列
8. 分割コンパイル
9. 再帰
10. 連結リスト
11. スタックとキュー
12. 二分探索木
13. ソートアルゴリズム
14. 文字列の探索
15. 動的計画法
成績評価方法と基準
[Grading policy (Evaluation)]
出席状況及びレポートの内容から総合的に評価する.
教科書
[Textbook]
適宜資料を配布するため「教科書」の指定はしないが,特にポインタについては講義資料のみならず
柴田望洋,「詳解C言語 ポインタ完全攻略」,ソフトバンククリエイティブ
など多数の書籍から自分が理解しやすい参考書を探すことも有意義である.
自主学習ガイド及び
キーワード
[Self learning]
プログラミングは実際にプログラムを作成し,その動作を理解することが不可欠である.また本講義の課題を自ら発展させ,自らの目的でプログラムを作成する機会を設けてほしい.
開講年度
[Year of the course]
27