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