アルゴリズム基礎 -2020年度入学生まで配当年次2年- -Introduction to Algorithms-

担当教員・研究室 配当年次 学期 種別 単位数 授業形態 開講年度 ナンバリングコード
内山 俊郎 117研究室
2年 前期 選択 2 単位
講義(対面)
2021 SCM216
アクティブラーニング
はい
授業概要
本講義は、アルゴリズムの記述を読んで理解し、これを書けるようになることを目指しています。前半1/3は、変数、値、代入などの基本概念とデータ構造の仕組みの理解を目指します。後半1/3は、希望者に対して、「基本情報技術者試験の午後の問題を宿題として取り組む」ことを求め、取り組んだ学生に対して解説を行う時間を設けます。それ以外においては、フローチャートを書いたり、トレース(処理の流れを追う)する実習を経て、配列や制御構造(分岐、繰返し)を伴う定型的な処理をまず学んでもらいます。途中からは擬似言語を使ったプログラミング実習も行います。毎回行う小テストは、主として取り組むことに対して評価します。その際ICTを利用した双方向授業(正解と解説をICTの機能を用いて行う)を導入しています。期末試験は正確に解答することを評価します。
授業における学修の到達目標
1.フローチャート(流れ図)をもとにアルゴリズムを理解し、簡単なフローチャートが書ける。
2.疑似言語を使って、アルゴリズムを表すことができる。
3.配列を利用するアルゴリズムを理解し、読み書きができる。
4.基本情報技術者試験の午前問題(テクノロジ系の「アルゴリズムとプログラミング」)が解けるようになる。
授業計画
回数 授業、事前・事後学習 時間
1 事前学習 シラバス全体を読み,概要をノートにまとめること。 2
授業 データ構造(配列、リスト)について学ぶ。記憶領域、変数、代入の概念について学ぶ。
事後学習 データ構造(配列、リスト)について、学んだことをノートにまとめること。 2
2 事前学習 データ構造(配列、リスト)について、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 データ構造(配列、リスト)についての小テストを受ける。データ構造(木構造、スタック、キュー)について学ぶ。
事後学習 データ構造(木構造、スタック、キュー)について、学んだことをノートにまとめること。 2
3 事前学習 データ構造(木構造、スタック、キュー)について、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 データ構造(木構造、スタック、キュー)の小テストを受ける。記憶領域、変数、代入の概念について学ぶ。アルゴリズムの流れ図による表現を知り、流れ図作成の実習を行う。
事後学習 アルゴリズムの流れ図の実習結果を実習ノートにまとめること。 2
4 事前学習 記憶領域、変数、代入について振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 記憶領域、変数、代入の小テストを受ける。アルゴリズムの制御構造(順次、選択、繰返し型)を学ぶ。流れ図の作成実習を行う。
事後学習 アルゴリズムの流れ図の実習結果を実習ノートにまとめること。 2
5 事前学習 順次、選択について振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 順次、選択の小テストを受ける。アルゴリズムの制御構造(繰返し型、組み合わせ、定義済み処理)を学ぶ。流れ図の作成実習を行う。
事後学習 アルゴリズムの流れ図の実習結果を実習ノートにまとめること。 2
6 事前学習 繰返し型、組み合わせ、定義済み処理について振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 繰返し型、組み合わせ、定義済み処理の小テストを受ける。配列の概念と基本操作(代入、参照)について学び、配列を含む流れ図のトレース実習を行う。
事後学習 実習結果を実習ノートにまとめること。 2
7 事前学習 配列の概念と基本操作(代入、参照)について振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 配列の概念と基本操作(代入、参照)の小テストを受ける。配列、制御構造を使った定型的な処理を学び、流れ図の作成実習を行う。
事後学習 実習結果を実習ノートにまとめること。 2
8 事前学習 配列、制御構造を使った定型的な処理について振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 配列、制御構造を使った定型的な処理の小テストを受ける。擬似言語を学ぶ(宣言部、処理部を知る)。関連する実習を行う。
事後学習 実習結果を実習ノートにまとめること。 2
9 事前学習 擬似言語の基礎的な部分について振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 擬似言語の基礎的な部分の小テストを受ける。擬似言語とフローチャートの違い(繰返し型の条件、配列の添え字)について理解する。擬似言語のプログラミング実習を行う。
事後学習 実習結果を実習ノートにまとめること。 2
10 事前学習 擬似言語とフローチャートの違い(繰返し型の条件、配列の添え字)について振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 擬似言語とフローチャートの違い(繰返し型の条件、配列の添え字)についての小テストを受ける。配列、制御構造を使った定型的な処理を学び、流れ図の作成実習を行う。
事後学習 実習結果を実習ノートにまとめること。解説を希望する者は、基本情報技術者試験の午後の問題を宿題として解き、レポートにまとめること。 2
11 事前学習 解説を希望する者は、基本情報技術者試験の午後の問題を宿題を提出すること。擬似言語について配列、制御構造を使った定型的な処理について振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 擬似言語について配列、制御構造を使った定型的な処理の小テストを受ける。午後の問題についての解説を理解する。探索アルゴリズムについて学び、実習を行う。
事後学習 実習結果を実習ノートにまとめること。解説を希望する者は、基本情報技術者試験の午後の問題を宿題として解き、レポートにまとめること。 2
12 事前学習 解説を希望する者は、基本情報技術者試験の午後の問題を宿題を提出すること。探索アルゴリズムについて振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 探索アルゴリズムについての小テストを受ける。午後の問題についての解説を理解する。整列、文字列操作アルゴリズムについて学び、実習を行う。
事後学習 実習結果を実習ノートにまとめること。解説を希望する者は、基本情報技術者試験の午後の問題を宿題として解き、レポートにまとめること。 2
13 事前学習 解説を希望する者は、基本情報技術者試験の午後の問題を宿題を提出すること。整列、文字列操作アルゴリズムについて振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 整列、文字列操作アルゴリズムの小テストを受ける。午後の問題についての解説を理解する。データ構造実現アルゴリズムについて学び、実習を行う。
事後学習 実習結果を実習ノートにまとめること。解説を希望する者は、基本情報技術者試験の午後の問題を宿題として解き、レポートにまとめること。 2
14 事前学習 解説を希望する者は、基本情報技術者試験の午後の問題を宿題を提出すること。データ構造実現アルゴリズムについて振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 データ構造実現アルゴリズムの小テストを受ける。午後の問題についての解説を理解する。引き続きデータ構造実現アルゴリズムについて学び、実習を行う。
事後学習 実習結果を実習ノートにまとめること。解説を希望する者は、基本情報技術者試験の午後の問題を宿題として解き、レポートにまとめること。 2
15 事前学習 解説を希望する者は、基本情報技術者試験の午後の問題を宿題を提出すること。データ構造実現アルゴリズムについて振り返り、小テストに備えて例題などを解き、ポイントをノートにまとめること。 2
授業 データ構造実現アルゴリズムパート2の小テストを受ける。午後の問題についての解説を理解する。科目試験に向けて復習を行う。
事後学習 科目試験に向けて、理解したことをノートにまとめること。実習ノートを提出すること。 2
成績評価の方法およびその基準
次項の項目及び割合で標準評価基準に基づき総合評価する。
■試験:50% ■小テスト:25% ■レポート:25% □演習課題:  % □その他[       ]
課題(試験やレポート等)に対するフィードバック方法
小テストについては正解と解説を示すことで、レポートに対してはコメントを返すことでフィードバックを行います。また、ICTを使った正解、解説の即座のフィードバックを行う、双方向授業も導入しています。
教科書
なし
参考書・Webサイト
アルゴリズムとデータ構造 第8版 (情報処理基礎講座) SCC出版局
単位習得が望ましい科目
なし
備考
レポートには、ほぼ毎回出題される課題に対する答えを書いてもらいます。それらをまとめて最後に提出してください。必須課題(未実施の場合、評価は「不可」となります)と加点課題があります。小テストは、取り組みに対する点と正解による加点で評価します。
担当教員の実務経験
2006年から2012年度まで企業の研究所に所属し,文書データ解析,レコメンドの研究を行うとともに,これら研究の成果を関連事業会社において利用可能なものとする実用化(プロダクト化)を行い,事業会社への技術支援を行った。これら実務において,実用化プロジェクトに関わり,これらの技術を現場において適用する過程を見てきた。これら実務経験を生かす形で,講義の中で示す技術の実応用例などを学生に伝え,技術の先にある現場の様子が想像できるような教育を実施する。