シラバス参照/View Syllabus

授業情報/Class Information

科目一覧へ戻る/Return to the Course List 2022/08/26 現在/As of 2022/08/26

基本情報/Basic Information

開講科目名
/Course
アルゴリズム論a/THEORY OF ALGORITHM(A)
開講所属
/Course Offered by
経済学部経営学科/ECONOMICS MANAGEMENT
ターム・学期
/Term・Semester
2022年度/2022 Academic Year  春学期/SPRING SEMESTER
曜限
/Day, Period
金1/Fri 1
開講区分
/semester offered
春学期/Spring
単位数
/Credits
2.0
学年
/Year
2,3,4
主担当教員
/Main Instructor
木村 昌史

担当教員情報/Instructor Information

教員名
/Instructor
教員所属名
/Affiliation
木村 昌史 経営学科/MANAGEMENT
授業の目的・内容
/Course Objectives
アルゴリズムとは、狭い意味ではコンピュータを用いた問題解決のための処理方法のことであり、目的のプログラミングを行う上での前段階のものである。コンピュータによる処理は、必ずしも人間の思考による処理のプロセスとは同一ではなく、コンピュータ特有に単純化されたものが多い。アルゴリズム論aでは比較的処理方法が確立されているコンピュータ科学の基礎をなしている決定的アルゴリズムについて学ぶ。ここでは「問題解決とは何か」の考え方から始め、結果が予測できる問題についての基本アルゴリズムとその視覚化、図式化を行いつつその方法が理解できるようになる。基本的アルゴリズムは大きな問題を処理する上での要素的方法となり、多くの分野に適用できることになる。なおテーマごとのアルゴリズムの理解を深めるために、受講者には課外でのPCによる自習・演習により各種アルゴリズムの実践を体験できるものとする。

学科専門科目として、情報学におけるハードウェア、ソフトウェア、ネットワークにわたる基幹をなす考え方を理解し、コンピュータを手段とした問題解決を発想できる能力を身につける(DP)。
また教職「情報」取得に必要な教科の指導法を修得するための教職関連科目でもある(AP)。
コンピュータ基礎科目を学んだ後、さらに広く情報学を応用するための基礎となることを目的とする。
授業の形式・方法と履修上の注意
/Teaching method and Attention the course
・講義形式ではあるが、コンピュータ関連の科目であることから受講者には内容の理解を深めるために並行して課外でのPCによる自習・演習を推奨する。
・各回のテーマに関連したサンプルやデモファイルを配布するので学内や自宅で実行できる環境を準備しておくこと。具体的にはExcelとWebの基本操作程度は行えるものと想定している。
・各回の課題の回答例などは次回以降の授業時またはWebにて提示する。

事前・事後学修の内容
/Before After Study
受講者は事前に授業用Webサイト(またはPortaⅡ)に置かれる講義のレジメとともに、WebのソースやExcelファイルによるサンプルやデモを実行してみて各回の授業のテーマや内容を予習する(1時間)。
授業後には同所に置かれるPDF文書の講義資料を入手することにより復習を行い、内容の理解を深めることができる(2時間)。
また定期的にWebに課題が提示されるので指定された期限までに提出のこと。
テキスト1
/Textbooks1
書籍名
/Title
内容が多岐に渡るので特に指定しない。
著者
/Author name
出版社
/Publisher
ISBN
/ISBN
その他(任意)
/other
テキスト2
/Textbooks2
書籍名
/Title
著者
/Author name
出版社
/Publisher
ISBN
/ISBN
その他(任意)
/other
テキスト3
/Textbooks3
書籍名
/Title
著者
/Author name
出版社
/Publisher
ISBN
/ISBN
その他(任意)
/other
参考文献等1
/References1
書籍名/サイト名
/Title
なっとく! アルゴリズム
著者
/Author name
アディティア・Y・バーガバ
出版社/URL
/Publisher
翔泳社
ISBN
/ISBN
978-4-7981-4335-4
その他(任意)
/other
参考文献等2
/References2
書籍名/サイト名
/Title
著者
/Author name
出版社/URL
/Publisher
ISBN
/ISBN
その他(任意)
/other
参考文献等3
/References3
書籍名/サイト名
/Title
著者
/Author name
出版社/URL
/Publisher
ISBN
/ISBN
その他(任意)
/other
評価方法
/Evaluation
試験または前半・後半レポートを60%、各回の確認演習課題への提出分を40%として評価する。
関連科目
/Related Subjects
コンピュータ入門a
コンピュータ入門b
コンピュータ・アーキテクチャ
情報通信ネットワークa
情報通信ネットワークb
情報と職業
備考
/Notes
到達目標
/Learning Goal
コンピュータ科学の基礎をなすアルゴリズムに関する専門知識を習得し、これを駆使して様々な問題を処理できるようにする。

/Time
授業計画(主題の設定)
/Class schedule
授業の内容
/Contents of class
事前・事後学修の内容
/Before After Study
1 コンピュータとアルゴリズムの役割 コンピュータにおけるアルゴリズムとはどのようなものか、またその役割について理解する。
2 ハードウェアとアルゴリズム
CPUとメモリとの関係とコンピュータの演算の方法をアルゴリズムの観点から理解する。
3 論理表現とアルゴリズム アルゴリズムの論理的表現方法についてハードウェアとソフトウェアそれぞれの場合について理解する。
4 データ構造とアルゴリズム アルゴリズムにおいてデータ構造の必要性と重要性について理解する。
5 グラフ表現とアルゴリズム アルゴリズムやデータ構造について数理的なグラフを用いることの有用性について理解する。
6 探索のアルゴリズム 基本的アルゴリズムの例として探索やデータ検索のためのいくつかの方法について理解する。
7 文字列探索のアルゴリズム 探索について特に文字列探索のボイヤー・ムーア法の有用性と効率性について理解する。
8 整列のアルゴリズム(1)クイックソート等 基本的アルゴリズムの例として整列のいくつかの方法と特にクイックソートについて理解する。
9 整列のアルゴリズム(2)ヒープソート等 基本的アルゴリズムの例としてグラフを用いるヒープソートなどについて理解する。
10 ハッシュ法のアルゴリズム 整列を大量メモリと演算で高速化を図るハッシュ法などについて理解する。
11 アルゴリズムと計算量 アルゴリズムの効率に関連して計算量評価の重要性について理解する。
12 木構造と索引付け 各種アルゴリズムに多用されるデータ構造として木構造の応用方法について理解する。
13 ダイクストラ・アルゴリズム 近年のネットワークの通信やGPSにも応用されるダイクストラアルゴリズムについて理解する。
14 ネットワークとソーシャルグラフ 近年のネットワークのSNSの分析にも応用されるソーシャルグラフの方法について理解する。

科目一覧へ戻る/Return to the Course List