1. 制御構造を用いたプログラムを作成できる。
2. 配列を用いたプログラムを作成できる。
3. 自作関数を用いたプログラムを作成できる。
概要:
コンピュータを問題解決の手段として活用するために必要不可欠なプログラミングの基礎知識を習得する。プログラミング言語としてC言語を用い,プログラム開発の基本手順から,文法や作法,基本的なアルゴリズムを学ぶ。
授業の進め方・方法:
本授業では,学習項目にそってC言語のプログラム文法や用法,アルゴリズムを解説する。その後に,基礎工学実験・実習でプログラミング演習を行い理解を深めるという形態とする。授業中には,学習項目が身に付いているか定期的に小テストを行い理解度を確認する。また適宜,課題問題を課しレポートとして提出させる。
注意点:
オフィスアワー:月曜日放課後~17:00
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス,情報セキュリティの基礎 |
情報セキュリティの3要素(機密性,完全性,可用性)やインターネットリテラシーの基礎を理解し,説明できる。D2:1,3
|
2週 |
文字列の出力,変数と型 |
プログラミングの基本手順を説明できるD2:1,E2:1
|
3週 |
算術演算と代入 |
代入や演算子の概念を理解し、式を記述できるD2:1,2,E2:1,E3:1
|
4週 |
標準入出力 |
|
5週 |
if文 |
制御構造の概念を理解し、条件分岐処理を記述できるD2:1,2,E2:1,E3:1
|
6週 |
関係演算 |
|
7週 |
論理演算 |
|
8週 |
前期中間試験 |
|
2ndQ |
9週 |
試験問題の解答 |
|
10週 |
for文 |
制御構造の概念を理解し、反復処理を記述できる D2:1,2,E2:1,E3:1
|
11週 |
ネストしたfor文 |
|
12週 |
while文 |
|
13週 |
配列 |
|
14週 |
最大・最小・平均アルゴリズム |
|
15週 |
ソート(最大値選択法,挿入法) |
配列を活用した基本的なアルゴリズムを説明できるD2:1,2,E2:1,E3:1
|
16週 |
試験問題の解答,ソート(交換法) |
|
後期 |
3rdQ |
1週 |
2次元配列 |
|
2週 |
ユーザ関数の宣言と定義 |
関数の概念を理解し、これらを含むプログラムを記述できるD2:1,2,E2:1,E3:1
|
3週 |
ユーザ関数呼び出し |
|
4週 |
配列を引数にとるユーザ関数 |
|
5週 |
文字の入出力と計算 |
|
6週 |
文字列の入出力と計算 |
|
7週 |
文字列操作関数 |
|
8週 |
後期中間試験 |
|
4thQ |
9週 |
試験問題の解答 |
|
10週 |
ファイル入力 |
ファイル入出力を理解し,いろいろなファイル操作コマンドを作成できるD2:2
|
11週 |
ファイル出力 |
|
12週 |
ファイル入出力を使ったプログラム |
|
13週 |
コマンドライン引数 |
コマンドライン引数を理解し,いろいろなコマンドを作成できるD2:2
|
14週 |
再帰関数1 |
|
15週 |
再帰関数2 |
|
16週 |
試験問題の解答 |
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | 前7 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | 前15 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | 前15 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | 前15 |
情報セキュリティの必要性および守るべき情報を認識している。 | 3 | 前1 |
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。 | 3 | 前1 |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している | 3 | 前1 |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。 | 3 | 前1 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 4 | 前3 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | 後2 |
変数の概念を説明できる。 | 4 | 前3 |
データ型の概念を説明できる。 | 4 | 前3 |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | 前5 |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | 前5 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | 前7 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 前7 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | 前7 |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 4 | 前5,前10,前12 |
主要な計算モデルを説明できる。 | 4 | 前5,前10,前12 |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | 前7 |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | 前7 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | 前14 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | 前15 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | 前15 |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 4 | 前2 |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 前2 |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 4 | 前2 |
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。 | 4 | 前12 |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 4 | 前2 |