到達目標
3年次までに習得したプログラミング技術に基づき,世の中のさまざまな問題をコンピュータにより解決するために必要な各種データ構造の特徴を理解し,それらを意識したアルゴリズム(解法の手順)を問題に適用できる高度なプログラミング能力を身に付けることが目標である.
さらに,リレーショナルデータベースを理解し,データベース言語を用いて世の中の問題解決に役立つツールを作成することが目標である.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
アルゴリズムの基本概念とデータ構造 | 任意の課題を解決するため,適切なデータ構造の選定およびアルゴリズムを的確に表現し,計算量を求めることができる.
任意の課題に対して,リスト,スタックとキュー,木構造,グラフをプログラミング言語で表現できる. | アルゴリズムの表現法や計算量について説明できる.
リスト,スタックとキュー,木構造,グラフの構造と特徴について,それらの基礎的な語句を用いて説明できる. | アルゴリズムの表現法や計算量について説明できない.
リスト,スタックとキュー,木構造,グラフの構造と特徴について,それらの基礎的な語句を用いて説明できない. |
ソート(整列)とサーチ(探索) | 与えられたデータを特定の順序に並べ替えるアルゴリズムの考え方や各手法,データを探索する各手法を,それらの違いを含めて具体的に説明でき,コンピュータにより各手法を実現できる. | 与えられたデータを特定の順序に並べ替えるアルゴリズムの考え方や各手法,データを探索する各手法を,それらの違いを含めて説明できる. | 与えられたデータを特定の順序に並べ替えるアルゴリズムの考え方や各手法,データを探索する各手法を説明できない. |
アルゴリズムの設計⼿法 | 再帰,分割統治法,動的計画法などの基本的なアルゴリズム設計法を具体的に説明でき,任意の問題をコンピュータにより解くことができる. | 再帰,分割統治法,動的計画法などの基本的なアルゴリズム設計法を説明できる. | 再帰,分割統治法,動的計画法などの基本的なアルゴリズム設計法を説明できない. |
リレーショナルデータベースの基礎 | 世の中で利用されているデータベースシステムとその関連技術を説明でき,GUIを含めた簡単なデータベースシステムを構築できる. | データベースの概念と基礎的な語句を説明でき,データベース⾔語を用いて簡単なデータベースの作成・操作ができる. | データベースの概念と基礎的な語句を説明できず,データベース⾔語を用いることができない. |
学科の到達目標項目との関係
本科(準学士課程)での学習・教育到達目標 2-1
説明
閉じる
本科(準学士課程)での学習・教育到達目標 3-3
説明
閉じる
教育方法等
概要:
世の中のさまざまな問題をコンピュータにより解決するためには,何らかのデータ処理が必要である.コンピュータで処理しやすいように,データの集まりと各データ間の結合関係を表現(モデル化)したものがデータ構造であり,それを意識したアルゴリズム(解法の手順)を問題に適用することで効率のよい処理が可能となる.
本授業では,3年次までに習得したプログラミング技術に基づき,さまざまな問題解決に必要なデータ処理の知識およびプログラミング能力を身に付けることを目的とする.
授業の進め方・方法:
本授業は多くのアルゴリズムを座学により理解し,適宜,演習とプレゼンテーションを行うことで知識の定着を図る.
授業中,または家庭でプログラムを何度も見返しながら,考え,それを実現する力を身に付ける.
注意点:
90分の授業に対して90分程度に相当する放課後・家庭での自学学習,およびレポート課題を課す.
本授業で学習する内容は3年次に学習するプログラム通論と関連があるため,十分に復習しておくことが望まれ,自ら学ぶ姿勢が求められる.
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス アルゴリズムの基本概念 |
本科目の学習内容や目標,評価方法について理解する. 配列,ポインタ,構造体などの知識を確認する. アルゴリズムとデータ構造の関係,アルゴリズムの表現法や計算量について説明できる.
|
2週 |
データ構造(1) |
リスト,スタックとキュー,木構造,グラフについて理解し説明できる.
|
3週 |
データ構造(2) |
同上
|
4週 |
データ構造(3) |
同上
|
5週 |
データ構造(4) |
同上
|
6週 |
サーチ(探索) |
文字列などのデータを探索する各手法を説明でき,コンピュータによりそれらを実現できる.
|
7週 |
サーチ(探索) |
同上
|
8週 |
前期中間試験 |
各種データ構造や探索アルゴリズムに関する演習問題を解くことができる.
|
2ndQ |
9週 |
ソート(整列) |
与えられたデータを特定の順序に並べ替えるアルゴリズムの考え方やそれらの違いを説明でき,コンピュータにより各⼿法を実現できる.
|
10週 |
ソート(整列) |
同上
|
11週 |
ソート(整列) |
同上
|
12週 |
ソート(整列) |
同上
|
13週 |
ソート(整列) |
同上
|
14週 |
ソート(整列)とサーチ(探索) |
与えられたデータを特定の順序に並べ替え,必要なデータを探索するプログラムを実現できる.
|
15週 |
前期期末試験 |
整列アルゴリズムに関する演習問題を解くことができる.
|
16週 |
定期試験答案返却 ソート(整列)とサーチ(探索)の課題プレゼンテーション |
|
後期 |
3rdQ |
1週 |
アルゴリズムの設計⼿法 |
再帰,分割統治法,動的計画法などの基本的なアルゴリズム設計法が説明でき,任意の問題をコンピュータにより解くことができる.
|
2週 |
アルゴリズムの設計⼿法 |
同上
|
3週 |
アルゴリズムの設計⼿法 |
同上
|
4週 |
リレーショナルデータベースの基礎(1) |
データベースの概念と基礎的な語句を説明でき,データベース言語を用いて簡単なデータベースの操作ができる.
|
5週 |
リレーショナルデータベースの基礎(2) |
同上
|
6週 |
リレーショナルデータベースの基礎(3) |
同上
|
7週 |
リレーショナルデータベースの基礎(4) |
同上
|
8週 |
後期中間試験 |
アルゴリズムの設計手法に関する演習問題を解くことができる.
|
4thQ |
9週 |
リレーショナルデータベースの実践(1) |
与えられた課題についてデータベースを設計および各種言語を用いてそのシステムを実現できる.
|
10週 |
リレーショナルデータベースの実践(2) |
同上
|
11週 |
リレーショナルデータベースの実践(3) |
同上
|
12週 |
リレーショナルデータベースの実践(4) |
同上
|
13週 |
リレーショナルデータベースの実践(5) |
同上
|
14週 |
リレーショナルデータベースの実践(6) |
同上
|
15週 |
後期期末試験 |
データベースに関する演習問題を解くことができる.
|
16週 |
定期試験答案返却 最終課題のプレゼンテーション |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 5 | |
評価割合
| 試験 | レポート | 発表 | 合計 |
総合評価割合 | 60 | 30 | 10 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 |
専門的能力 | 60 | 30 | 10 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 |