到達目標
1. コンパイルの概念を理解し,説明できる.Windowsコマンドプロンプトからのファイル操作,およびgccを用いたコンパイルと実行ができる.printfやscanfを用いた基礎的なプログラムを作成できる.
2. 繰り返し文を用いたプログラムを作成できる.多次元配列や多重ループを用いて効率的な処理を行うプログラムを作成できる.
3. 関数を作成して,呼び出すことができる.変数のスコープを理解できる.整数型と実数型の内部表現の違いと注意点を理解できる.負値の内部表現を説明できる.
4. バブルソートや再帰呼び出しのアルゴリズムをプログラムで実現できる.ポインタを使用したプログラムを作成し,スコープを超えた別関数からポインタ操作ができる.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | コンパイルの概念を理解し,説明できる.Windowsコマンドプロンプトからのファイル操作,およびgccを用いたコンパイルと実行ができる.printfやscanfを用いた高度なプログラムを作成できる. | コンパイルの概念を理解し,説明できる.Windowsコマンドプロンプトからのファイル操作,およびgccを用いたコンパイルと実行ができる.printfやscanfを用いた基礎的なプログラムを作成できる. | コンパイルの概念を説明できない.Windowsコマンドプロンプトからのファイル操作や,gccを用いたコンパイルや実行ができない.printfやscanfを用いた基礎的なプログラムを作成できない. |
評価項目2 | 繰り返し文を用いたプログラムを作成できる.多次元配列や多重ループを用いて効率的な処理を行うプログラムを作成できる. | 繰り返し文を用いたプログラムを作成できる.配列やループを用いた効率的な処理を行うプログラムを作成できる. | 繰り返し文を用いたプログラムを作成できない.配列やループを用いた効率的な処理を行うプログラムを作成できない. |
評価項目3 | 関数を作成して,呼び出すことができる.変数のスコープを理解できる.整数型と実数型の内部表現の違いと注意点を理解できる.負値の内部表現を説明できる. | 関数を作成して,呼び出すことができる.変数のスコープを理解できる. | 関数を作成や呼び出すができない.変数のスコープを理解できない. |
評価項目4 | バブルソートや再帰呼び出しのアルゴリズムをプログラムで実現できる.ポインタを使用したプログラムを作成し,スコープを超えた別関数からポインタ操作ができる. | 再帰呼び出しのアルゴリズムをプログラムで実現できる.ポインタの概念を理解できる. | 再帰呼び出しのアルゴリズムをプログラムで実現できない.ポインタの概念を理解できない. |
学科の到達目標項目との関係
準学士課程(本科1〜5年)学習教育目標 (2)
説明
閉じる
教育方法等
概要:
携帯電話・スマートホンをはじめとして,炊飯器や洗濯機にまでマイクロコンピュータが搭載されている.そのため,ハードウェア技術だけで製品設計を行うことは難しく,必ずソフトウェアプログラミングが必要となる.本講義では,広く汎用的に使用されているC言語の基礎事項を講義する.
授業の進め方・方法:
座学に講義に加えて,実際にプログラミング演習を行うことで基本事項を確認する.
注意点:
〇関連科目
ディジタル回路,コンピュータハードウェア,組み込みシステム
〇学習指針
講義に加えて,多くの演習に取り組むことが必要である.講義中にも,実際にプログラミングを行う演習時間を確保するが,講義時間だけで技術習得することは難しい.演習室や自宅のプログラミング環境を利用して,予習復習を行うことが望ましい.
〇その他
定期試験は,前期中間・前期末・後期中間の3回実施する.(学年末試験は行わない)
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
プログラム |
コンピュータとプログラム
|
2週 |
C言語の開発環境 |
エディタ,コンパイラの使い方,printf
|
3週 |
変数 |
変数と宣言,代入,初期化
|
4週 |
読み込みと表示 |
キーボードからの読み込み,scanf,puts
|
5週 |
演算と型 |
演算子
|
6週 |
演算と型 |
データ型,型キャスト
|
7週 |
前期中間試験 |
授業内容を理解し,試験問題に対して正しく解答することができる.
|
8週 |
分岐 |
if
|
2ndQ |
9週 |
分岐 |
switch
|
10週 |
繰り返し |
do,while
|
11週 |
繰り返し |
for
|
12週 |
繰り返し |
多重ループ
|
13週 |
配列 |
一次元配列
|
14週 |
配列 |
多次元配列
|
15週 |
前期末試験 |
授業内容を理解し,試験問題に対して正しく解答することができる.
|
16週 |
試験返却・解答 |
試験問題を見直し,理解が不十分な点を解消する.
|
後期 |
3rdQ |
1週 |
関数 |
関数定義,返却値,引数,
|
2週 |
関数 |
ヘッダ,インクルード
|
3週 |
関数 |
スコープ
|
4週 |
基本型 |
整数型,文字型
|
5週 |
基本型 |
内部表現とビット,補数
|
6週 |
基本型 |
浮動小数点型,演算子の優先順位
|
7週 |
後期中間試験 |
授業内容を理解し,試験問題に対して正しく解答することができる.
|
8週 |
いろいろなプログラム |
バブルソート
|
4thQ |
9週 |
いろいろなプログラム |
再帰呼び出し
|
10週 |
文字列 |
文字列,文字列リテラル
|
11週 |
文字列 |
文字列配列,文字列の操作
|
12週 |
ポインタ |
アドレスとポインタ
|
13週 |
ポインタ |
ポインタと関数・配列
|
14週 |
文字列とポインタ |
配列による文字列とポインタによる文字列の違い
|
15週 |
構造体 |
並び替え,構造体のメンバ
|
16週 |
ファイル処理 |
ファイルとストリーム,テキストとバイナリ
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
評価割合
| 試験 | 演習レポート | 合計 |
総合評価割合 | 60 | 40 | 100 |
基礎的能力 | 60 | 40 | 100 |