C言語プログラム作成の基本的な文法と,構造体やポインタなどを使いこなす技術を身につける.とくに,以下にあげる項目について工学的な応用・発展へとつなぐためのプログラミング能力を養う.
(1) 配列変数を用いて,ソート法などのデータ処理に関するアルゴリズムを学び,そのプログラムを作成できるようにする.
(2) 関数化の手法を学び,プログラムの構造化に対する理解を深める.
(3) メモリやアドレスの概念を学び,ポインタ変数を用いたプログラムの理解を深める.
(4) 構造体の仕組みを学び,自ら型を定義した上で変数を作成し,ベクトル計算などの実用的プログラムを作成できるようにする.
概要:
この講義では,汎用コンピュータ言語として様々な用途に用いられているC言語のプログラミング演習を行う.演習を通じて,数値計算,データ処理のためのアルゴリズムや,コンピュータ・システムの基本的な事柄を学ぶ.
授業の進め方・方法:
講義と演習を交互に行い理解を深める.与えられた演習問題をこなすだけでなく,自分で問題を作ってみることが理解を深めるのに有効な手段である.演習では,出力される結果をあらかじめ予想し,効率のよいデバッグ技術を身に付けることが必要である.
注意点:
別途,学科オリジナルのC言語テキストを配布する.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
授業ガイダンス,C言語プログラミング演習1(フローチャート) |
フローチャートを理解し,問題をフローチャートで解くことができる.
|
2週 |
C言語プログラミング演習2(一次元配列) |
一次元配列を理解し,一次元配列を用いて問題を解くことができる.
|
3週 |
C言語プログラミング演習3(二次元配列) |
二次元配列を理解し,二次元配列を用いて問題を解くことができる.
|
4週 |
C言語プログラミング演習4(ソートアルゴリズム) |
ソートの基本原理を理解し,バブルソートの問題を解くことができる.
|
5週 |
C言語プログラミング演習5(文字や文字列の扱い) |
文字変数や文字列を理解し,文字や文字列の問題を解くことができる.
|
6週 |
C言語プログラミング演習6(文字列配列) |
文字列配列を理解し,文字列配列を用いて問題を解くことができる.
|
7週 |
C言語プログラミング演習7(ここまでの総合演習) |
ここまで習得した技術を駆使して簡単な表計算や文字列操作などの実践的なプログラム課題を解くことができる.
|
8週 |
前期中間までの復習(前期中間試験) |
前期中間までに習った内容を解くことができる.
|
2ndQ |
9週 |
C言語プログラミング演習8(関数とは何か:数学関数の復習と関数の概念) |
C言語における関数とは何かを理解し,引数などの用語を適切に使用できる.
|
10週 |
C言語プログラミング演習9(値を返さない関数) |
値を返さない関数の構文が理解でき,値を返さない関数を自作できる.
|
11週 |
C言語プログラミング演習10(値を返す関数) |
値を返す関数の構文が理解でき,値を返す関数を自作できる.
|
12週 |
C言語プログラミング演習11(変数の有効範囲) |
変数の有効範囲を理解し,課題に応じた適切な変数を宣言できる.
|
13週 |
C言語プログラミング演習12(再帰とは何か) |
再帰を理解し、再帰を用いたプログラムを自作することができる.
|
14週 |
C言語プログラミング演習13(ここまでの総合演習) |
ここまで習得した技術を駆使してオリジナル関数の作成や再帰呼び出しなどの実践的なプログラム課題を解くことができる.
|
15週 |
前期期末試験 |
前期期末までに習った内容を解くことができる.
|
16週 |
前期期末試験までの復習 |
前期期末までに習った内容について,自らの課題を認識し修正できる.
|
後期 |
3rdQ |
1週 |
C言語プログラミング演習15(メモリやアドレスの概念) |
メモリやアドレスの概念を理解し,変数のアドレスを表示させることができる.
|
2週 |
C言語プログラミング演習16(ポインタとは何か) |
ポインタの概念を理解し,ポインタを用いた問題を解くことができる.
|
3週 |
C言語プログラミング演習17(ポインタと配列) |
ポインタと配列の関係を理解し,ポインタを使った配列の問題を解くことができる.
|
4週 |
C言語プログラミング演習18(ポインタと文字列配列) |
ポインタと文字列配列の関係を理解し,ポインタを使った文字列配列の問題を解くことができる.
|
5週 |
C言語プログラミング演習19(ポインタと関数) |
ポインタと関数の関係を理解し,ポインタを使った関数の問題を解くことができる.
|
6週 |
C言語プログラミング演習20(ポインタの効果) |
ポインタを使ったプログラムの効果を説明することができる.
|
7週 |
C言語プログラミング演習21(ここまでの総合演習) |
ここまで習得した技術を駆使してポインタを用いた実践的なプログラム課題を解くことができる.
|
8週 |
後期中間までの復習(後期中間試験) |
後期中間までに習った内容を解くことができる.
|
4thQ |
9週 |
C言語プログラミング演習22(構造体の概念) |
構造体の概念を理解し,構造体の構文が説明できる.
|
10週 |
C言語プログラミング演習23(構造体の宣言) |
構造体の宣言を理解し,構造体を用いたプログラムが自作できる.
|
11週 |
C言語プログラミング演習24(構造体の型の定義) |
構造体の型の定義を理解し,自分で定義した型を用いた構造体のプログラムが自作できる.
|
12週 |
C言語プログラミング演習25(構造体とポインタ) |
構造体とポインタの関係を理解し,ポインタを使った構造体の問題を解くことができる.
|
13週 |
C言語プログラミング演習26(構造体の効果) |
構造体の効果・メリットを理解し,構造体を有効に活用したプログラムを作成できる.
|
14週 |
C言語プログラミング演習27(ここまでの総合演習) |
ここまで習得した技術を駆使して構造体を用いた並べ替えやベクトル計算などの実践的なプログラム課題を解くことができる.
|
15週 |
学年末試験 |
学年末までに習った内容を解くことができる.
|
16週 |
学年末までの復習 |
学年末までに習った内容について,自らの課題を認識し修正できる.
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 2 | 前1 |
論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 2 | 前1 |
コンピュータのハードウェアに関する基礎的な知識を活用できる。 | 1 | 前1 |
情報伝達システムやインターネットの基本的な仕組みを把握している。 | 1 | 前1 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 2 | 前8,前16,後8,後16 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 2 | 前8,前16,後8,後16 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 1 | |
情報セキュリティの必要性および守るべき情報を認識している。 | 1 | |
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。 | 1 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している | 1 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。 | 1 | |