概要:
2年で学習したC言語の基本を踏まえ、関数,ポインタ,構造体を使った高度なプログラミングの能力をつける。また基本的なマイコンプログラミングの能力をつける。
授業の進め方・方法:
授業では,講義だけでなく自らプログラムを作成・実行・エラー処理をすることでプログラミング技術を身に付けるように進める。
英語導入計画:Technical Terms
(事前準備の学習)情報処理Ⅰの復習をしておくこと
注意点:
プログラミングに参考となる資料は,LMSに置くので適宜参照すること。
授業の内容を確実に身につけるために,予習・復習が必須である。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
関数形式マクロ (ALのレベルC) |
関数形式マクロを理解する
|
2週 |
ソートアルゴリズム (ALのレベルC) |
バブルソート,セレクションソード,インサーションソートについて理解する
|
3週 |
列挙体と再帰関数 (ALのレベルC) |
列挙体と再帰関数について基本的な使い方を理解する
|
4週 |
入出力と文字 (ALのレベルC) |
getchar関数を使った基本的なプログラムを作成できる
|
5週 |
再帰関数と文字入力の演習 (ALのレベルC) |
やや応用的なプログラムの演習
|
6週 |
文字列操作 (ALのレベルC) |
文字列を扱う基本的なプログラムを作成できる
|
7週 |
ポインタの基礎 (ALのレベルC) |
ポインタの基礎を理解する
|
8週 |
中間試験 |
|
2ndQ |
9週 |
ポインタの利用 (ALのレベルC) |
ポインタを使った基礎的なプログラムを作成できる
|
10週 |
配列とポインタの演習 (ALのレベルC) |
配列とポインタの関係について理解する
|
11週 |
文字列とポインタ (ALのレベルC) |
配列、文字列、ポインタを利用した基本的なプログラムを作成できる
|
12週 |
ポインタによる文字列関数 (ALのレベルC) |
ポインタを使った文字列に関するライブラリ関数の動作を理解する
|
13週 |
構造体1 (ALのレベルC) |
構造体の基礎を理解する
|
14週 |
構造体2 (ALのレベルC) |
構造体を利用した基本プログラムを理解する
|
15週 |
前期のまとめ |
|
16週 |
|
|
後期 |
3rdQ |
1週 |
前期の復習 (ALのレベルC) |
前期の内容を確認し,理解を深める
|
2週 |
構造体3 (ALのレベルC) |
構造体を利用した応用プログラムを理解する
|
3週 |
ファイル処理1 (ALのレベルC) |
ファイル処理の基本を理解する
|
4週 |
ファイル処理2 (ALのレベルC) |
ファイル処理を利用したプログラムが作成できる
|
5週 |
マイコンプログラミングについて (ALのレベルC) |
マイコンプログラミングの基礎(ポートアクセス)について理解する
|
6週 |
LED点灯制御 (ALのレベルC) |
ダイナミック点灯制御について理解する
|
7週 |
マイコン内部でのプログラムの実行過程 (ALのレベルC) |
マイコン内部でのプログラム実行の様子について理解する
|
8週 |
中間試験 |
|
4thQ |
9週 |
スイッチ信号入力 (ALのレベルC) |
スイッチによるデータ入力と,それに対応してLED表示を変更するプログラムが作成できる
|
10週 |
割り込み処理 (ALのレベルC) |
割込み処理の考え方を理解する
|
11週 |
A/Dコンバータ (ALのレベルC) |
マイコン内蔵のA/D変換器を利用したプログラムを作成できる
|
12週 |
タイマー割込み1 (ALのレベルC) |
タイマー割込みを利用したプログラムを作成できる
|
13週 |
タイマー割込み2 (ALのレベルC) |
PWM信号によりLEDの輝度制御プログラムを作成できる
|
14週 |
自由課題 (ALのレベルC) |
これまでの学習内容を踏まえ,各自で仕様を検討しプログラムを作成できる
|
15週 |
学年のまとめ |
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 機械系分野 | 情報処理 | プログラムを実行するための手順を理解し、操作できる。 | 3 | |
定数と変数を説明できる。 | 3 | |
整数型、実数型、文字型などのデータ型を説明できる。 | 3 | |
演算子の種類と優先順位を理解し、適用できる。 | 3 | |
算術演算および比較演算のプログラムを作成できる。 | 3 | |
データを入力し、結果を出力するプログラムを作成できる。 | 4 | |
条件判断プログラムを作成できる。 | 4 | |
繰り返し処理プログラムを作成できる。 | 4 | |
一次元配列を使ったプログラムを作成できる。 | 4 | |
情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
変数の概念を説明できる。 | 4 | |
データ型の概念を説明できる。 | 4 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 3 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 2 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 2 | |
計算機工学 | 整数を2進数、10進数、16進数で表現できる。 | 4 | |
小数を2進数、10進数、16進数で表現できる。 | 3 | |
基本的な論理演算を行うことができる。 | 3 | |
情報数学・情報理論 | コンピュータ上での数値の表現方法が誤差に関係することを説明できる。 | 2 | |
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。 | 2 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 3 | |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 2 | |
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。 | 2 | |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 2 | |