授業科目名(和文) [Course] |
プログラミング技法 |
授業科目名(英文) [Course] |
Programming Techniques |
学部(研究科) [Faculty] |
情報工学部 |
学科(専攻) [Department] |
情報システム工学科 |
担当教員(○:代表教員) [Principle Instructor(○) and Instructors] |
○小野 孝男 自室番号(2608)、電子メール(onotakao**c.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] |
26 |