シラバス詳細

タイトル「2024年度」、カテゴリ「理工学部」

和文・英文ボタンを押すことで、和文↔英文の切り替えができます。

医学部のシラバスはこちらから。

医学系研究科博士課程のシラバスはこちらから。

科目情報

コースナンバリング

2-548i-238

科目名

データ構造とアルゴリズム

開講学期

前期

開講時期

1クォータ

曜日・校時

火4

単位数

2

授業担当教員

上田 俊

講義情報

学士力番号

2. (2) プロフェッショナルとして課題を発見し解決する能力

曜/限追記

火曜日・4限

講義形式

講義・演習

講義概要

【授業概要】
プログラムの作成能力を高めるには,データ構造とそれを操作するアルゴリズムに関する知識が重要である.本講義では,データ構造とアルゴリズムに関する基本知識,およびアルゴリズムの計算量について説明する. 適宜,アルゴリズムを Python を用いて実装できるよう,演習を行う.

【カリキュラムにおけるこの科目の位置づけ】
本講義は「情報基礎概論」および「コンピュータプログラミング」の理解を前提とする.さらに、本講義は「プログラミング概論I・II・III」「プログラミング演習I・II・III」,「ゲーム理論と最適化手法」をはじめとした知能情報システム工学コースおよび情報ネットワークコースで開講している多くの専門科目 (講義,演習,実験) を理解するために必要不可欠な科目である.

開講意図

基本的なデータ構造とアルゴリズムについて,その概念,考え方,効率を理解し,応用する能力を育成する.

到達目標

1. 基本的なデータ構造とアルゴリズム理解し,Python プログラムとして実装できるようになる.
2. 適切なデータ構造とアルゴリズムを選択して,プログラムを作成できるようになる.

授業計画

内容

授業以外の学習
本科目は、単位数×45時間の学修が必要な内容で構成されています。授業として実施する学修の他に、授業の内容を深めるために以下の事前・事後学修が必要です。

1

イントロダクション

Pythonプログラムの復習

2

疑似コード

Pythonプログラムの復習

3

挿入ソート

挿入ソートソートアルゴリズムの実装

4

マージソート

マージソートアルゴリズムの実装

5

関数の増加

実行時間の比較

6

クイックソート

クイックソートアルゴリズムの実装

7

ソートの下界

中間レポートの作成

8

スタックとキュー

スタックとキューの実装

9

動的計画法

ロッド切り出し問題の動的計画アルゴリズムの実装

10

貪欲アルゴリズム

活動選択問題の貪欲アルゴリズムの実装

11

グラフの表現

グラフの隣接リスト表現と隣接行列表現の実装

12

幅優先探索

幅優先探索の実装

13

深さ優先探索

深さ優先探索の実装

14

Dijkstraのアルゴリズム

Dijkstraのアルゴリズムの実装

15

Food-Fulkerson法

Food-Fulkerson法の実装

成績評価の方法と基準

100点満点で評価し,点数の内訳は以下の通り:
・各回におけるプログラミング課題 (計15回) 計30点
・中間レポート 15点
・最終レポート 15点
・チャレンジ課題 40点

開示する成績評価の根拠資料等

各回におけるプログラミング課題の Python コードは出題より2週間後に公開する.
中間・最終レポートの Python コードは出題より2週間後に公開する.各模範レポートは出題より4週間後に公開する.
チャレンジ課題の解答は講義中には開示しない.

開示方法

講義資料とともに,講義Webページで公開する.

教科書

資料名

著者名

発行所名・発行者名

出版年

備考(巻冊:上下等)

ISBN

Pythonで体験してわかるアルゴリズムとデータ構造

西澤弘毅, 森田光著

近代科学社

2018

9784764905702

参考図書

資料名

著者名

発行所名・発行者名

出版年

備考(巻冊:上下等)

ISBN

アルゴリズムイントロダクション

第3版, 総合版

T. コルメン [ほか] 共著 ; 浅野哲夫 [ほか] 共訳

近代科学社

2013

9784764904088

オフィスアワー

オフィスアワー: 水曜2限
また水曜4.5限にAV講義室に常駐する.

アクティブラーニング導入状況

アクティブラーニング導入状況

カテゴリー4

カテゴリー3

カテゴリー2

カテゴリー1

カテゴリー0

学生が自ら主体となって、学習の方向性を定め、問題解決に導くための時間です。PROBLEM BASED LEARNING

グループや個人で行った能動的学習の成果を、教室内外で発表し、その評価を受けたり、質問に対応したりすることにより、学修した内容を深化させるための時間です。OUTPUT

学生自らが自由に発言し、グループやペアでの協働活動により課題に取り組み、何らかの帰結に到達するための能動的学習の時間です。INTERACTION

学生からの自由な発言機会はないものの、授業時間中に得られた知識や技能を自ら運用して、問題を解いたり、課題に取り組んだり、授業の振り返りをしたりする能動的学習を行う時間です。ACTION

基本的に学生は着席のまま、講義を聞き、ノートをとり、知識や技能を習得に努める時間です。INPUT

0

0

5

20

75