到達目標
1.Pythonを用いたプログラミングができる。
2.データ構造とアルゴリズムについて理解しプログラムを書くことができる。
3.再帰・ソート・探索について理解しプログラムを書くことができる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | Pythonを用いたプログラミングが適切にできる。 | Pythonを用いたプログラミングができる。 | Pythonを用いたプログラミングができない |
評価項目2 | データ構造とアルゴリズムについて理解しプログラムを適切に書くことができる。 | データ構造とアルゴリズムについて理解しプログラムを書くことができる。 | データ構造とアルゴリズムについて理解しプログラムを書くことができない。 |
評価項目3 | 再帰・ソート・探索について理解しプログラムを適切に書くことがきる。 | 再帰・ソート・探索について理解しプログラムを書くことができる。 | 再帰・ソート・探索について理解しプログラムを書くことができない。 |
学科の到達目標項目との関係
教育方法等
概要:
一般的に良く知られている基本的なアルゴリズムを紹介しながら,効率の良いアルゴリズムの設計の基本的な考え方と技法について学ぶ。本授業は就職および進学の両方,資格取得に関連する。
授業の進め方・方法:
講義および演習を基本とする。適宜,小テストや演習を実施し,課題を課す。
注意点:
理解のできない点や質問事項があれば,適宜担当教員に質問し,講義内容を完全に理解すること。本科目は,基本情報技術者試験,応用情報技術者試験を受験する者には非常に重要な内容となっているので,情報通信コースの学生には是非とも受講して頂きたい。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
プログラミングとアルゴリズム |
プログラミングとアルゴリズムについて理解する。
|
2週 |
コンピュータ科学の基本 |
コンピュータ科学の基本について理解する。
|
3週 |
データ構造、計算量 |
データ構造、計算量について理解する。
|
4週 |
アルゴリズムと実装 |
様々なアルゴリズムの実装方法について理解する。
|
5週 |
データのソート |
データを並び替えるソートの実装方法について理解する。
|
6週 |
データの探索 |
配列と二分探索木を用いたデータの探索について理解する。
|
7週 |
探索のためのデータ構造 |
ヒープとハッシュを用いたデータの探索について理解する。
|
8週 |
中間試験 |
|
4thQ |
9週 |
解答解説,グラフ構造 |
グラフ構造について理解する。
|
10週 |
グラフ探索により最短距離を求める |
グラフ探索により最短距離を求める方法について理解する。
|
11週 |
問題を解くための技術 |
ナップサック問題を解くための貪欲法、動的計画法について理解する。
|
12週 |
問題の難しさ |
計算にかかるコスト、難しさの分類について理解する。
|
13週 |
乱択アルゴリズムと数論 |
乱択アルゴリズムと数論について理解する。
|
14週 |
現代社会を支えるアルゴリズム |
現在社会を支えるアルゴリズムについて理解する。
|
15週 |
答案返却・解答説明 |
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 70 | 0 | 0 | 0 | 30 | 0 | 100 |
基礎的能力 | 20 | 0 | 0 | 0 | 10 | 0 | 30 |
専門的能力 | 50 | 0 | 0 | 0 | 20 | 0 | 70 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |