学部・大学院区分
Undergraduate / Graduate
情報学部
時間割コード
Registration Code
1000195
科目区分
Course Category
専門基礎科目(コンピュータ科学科 対象)
科目名 【日本語】
Course Title
アルゴリズム1
科目名 【英語】
Course Title
Algorithm 1
コースナンバリングコード
Course Numbering Code
SIS-01-2010-J
担当教員 【日本語】
Instructor
西田 直樹 ○
担当教員 【英語】
Instructor
NISHIDA Naoki ○
単位数
Credits
1
開講期・開講時間帯
Term / Day / Period
秋1期 火曜日 3時限
Fall1 Tue 3
対象学年
Year
2年
2
授業形態
Course style
講義
Lecture
開講系(学部)・開講専攻(大学院)
Subject
共通
必修・選択
Required / Selected
CS必修


授業の目的 【日本語】
Goals of the Course(JPN)
計算モデルと計算量,基本データ構造,整列,探索などの基本となるアルゴリズムについて講述する。
情報関連の技術者・研究者として知っておくべき基礎的なアルゴリズムとデータ構造,および実際のプログラムとしての実現方法を学ぶ。具体的には次の事項を達成することを目標とする。
1. 計算量の概念を理解する。
2. 基本データ構造を用いたアルゴリズムを設計できる。
3. 整列,探索の基本アルゴリズムを理解し,実現できる。
4. アルゴリズム設計の基本パラダイムを理解する。
授業の目的 【英語】
Goals of the Course
Throughout lectures on the fundamentals of algorithms such as computation models, complexity, basic data structures, sorting, and searching. we learn not only basic algorithms and data structures that technicians and researchers of informatics should be familiar with, but also how to implement algorithms as programs. We aim at acquiring the following topics:
1. notion of complexity
2. how to design algorithms using basic data structures
3. basic algorithms for sorting and searching
4. basic paradigms for algorithm design
到達目標 【日本語】
Objectives of the Course(JPN)
アルゴリズムを理解するために,計算量の概念,基本データ構造とその基本操作,整列,探索,グラフの基本アルゴリズムについて学習する。この講義によりアルゴリズム設計の基本パラダイムを理解し,情報関連の技術者・研究者として知っておくべき基礎的なアルゴリズムとデータ構造,および実際のプログラムとしての実現方法を学ぶ。
到達目標 【英語】
Objectives of the Course
授業の内容や構成
Course Content / Plan
アルゴリズムの基本概念,計算量の概念,グラフ・木の定義と基本操作,リストやヒープの基本データ構造およびその基本操作,ハッシュ処理を紹介する。さらに,木やグラフの探索,挿入ソートなどの古典的なソートアルゴリズムとその計算量について講じる。

1. アルゴリズムの基本概念
2. 計算量
3. グラフ・木
4. リスト・ヒープ・ハッシュ処理
5. 木の探索
6. グラフの探索
7. 整列
8. まとめと評価

毎授業後に宿題を課し,次回時にレポートとして提出する。
履修条件・関連する科目
Course Prerequisites and Related Courses
プログラミング1,2を受講していることが望ましい。
成績評価の方法と基準
Course Evaluation Method and Criteria
講義中に与える演習課題,期末試験の結果を総合的に判断して,合計100点満点で60点以上を合格とする。アルゴリズムに関する基本的な概念や用語、計算量,基本データ構造を理解し,整列アルゴリズムについて計算量の議論を理解できる知識を身に付いていることを合格の基準とする。
教科書・参考書
Textbook/Reference book
(教科書)平田富夫,アルゴリズム設計とデータ構造,サイエンス社,2015
(参考文献)平田富夫,Cによるアルゴリズムとデータ構造,科学技術出版,2002。他,必要に応じて指定する。
(履修条件等)プログラミング1,2の単位を取得済みであることが望ましい。
課外学習等(授業時間外学習の指示)
Study Load(Self-directed Learning Outside Course Hours)
講義において説明した理論を理解するために課題を与える。
授業開講形態等
Lecture format, etc.
対面授業を実施し,必要に応じてオンデマンドで視聴可能な講義ビデオを提供する。
遠隔授業(オンデマンド型)で行う場合の追加措置
Additional measures for remote class (on-demand class)
リアルタイムでの遠隔授業を実施するとともに,オンデマンドで視聴可能な講義ビデオを事前に提供する。