授業科目名 (英文名) コンピュータ実習2 (Seminar of Com puter Programming 2) 科目区分 対象学生 ※ 単位数 1.00 開講年次・ 学期 2年次・後期 担当教員 上浦 尚武 小橋 昌司 阪井 祐太 所属 工学研究科 オフィスアワー・場所 ※ 連絡先 ※ 講義目的及び到達目標 プログラミング演習およびコンピュータ実習Iにおいて習得したプログラミング技術 の更なる向上を目的として、C言語による実習を行なう。本講ではコンピュータ実習1 で身につけた内容をもとに、より実用性の高いアルゴリズムのプログラミング手法を 学習する。特に、コンピュータ言語自体の学習にとどまらず、アルゴリズムやデータ 構造を理解した上での実装法を習得し、コンピュータを用いた問題解決能力を身につ けることを目的とする。 本講義の到達目標は、1)C言語で作成されたプログラムをアルゴリズムやデータ構造の 観点から十分に理解できること、2)アルゴリズムをC言語により効率的にプログラム実 装できること、3)特定の仕様を満たすプログラムを計算量や使用メモリ量を考慮して効 率的に作成できること、である。 講義内容・授業計画 講義内容 プログラミング演習およびコンピュータ実習I、プログラミング論ⅠおよびⅡで習得 した知識に基づき、C言語によるプログラム作成実習を行う。本講ではコンピュータ実 習Iで取り扱った内容を基礎とし、アルゴリズムやデータ構造の観点から効率のよい プログラミング手法の習得を、講義「データ構造とアルゴリズム論」と連携して行う 。 そのため、以下の授業計画に沿って基本データ構造、基本概念、データ探索、ソート アルゴリズム、分割統治法、グリーディ法などの様々なアルゴリズム設計、グラフア ルゴリズム、多項式計算、文字列照合などのプログラミング作成を行う。 授業計画 1.アルゴリズムの基礎 2.基本データ構造 3.木、再帰などの基本概念 4.データ探索 5.ソートアルゴリズム1(挿入ソート、ヒープソート) 6.ソートアルゴリズム2(クイックソート、ソート性能比較) 7.アルゴリズム設計1(分割統治法) 8.第1回学習到達度確認演習 9.アルゴリズム設計2(グリーディ法、動的計画法) 10.アルゴリズム設計3(バックトラック法、分枝限定法) 11.グラフアルゴリズム 12.多項式と行列 13.文字列照合アルゴリズム 14.P-, NP-, NP-完全問題について 15.第2回学習到達度確認演習 テキスト 藤原暁宏 アルゴリズムとデータ構造、森北出版株式会社(生協で購入する) 参考文献 ヘルベルト・シュルト著、トップスタジオ訳、柏原正三監修、独習C第4版、翔泳社( 生協にて販売予定。姫路書写学術情報館にあり) 成績評価の基準・方法 講義目的・到達目標に記載する事項について十分習得した者に単位を授与する。同事 項に関する到達度に応じてSからCまで成績を与える。 学習到達度を評価するため,第1回学習到達度確認演習,第2回学習到達度確認演習を 行う。第1回演習35%、第1回演習35%、毎週の各課題に対するレポート30%を基準と して、受講態度(積極的な質問等)を含めて総合的に評価する。 なお、3回以上欠席 した場合は演習受講資格を失うものとする。
履修上の注意・履修要件 プログラミング演習およびコンピュータ実習1、プログラミング論ⅠおよびⅡを修得し ておくことが望ましい。本実習は座学「データ構造とアルゴリズム論」とリンクして 進行する。また、上記授業計画における実習項目は予定であり、履修生の理解度・講 義の進行によっては変更することもあり得る。 <新型コロナウィルス感染症に伴う特例措置に基づく遠隔授業> 当授業は、原則全ての授業を対面で実施する予定ですが、履修者人数によっては、新 型コロナウィルス感染症対策として、履修者を複数の教室に分けて教室間をオンライ ンで繋ぐ方法や、対面授業と自宅でのオンライン授業を隔週実施する方法とする場合 があり、自宅等でオンライン授業の受講を視聴できる通信環境(PC・タブレット等の端 末やWi-Fi環境)が必要となる場合があります。最終的な授業方法は履修登録後に決定・ 連絡します。 実践的教育 該当しない 備考 ・授業欠席の際には、氏名、日付が分かる以下の何れかの書類を提出のこと「診断書 (コ ピー可 )、病院の領収書」確認後、返却する。