|
|
週 |
授業内容 |
週ごとの到達目標 |
| 前期 |
| 1stQ |
| 1週 |
講義の目的、開発環境設定 |
言語処理系を理解し、プログラム開発環境を設定できる。
|
| 2週 |
C言語の復習(1) 演算子、制御構造 |
計算モデルを理解し、C言語の演算子、制御構造を理解し、利用できる。
|
| 3週 |
C言語の復習(2) 配列、関数、ポインタ |
C言語の配列、関数、ポインタを理解し、利用できる。
|
| 4週 |
アルゴリズムの効率(計算量)、設計、解析 |
アルゴリズムの効率を理解し、その優劣を判断できる。
|
| 5週 |
基礎アルゴリズム(1) 漸化式 |
漸化式を理解し、各種の式の計算ができる。
|
| 6週 |
基礎アルゴリズム(2) モンテカルロ法 |
モンテカルロ法を理解し、面積に応用計算できる。
|
| 7週 |
最大公約数(ユークリッド互除法) |
ユークリッド互除法を用いて、最大公約数を計算できる。
|
| 8週 |
中間試験 |
|
| 2ndQ |
| 9週 |
整列アルゴリズム(1) 交換法・選択法 |
整列交換法・選択法を理解し、数列の整列に応用できる。
|
| 10週 |
整列アルゴリズム(2) 挿入法 |
整列挿入法の動作と高速化の原理を理解し、応用できる。
|
| 11週 |
整列アルゴリズム(3) シェルソート |
シェルソートの動作と高速化の原理を理解し、応用できる。
|
| 12週 |
整列アルゴリズム(4) マージソート |
マージソートの原理を理解し、応用できる。
|
| 13週 |
探索アルゴリズム(1) 逐次探索 |
逐次探索法を理解し、探索に応用できる。
|
| 14週 |
探索アルゴリズム(2) 番兵法 |
探索における番兵の効果を理解し、応用できる。
|
| 15週 |
探索アルゴリズム(3) 2分探索法 |
2分探索法の原理を理解し、実際の問題にに応用できる。
|
| 16週 |
期末試験 |
|
| 後期 |
| 3rdQ |
| 1週 |
文字列探索アルゴリズム(1)単純法 |
文字列探索法の単純法を理解し、文字列探索に応用できる。
|
| 2週 |
文字列探索アルゴリズム(2)ボイヤ・ムーア法 |
文字列探索法の改良版ボイヤ・ムーア法を理解し、応用できる。
|
| 3週 |
文字列の置き換え |
文字列の置き換えを理解し、実装できる。
|
| 4週 |
ハッシュ法と衝突 |
探索法のハッシュ法と衝突を理解し、文字列探索に応用できる。
|
| 5週 |
再帰処理の概要 |
再帰処理の考え方を理解し、再帰的な式の計算ができる。
|
| 6週 |
再帰解と非再帰解 |
いくつかの問題について再帰と非再帰による実装の得失を理解し応用できる。
|
| 7週 |
再帰版クイックソートの実装 |
再帰によるクイックソートを理解し整列に応用できる。
|
| 8週 |
中間試験 |
|
| 4thQ |
| 9週 |
データ構造(1) スタック、キュー |
データ構造のスタック、キューを理解し,実装することができる.
|
| 10週 |
データ構造(2) リスト構造 |
データ構造のリスト構造を理解し、簡単な挿入・削除ができる.
|
| 11週 |
データ構造(3) リスト構造 |
データ構造のリスト構造を、応用することができる.
|
| 12週 |
逆ポーランド記法 |
逆ポーランド記法を理解し、式の計算に応用できる.
|
| 13週 |
木(1) 2分探索木 |
配列を用いた2分探索木を作成し、文字列の探索に応用できる。
|
| 14週 |
木(2) 2分探索木 |
2分探索木を動的に作成し、文字列探索に応用できる。
|
| 15週 |
木(3) 木のトラーバーサルとヒープ |
再帰を用いた木のトラバーサルとヒープを理解できる。
|
| 16週 |
期末試験 |
|
| 分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
| 専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数の概念を説明できる。 | 4 | 前2,前3 |
| データ型の概念を説明できる。 | 4 | 前2,前3 |
| 代入や演算子の概念を理解し、式を記述できる。 | 4 | 前2,前3 |
| 制御構造の概念を理解し、条件分岐を記述できる。 | 4 | 前2,前3 |
| 制御構造の概念を理解し、反復処理を記述できる。 | 4 | 前2,前3 |
| プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | 前2,前3 |
| 与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | 後3,後5 |
| 与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | 後6,後7 |
| ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 前1 |
| 主要な言語処理プロセッサの種類と特徴を説明できる。 | 3 | 前1 |
| ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | 前1 |
| プログラミング言語は計算モデルによって分類されることを説明できる。 | 3 | 前2 |
| 主要な計算モデルを説明できる。 | 3 | 前2 |
| 要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 3 | 後13,後14,後15 |
| 要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 3 | 後13,後14,後15 |
| 要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | 後13,後14,後15 |
| 要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 3 | 後13,後14,後15 |
| ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | 前4 |
| 与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | 前5,後4,後5,後6,後7 |
| 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 3 | 前4,前7 |
| 時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 3 | 前4 |
| 領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 3 | 前4 |
| 整列、探索など、基本的なアルゴリズムについて説明できる。 | 3 | 前9,前10,前11,前12,前13,前14,前15,後1,後2,後7 |
| コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 3 | 後9 |
| 同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 3 | 前13,後13,後14 |
| リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 3 | 後9,後10,後11,後13,後14,後15 |
| リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 3 | 後9,後10,後11,後12,後13,後14,後15 |
| ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 2 | 前4 |
| 同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 2 | 前4 |
| 計算機工学 | 整数を2進数、10進数、16進数で表現できる。 | 2 | 前1 |
| 小数を2進数、10進数、16進数で表現できる。 | 2 | 前1 |
| 整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 2 | 前1 |
| 基数が異なる数の間で相互に変換できる。 | 2 | 前1 |
| システムプログラム | コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。 | 1 | |
| プロセス管理やスケジューリングなどCPUの仮想化について説明できる。 | 1 | |
| 形式言語の概念について説明できる。 | 1 | |
| コンパイラの役割と仕組みについて説明できる。 | 1 | |
| 情報数学・情報理論 | コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。 | 3 | 前6 |
| その他の学習内容 | 少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。 | 2 | |
| 少なくとも一つの具体的なオフィススイート等を使って、文書作成や図表作成ができ、報告書やプレゼンテーション資料を作成できる。 | 2 | |
| 少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。 | 2 | |
| コンピュータウィルスやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。 | 1 | |
| コンピュータを扱っている際に遭遇しうる脅威に対する対策例について説明できる。 | 1 | |
| 分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 2 | |
| ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | |
| ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 2 | |