概要:
前期は2年次「プログラミングⅠ」で学習したC言語についてさらに習熟する.ファイル操作や構造体などのデータ構造の仕組みを理解し,構造的プログラミング技法の習得にも心がけ,よりよいプログラムが書けるようになる.
後期はPython言語について学習する.新しいプログラミング言語を学習することで,言語処理系の違いを理解するとともに,プログラミング言語に依存しない論理的な処理手順やアルゴリズム,データ処理等に必要となる基本手法を学ぶ.
授業の進め方・方法:
本科目は,2年生「プログラミングⅠ」に続く科目である.前期は,プログラミング言語をC言語とし,二年次に学習したことの定着を図りながら,ファイルの取り扱い,自己参照構造体などを学ぶ.プログラミングは主にUNIX環境で行う.後期は,プログラミング言語をPython言語とし,基本データや変数,制御構造などの基本から学習する.プログラミングは主にWindows環境で行う.
本科目では講義だけでなく,演習を通じて実際のプログラムの挙動を確認しながら内容理解を深める.
注意点:
本科目は4単位であり規定授業時数は120時間である。
成績評価は,筆記試験,プログラミング実技,および演習課題レポートによって行う.
授業内で行う演習については,期限内に報告書を提出する.
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
変数の概念を説明できる。 | 3 | |
データ型の概念を説明できる。 | 3 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 3 | |
制御構造の概念を理解し、反復処理を記述できる。 | 3 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 3 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 3 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 3 | |
主要な計算モデルを説明できる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 3 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 3 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 3 | |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 4 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 4 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 4 | |
システムプログラム | 形式言語の概念について説明できる。 | 4 | |
オートマトンの概念について説明できる。 | 4 | |
コンパイラの役割と仕組みについて説明できる。 | 4 | |
形式言語が制限の多さにしたがって分類されることを説明できる。 | 4 | |
正規表現と有限オートマトンの関係を説明できる。 | 4 | |