講義コード 9926J
講義名 プログラミングII
(副題)
開講責任部署 全体
講義開講時期 秋学期
講義区分
基準単位数 1.00
時間 0
代表曜日 火曜日
代表時限 4時限
開講学科 情報処理学科
必選別 選択
履修セメスター 第4セメスター
その他 e-Learning履修可
担当教員

職種 氏名 所属
准教授 ◎ 宮川 幹平 (指定なし)

講義概要
 プログラミングIIにおいては、プログラミングIの内容をさらに発展させ、C言語を用いた各種アルゴリズムの実装やデータ構造の実現について学習する。そのため、「プログラミングI」と「アルゴリズム」が受講済みであるか、それらの内容について十分に理解していることが前提として必要になる。
 本講義においては、C言語の文法において最難関といわれるポインタの概念をはじめとして、構造体やファイル入出力などについて理解を深め、それらの知識をもとに、「アルゴリズム」において学習した整列・探索などの基本アルゴリズムのほか、スタック・キュー・ヒープ・リンク・グラフなどのデータ構造について、その実装方法を学習する。さらに応用として、簡単な圧縮アルゴリズムや暗号化アルゴリズムの実習を行うことを予定している。
到達目標
ポインタ、構造体、ファイルポインタの概念を理解し、プログラムに活用することができる。
講義「アルゴリズム」で学習した代表的なアルゴリズムやデータ構造をC言語で実装することができる。
履修のポイント及び留意事項
コンピュータ実習室で行う実習授業であるが、授業時間以外の空き時間も十分に活用して、課題や実習などに取り組む必要がある。またできるだけ出席すること。欠席した分の遅れを取り戻すのは当人の責任である。
 本授業は、情報処理技術者試験「基本情報技術者試験」における、アルゴリズム、プログラム設計、プログラム作成能力に関する内容に関係し、特に午後試験対策として有効である。
 また、e-Learningとして履修する場合は、教員に事前に申し出るとともに、教材の閲覧や課題の提出だけでなく、定期的なメンタリング指導を受けることが求められることに留意すること。授業の一部をe-Learningで履修することも可能であるので、担当教員と相談すること。
講義日程

テーマ内容
第1週講義の方向性について講義全体についてのガイダンス及びびプログラミングIでの学習内容の復習
第2週文字列処理の基礎C言語における文字列の表現と文字列操作の手法について
第3週文字列探索基本的な文字列探索のアルゴリズムを実装する
第4週ポインタの基本概念メモリとポインタの概念について学習する
第5週ポインタ引数の利用ポインタを関数の引数として利用する方法とその利点について
第6週動的な領域確保と開放ポインタを用いて実行時に変数領域を確保・開放する方法について
第7週構造体構造体の基本概念とそのメンバへのアクセスについて
第8週リスト構造構造体とポインタの実例としてリスト構造を取り上げる
第9週木構造・グラフ構造木構造やグラフ構造をポインタ・構造体・配列を用いて表現する方法について
第10週スタックとキューの実装スタック・キューを配列・リスト構造によって実装する
第11週ファイル入出力ファイルポインタを用いた入出力関数の利用について
第12週課題実習(1)整列・圧縮・暗号化などの代表的なアルゴリズムの紹介とその実装
第13週課題実習(2)整列・圧縮・暗号化などの代表的なアルゴリズムの紹介とその実装
第14週課題実習(3)整列・圧縮・暗号化などの代表的なアルゴリズムの紹介とその実装
第15週まとめ上記の内容について理解度を確認する


他の授業科目との関連
プログラミング基礎、プログラミングI、アルゴリズム、コンピュータシステム、システムマネジメント
評価方法
課題提出の状況と提出時に実施して各人の理解度を確かめる口頭試問の結果を中心に評価する(70%)
それ以外に、不定期に実施する小テスト(筆記もしくはWeb上)の得点、および、出席状況・授業態度などを加味する(30%)
教科書
新・明解C言語によるアルゴリズムとデータ構造(ソフトバンククリエイティブ)
ISBN番号
ISBN-13: 978-4797366242
参考図書
大滝みや子先生のかんたんアルゴリズム解法 流れ図と疑似言語 (リックテレコム)
明解C言語入門編(ソフトバンクパブリッシング)
その他、適宜Web教材を提供する
オフィスアワー(授業相談)
いつでも可
学生へのメッセージ
 将来、コンピュータ関連(特に開発分野)への就職を希望する学生および情報系、工学系への編入学を希望する学生には非常に重要な科目である。
 なお、教科書として指定した図書は、第2セメスター「アルゴリズム」にて指定した教科書の改訂版であり、「アルゴリズム」にて既に旧版を購入済みの学生は新たに購入する必要はない。