タイトル
時間割番号: 7021100301
データ構造とアルゴリズム
 
担当教員
飯山 将晃[Masaaki Iiyama]
開講学部等 データサイエンス学部 対象年次   単位数 2
開講時期 秋学期 開講曜時 木3 クラス (必修)
ナンバリング DSIN11003
授業形態 対面授業
授業の目的と概要  
アルゴリズムとデータ構造は、プログラム作成に必要不可欠であり、計算機科学・工学のあらゆる分野で多くのデータ構造とアルゴリズムが考案されている。 本授業では、いくつかの基本的なアルゴリズムとデータ構造、計算の量を客観的に評価する方法を学び、今後いろいろな場面で必要となる、様々なアルゴリズムを理解・開発するための基礎力を養うことを目的とする。

この科目はデータサイエンス基礎科目の一つであり、「データベース」「プログラミング3・4」などのデータエンジニアリングに関連する科目、「AI・機械学習」などのデータサイエンス科目を学ぶうえで基礎的な知識となる。

この授業は数理・データサイエンス・AI教育プログラム(応用基礎レベル)の対象科目です。
 
授業の到達目標  
アルゴリズムとデータ構造の基礎概念を学ぶとともに、Pythonプログラミングを用いて、待ち行列やスタックといったデータ構造の設計方法やソーティング、探索といったアルゴリズムを開発するための基礎力を養う。最終的に、ビッグデータに対応したアルゴリズム設計とデータ解析を行うための論理的・数学的な能力の獲得をめざす。

ディプロマポリシーの「データエンジニアリングとデータアナリシスの専門知識とスキルを修得し、データサイエンスの基礎的力量を備えている。」が当てはまる。
 
授業計画  
No内容
第1回 「アルゴリズム/データ構造とは」
第2回 「データ構造:配列」
第3回 「フローチャート / 配列のデータ操作」
第4回 「クラスとリンクリスト」
第5回 「リンクリストの探索 / 時間計算量」
第6回 「スタックとキュー 」
第7回 「木構造」
第8回 「線形探索・二分探索」
第9回 「二分探索木」
第10回 「ソート(1):クイックソート」
第11回 「ハッシュテーブル」
第12回 「ソート(2):ヒープソート」
第13回 「グラフ探索」
第14回 「最短路探索」
第15回 「さまざまなアルゴリズム」
 
事前学習・事後学習など授業時間外の学習  
各講義に関連する練習問題・課題を各回3~4題提示するので、次の講義時間までに取り組みSULMSを通じて提出する。
課題を進めるために1時間程度、事前学習に1時間程度は最低必要である。
 
成績評価の方法  
各講義で課す練習問題・課題の提出状況を40%、期末試験の点数を60%として評価する。
 
成績評価の基準  
①授業内提出課題、②期末試験、合計点について、
秀: 90点以上、優: 80点以上、良: 70点以上、可:60点以上、不可: 60点未満とする。

①授業内提出課題
全体で課題を課した回数をnとするとき、各課題を提出した場合に40/n点を与える。
全ての課題を提出した場合は40点を与える。

②期末試験
満点を60点として問題ごとに評点する。
 
教科書  
教科書1 ISBN 9784780607031
書名 データ構造とアルゴリズム
著者名 川井明 [ほか] 著,川井, 明,梅津, 高朗,高柳, 昌芳,市川, 治,竹村, 彰通, 出版社 学術図書出版社 出版年 2018
 
参考書  
参考書1 ISBN 9784320120341
書名 データ構造とアルゴリズム
著者名 杉原厚吉著,杉原, 厚吉, 出版社 共立出版 出版年 2001
教材に関する補足情報  
 
参考文献一覧  
 
履修上の注意事項  
講義の一部でPythonによるプログラミングを行います.
Pythonのプログラミング経験がなくても支障が無いよう講義を設計していますが,可能であれば事前に予習しておいてください.
 
キーワード(「実務経験のある教員による授業科目」は「実務経験」で検索)  
 
備考(実務経験の内容と授業との関連を含む)  
 
参照ホームページ  
 
教員からの一言  
 
オフィスアワー  
 
連絡先(研究室他)  
 
連絡先(電話番号)  
 
連絡先(メールアドレス)  
 
ホームページ  
 
備考(教員情報)  
 
↑ページの先頭へ戻る