1. プログラムの開発環境としてUNIXを有効に利用できる。
2. 基本的なデータ表現法と基本的なアルゴリズムを理解し、C言語で表現することができる。
概要:
コンピュータで何らかの問題を解かせようとする場合、計算手順(アルゴリズム)を考え、次にそれをプログラムとして記述する。すなわち、プログラムを作成するためには、問題を解くためのアルゴリズムを考えることと、それをプログラム化するためにプログラミング言語(コンピュータに命令を与えるための言語)の文法に関する知識とが必要であるといえる。本授業の目標は、プログラミングⅠに引き続いてプログラミング言語の文法を学習し、プログラミング技術を修得することである。ここでプログラミング言語として、システム記述などに適しており、広く使われているC言語を採用する。なお、ANSI(米国規格協会)の標準規格に準拠したプログラムの記述方法を学習する。C言語のプログラムはメイン関数を含めて1つ以上の関数から構成されている。一つの関数においてある一まとまりの処理を行なうようにし、関数をそれが必要となった場所で呼び出すというモジュール化は大切である。次に、ポインタは変数などのメモリ上の格納場所(アドレス)を指し示すものである。構造体は、複数のデータを一つにまとめて意味のある一つの型として定義したものである。標準入力(キーボード)と標準出力(ディスプレイ)を介した入出力以外のものとしてファイル入出力がある。これにより、ファイルにデータを保存したり、ファイルからデータを読み出すことが可能となる。
授業の進め方・方法:
教室における授業と演習室での演習を実施する。年間で30問程度のプログラミング課題を出す予定であり、本授業および連携して開講する「情報システム演習Ⅱ」において各自、課題に取り組む。作成したプログラムはファイルで提出する。
注意点:
プログラミングⅠの内容の習得を前提とするが、一部、復習の内容を含む。
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 4 | 前2,前3,前4,前5,前6,前7,前9,前10,前11,前12,前13,前14 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | 前2,前3,前4,前5,前6,前7 |
変数の概念を説明できる。 | 4 | 前9,前10,前11,前12,前13,前14 |
データ型の概念を説明できる。 | 4 | 前9,前10,前11,前12,前13,前14 |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | 前1,前2,前3,前4,前5,前6,前7 |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | 前1,前2,前3,前4,前5,前6,前7 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | 前1,前2,前3,前4,前5,前6,前7,前9 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 前1,前2,前3,前4,前5,前6,前7,前9 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | 前2,前3,前4,前5,前6,前7,前9 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | 前2,前3,前4,前5,前6,前7,前9 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | 前2,前3,前4,前5,前6,前7,前9 |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | 前9,後9 |
情報数学・情報理論 | コンピュータ上での数値の表現方法が誤差に関係することを説明できる。 | 4 | 前9,後9 |
その他の学習内容 | 少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。 | 4 | 前2,前3,前9,後1,後9 |
コンピュータウィルスやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。 | 4 | 後1,後2,後3,後4 |
コンピュータを扱っている際に遭遇しうる脅威に対する対策例について説明できる。 | 4 | 後1,後2,後3,後4 |
基本的な暗号化技術について説明できる。 | 3 | 後1,後2,後3,後4 |
マルウェアやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。 | 4 | 後1,後2,後3,後4 |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 4 | 前2,前3,前9,後1,後2,後3,後4,後5,後6,後7,後9 |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 前2,前3,前9,後1,後2,後3,後4,後5,後6,後7,後9 |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 4 | 前2,前3,前9,後1,後2,後3,後4,後5,後6,後7,後9 |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 4 | 前2,前3,前9,後1,後2,後3,後4,後5,後6,後7,後9 |