シラバス参照

授業情報/Class Information

科目一覧へ戻る 2024/03/27 現在

基本情報/Basic Information

遠隔授業(授業回数全体の半分以上)の場合は、科目名の先頭に◆が付加されています(2023年度以降)
開講科目名
/Course
データ構造とアルゴリズム/Data Structures and Algorithms
時間割コード
/Course Code
S1405850_S1
開講所属
/Course Offered by
システム工学部/Faculty of Systems Engineering
ターム・学期
/Term・Semester
2024年度/Academic Year  第1クォーター/1Q
曜限
/Day, Period
火/Tue 1
開講区分
/Semester offered
前期/the former term
単位数
/Credits
2.0
学年
/Year
2,3,4
主担当教員
/Main Instructor
和田 俊和/Toshikazu Wada
科目区分
/Course Group
_ 
授業形態
/Lecture Form
講義
教室
/Classroom
北1号館A104/北1号館A104
開講形態
/Course Format
ディプロマポリシー情報
/Diploma Policy

担当教員情報/Instructor Information

教員名
/Instructor
教員所属名
/Affiliation
和田 俊和/Toshikazu Wada システム工学部(教員)
菅間 幸司 システム工学部(教員)
授業の概要・ねらい
/Course Aims
コンピュータの普及により,専門教育を受けていない者がアプリケーションプログラムを使うことは普通の事となり,プログラミングをすることさえ特別な事ではなくなっている.このような時代にあって,より専門的なプログラミング技法を習得することは,情報工学を学ぶ者にとって基本的専門性を身に付けることを意味している.
本講義では,プログラムの表層構造ではなく,その本質的構造(アルゴリズム)と,アルゴリズムによって操作する対象が持つべき構造(データ構造)を設計する方法について学ぶ.これらを通じて,一貫性のあるプログラムを作成する能力,他者の書いたプログラムを読解する能力,プログラムの実行過程をシミュレートする能力を涵養する.
この講義は,コンピュータを用いた情報処理の基礎と応用技術を習得するためのものであり,特に,高度な情報処理の基礎として,データ構造とアルゴリズムについて理解することを目標としている.
到達目標
/Course Objectives
各種データ構造とその特性の理解 ,および各種アルゴリズムとその特性の理解が行えることを最低限度の到達目標とし,このレベルに達した者を合格とする.さらに具体的問題に応じてデータ構造およびアルゴリズムの使い分けが適切に行えることを次の到達目標に設定し,このレベルに達した学生を優と評価する.
成績評価の方法・基準
/Grading Policies/Criteria
期末試験による.4回までの欠席は,成績には影響しない.但し,5回以上講義を欠席した者は期末試験の受験資格を失う.講義中に課された出席確認課題の期限内の提出により出席を確認する.未提出の場合はカードによる出席がある場合でも欠席と見なす.
教科書
/Textbook
資料配布による
参考書・参考文献
/Reference Book
西原清一(著)「Cで学ぶデータ構造とアルゴリズム」オーム社,ISBN 9784501523800
原 隆浩 (著), 水田 智史 (著), 大川 剛直 (著), 西尾 章治郎 (監修) 「アルゴリズムとデータ構造 」共立出版 ISBN: 978-4-320-12310-6
平田富夫(著)「アルゴリズムとデータ構造(第3版)」森北出版,ISBN 978-4-627-72653-6
履修上の注意 ・メッセージ
/Notice for Students
プログラミングを行う課題のためには,Windows PCにWSL2を用いたubuntuの環境,MACの場合はHome Brewの環境が構築されていることが必要.インストールができてない人にはやり方を指導する.
履修する上で必要な事項
/Prerequisite
この講義は,出席確認課題提出のため,充電済みPCを持参すること.
履修を推奨する関連科目
/Related Courses
情報応用1A, 情報応用1B
授業時間外学修についての指示
/Instructions for studying outside class hours
本授業の授業計画に沿って、準備学習1時間と復習1時間を毎週行ってください。さらに、授業内容に関連する課題に関する調査・考察を含めて、毎回の授業ごとに自主的学修を求めます。特に配布したCプログラムをコンパイル,実行し,動作を理解した上で授業に参加すること。
その他連絡事項
/Other messages
この科目は、SIの「アルゴリズム設計A/B」と内容の重なりがありますので、重複履修はできません.
授業理解を深める方法
/How to deepen your understanding of classes
講義時間内に毎回演習問題を課し,翌回に正答の説明を行う.
【「アクティブ・ラーニング」実施要項 ⑪】
オフィスアワー
/Office Hours
月曜3,4コマ, A棟A513(和田),A515(菅間)
科目ナンバリング
/Course Numbering
S60012J11100E232,S60012J11100F232,S60012J11100S211,S60012J11100T212,S60012J11100U210
No. 回(日時)
/Time (date and time)
主題と位置付け(担当)
/Subjects and instructor's position
学習方法と内容
/Methods and contents
備考
/Notes
1 1(4/16) アルゴリズムとその解析
2 2(4/23) 基本的なデータ構造:スタックとキューとリスト
3 3(4/30) ソーティング:簡単なソーティングアルゴリズム(選択法,挿入法,バブルソート)
4 4(5/14) ソーティング:ヒープソート,シェル法
5 5(5/21) ソーティング:高速なソーティングアルゴリズム(マージソート,クイックソート)
6 6(5/28) 集合と探索:2分探索と木,2分探索木
7 7(6/4) 集合と探索:平衡木(AVL木)
8 8(6/11) 集合と探索:ハッシュ法,開番地法と連鎖法
9 9(6/18) 文字列パターン照合:KMP法,BM法
10 10(6/25) グラフ構造
11 11(7/2) グラフの探索
12 12(7/9) 組み合わせ最適化問題の解法:動的計画法
13 13(7/16) 組み合わせ最適化問題の解法:分枝限定法
14 14(7/23) 演習問題
15 15(7/30) まとめと試験

科目一覧へ戻る