シラバス参照/View Syllabus |
科目一覧へ戻る/Return to the Course List | 2020/09/23 現在/As of 2020/09/23 |
開講科目名 /Course |
情報システム論a/INFORMATION THEORY OF SYSTEMS(A) |
---|---|
開講所属 /Course Offered by |
経済学部経営学科/ECONOMICS MANAGEMENT |
ターム?学期 /Term?Semester |
2020年度/2020 Academic Year 春学期/SPRING SEMESTER |
曜限 /Day, Period |
金2/Fri 2 |
開講区分 /semester offered |
春学期/Spring |
単位数 /Credits |
2.0 |
学年 /Year |
2,3,4 |
主担当教員 /Main Instructor |
今福 啓 |
教員名 /Instructor |
教員所属名 /Affiliation |
---|---|
今福 啓 | 経営学科/MANAGEMENT |
授業の目的?内容 /Course Objectives |
?この講義では、現代社会で不可欠となったコンピュータを使って問題解決するための手法と、プログラミング言語「Python」を使って問題解決するプログラムを作成する実習を行います。 ?Pythonについてはソフトウェアのインストールを含めて初歩から説明しますので、プログラムを全く作成したことがない学生でも受講できます。 ?講義を通じて、コンピュータを用いた問題解決手法の基本を身につけることを目標とします。 |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
授業の形式?方法と履修上の注意 /Teaching method and Attention the course |
コンピュータでデータを処理する方法を学ぶと同時に、プログラミング言語のPythonを使ったプログラム作成による実習を行います。 1. 自宅でコンピュータを利用できる方のみ受講してください。 ?コンピュータは、1週間に1回程度使えれば問題ありません。 ?家族と共用のコンピュータでもかまいません。 ?対応機種:Windows, mac, linux 2. 動画を使った講義を行います。 ?ライブ講義ではなく、YouTubeの限定配信を好きな時間に見る形式の講義を予定しています。 ?動画のアドレスは毎週1つずつ指定します。 ?毎週、講義内課題でプログラムを作成し、その内容を説明したレポートを作成し、指定した期日(各講義の5日後を予定)までに提出してください。 |
||||||||||
事前?事後学修の内容 /Before After Study |
講義で理解できなかった点をそのままにせず、質問や自習で解決するようにしてください。 | ||||||||||
テキスト1 /Textbooks1 |
|
||||||||||
テキスト2 /Textbooks2 |
|
||||||||||
テキスト3 /Textbooks3 |
|
||||||||||
参考文献等1 /References1 |
|
||||||||||
参考文献等2 /References2 |
|
||||||||||
参考文献等3 /References3 |
|
||||||||||
評価方法 /Evaluation |
講義内課題でプログラムを作成し、その内容を説明したレポートを成績評価の対象とします。 ?全て講義内課題(100%)で評価します。 ?詳しい評価方法は、第1回目の講義の際に動画で説明します。 |
||||||||||
関連科目 /Related Subjects |
?コンピュータアーキテクチャ ?情報通信ネットワーク ?プログラミング論 ?データベース論 ?マルチメディア論 ?Webデザイン論 |
||||||||||
備考 /Notes |
|||||||||||
到達目標 /Learning Goal |
コンピュータ内部でのデータ構造、情報処理手順、およびコンピュータ自身が問題の変化に応じて解決手順を構築する手法等に関して専門知識を習得し、コンピュータを用いたより効率的な問題解決ができるようにする。 |
回 /Time |
授業計画(主題の設定) /Class schedule |
授業の内容 /Contents of class |
事前?事後学修の内容 /Before After Study |
---|---|---|---|
1 | コンピュータのシステム構成、アルゴリズム | コンピュータとはどのような構造であるか概要を学ぶ。また、コンピュータで問題解決する手順を「アルゴリズム」と呼ぶことを学ぶ。 | |
2 | プログラミング言語Pythonとは | プログラミング言語「Python」の基礎を学び、簡単なプログラムを作成する。 | |
3 | 関数を利用したプログラム作成 | プログラムで関数を利用する方法と、関数を作成する方法を学ぶ。 | |
4 | モジュールを利用したプログラム作成 | 複雑な処理を容易に行う際に使用するモジュールを使ってプログラム作成する方法を学ぶ。 | |
5 | データ構造1:配列、リスト、タプル、マップ | 複数のデータをまとめて記憶する構造を学び、プログラムを作成して処理する方法を学ぶ。 | |
6 | データの並べ替え、探索 | 「データ構造1」で学んだ内容を使って、データの並べ替えと探索を行うプログラムを作成する。 | |
7 | データ構造2:スタック、キュー、木、ハッシュ | さまざまなアルゴリズムで利用されるデータの記憶構造を学び、プログラムを作成する。 | |
8 | 深さ優先探索、幅優先探索 | 「データ構造2」で学んだ内容を使って、さまざまな問題を解く際に用いられる手法である深さ優先探索、幅優先探索について学ぶ。 | |
9 | 迷路を解く | 深さ優先探索、幅優先探索で迷路を解くプログラムを作成する。 | |
10 | データ構造3:グラフ、ネットワーク | グラフとネットワークとはどのような構造か学び、プログラムで表現する。 | |
11 | ダイクストラ法 | 「データ構造3」で学んだ内容を使って、始点から各地点までの最短経路を求める際に使用するダイクストラ法を学び、プログラムを作成する。 | |
12 | (時間があれば実施)A*アルゴリズム | ダイクストラ法を応用した手法であるA*アルゴリズムを学び、プログラムを作成する。 | |
13 | クラスNP:ナップサック問題、巡回セールスマン問題 | 解くために膨大な時間を要する問題「クラスNP」について学び、具体的にどのような問題が存在するか学ぶ。 | |
14 | (時間があれば実施)分枝限定法、動的計画法 | クラスNPに属する問題を効率的に解くための手法を学び、プログラムを作成する。 |