広島大学シラバス

シラバスTOPへ
English
年度 2018年度 開講部局 総合科学部総合科学科
講義コード ANM04001 科目区分 専門教育科目
授業科目名 プログラム技法
授業科目名
(フリガナ)
プログラムギホウ
英文授業科目名 Programming Techenique
担当教員名 森本 康彦
担当教員名
(フリガナ)
モリモト ヤスヒコ
開講キャンパス 東広島 開設期 2年次生   前期   2ターム
曜日・時限・講義室 (2T) 火5-8:総K314
授業の方法 講義 授業の方法
【詳細情報】
講義形式で行います.
講義では主にパワーポイントのスライドやアニメーションを活用し,
視覚的に理解しやすいように工夫しています.
 
単位 2 週時間   使用言語 J : 日本語
学習の段階 2 : 初級レベル
学問分野(分野) 25 : 理工学
学問分野(分科) 25 : 情報科学
対象学生 学部2年生以上
授業のキーワード アルゴリズム,データ構造,計算量,分割統治法,動的計画法,グラフとネットワーク 
教職専門科目   教科専門科目  
プログラムの中での
この授業科目の位置づけ
自然探究領域(とくに数理情報科学)における基礎知識としてこの領域内の分野を学ぶ上での必須科目と言えます.応用範囲も広く領域外の学生にとっても有益な専門知識です. 
到達度評価
の評価項目
総合科学プログラム
(知識・理解)
・当該の個別学問体系の重要性と特性、基本となる理論的枠組みへの知識・理解
・個別学問体系の密接な相互関係とその重要性を認識するうえでの必要な知識・理解
(能力・技能)
・課題の考察のために必要な理論・方法を特定する能力・技能
(総合的な力)
・柔軟な発想と構想力のもとに、課題を考察するために必要な知識・理解と能力・技能を組合せ、主体的に研究する能力 
授業の目標・概要等 あなたは配られたトランプのカードをどんな手順で並べ替えていますか?問題の算法・解法をアルゴリズムと呼びます.本講義ではコンピュータで実現するのに向き,様々な分野で役に立つ重要な基本アルゴリズムを解説します.計算すべき,解決すべきどのような問題も,本講義で解説するいずれかの基本アルゴリズムで効率的に解ける部分問題を含んでいます.基本アルゴリズムをよく理解し,それをあらゆる問題の解法として適用する能力をつけることで問題処理能力,プログラミング能力は飛躍的に向上するでしょう.それと同時に,あらゆる問題の本質を見抜く能力も身につきます.トランプの並べ替えひとつをとっても効率的なやり方もあれば,非効率なものもあります.日々の何気ない行動もアルゴリズムという視点でながめてみると面白いですよ. 
授業計画 1. オリエンテーション(本講義のハウスルール)
2. 探索法(データの中でほしい物を効率的に見つける方法)
3. アルゴリズムの解析(良い解法とは何か)
4-5. 整列法(並び替えという単純な作業のなかにある奥深い問題)
6. 基本データ構造(問題解決に必要な小道具類とその役割の解説)
7-8. 木構造(問題解法を考えるための代表的な大道具とその使い方)
9-10. 分割統治法(難しい問題を小問題に分けて考える)
11. 再帰呼出し(問題解決手順のスマートな合成法とその意義について)
12-13. 動的計画法(部分問題から徐々に解いてゆく問題解決法)
14-15. グラフ・ネットワークの問題(組み合わせ諸問題をグラフで考える)


中間試験(6月),期末試験により理解度を評価します.


番号は講義の開講順序の目安です.実際の講義はカレンダー(学年歴)や受講者の理解度を考慮して適宜変更しながら進めます.各年度の授業計画の詳細と講義資料はこの講義のホームページ(WebCT)に公開する予定です.
 
教科書・参考書等 教科書は第1回目の講義で指示するが,講義の内容は特定の教科書には深く依存しない.また,講義の中で適宜参考書を提示する.
また,毎回の講義で参考となる資料をプリントとして配布する. 
授業で使用する
メディア・機器等
各回の講義時にプリントを配布します.
また,講義では主にパワーポイントのスライドやアニメーションを活用し,
視覚的に理解しやすいように工夫しています.
 
予習・復習への
アドバイス
予習の目安:
各回の教科書,参考書の関連項目に目を通しておく程度の予習をしておくと良い.
復習の目安:
1-2. 解説する基本データ構造の操作方法を十分に理解すること.身の回りにも似たようなものが結構あることに気づくと思います.
3. 木構造,とくに2分木,平衡2分木はその操作方法も含めよく復習すること.これを有効に使えれば問題解決の効率が飛躍的に向上するでしょう.
4-5. 簡単な具体的問題を再帰呼び出しの振る舞いで実際に解いてみること.
6-7. 時間計算量については,特によく復習すること.日ごろなにげなくやっている行動の計算量についても考えてみると良いでしょう.
8-9. 解説する整列法を実際に紙上であるいはプログラムを作って実行すること.
10.  解説する探索法を実際に紙上であるいはプログラムを作って実行すること.
11-12. 簡単な最適化問題をグラフを使って実際に解いてみること.
13-15. 簡単な最適化問題を使って,分割統治法,動的計画法の振る舞いを模倣して解いてみること.難しい問題も案外簡単に解けることに気づいてください.
 
履修上の注意
受講条件等
特になし. 
成績評価の基準等 「中間・期末試験」80%
「講義の中で出題する発展課題のレポート」20% 
メッセージ 学習の動機付けとして基本情報技術者等の資格の取得も検討してみてください.プログラムの知識がなくても講義内容は十分理解できますが,情報系の演習科目やコンピュータプログラミング等を受講するなど実際にプログラムを書くことによりさらに理解が深まります. 
その他   
すべての授業科目において,授業改善アンケートを実施していますので,回答に協力してください。
回答に対しては教員からコメントを入力しており,今後の改善につなげていきます。 
シラバスTOPへ