到達目標
1. 必要に応じて適切な変数を定義し利用できる。A①, E②
2. 条件判断や繰り返し処理を用いて柔軟な処理を実現できる。A①, E②
3. 多次元配列を用いて効果的にデータを処理できる。A①, E②
4. 構造体を定義できる。A①, E②
5. 関数を定義できる。
6. アドレスの概念を理解し、ポインタを用いたプログラムを理解することができる。
7. キーボード・ディスプレイ、ファイルへの入力や出力処理が実現できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
論理的で順序立った思考 | 問題や課題を細分化し、順序立てて論理的に考えることができる。 | 問題や課題を細分化し、順序立てて考えることができる。 | 問題や課題を細分化し、順序立てて考えることができない。 |
プログラムの読解 | プログラムを読み解き、処理の概要や手順を具体的に説明できる。 | プログラムを読み解き、処理の概要を説明できる。 | プログラムを読み解き、処理の概要な手順を説明できない。 |
C言語の命令や処理 | C言語の命令や処理は理解し、概要説明や自由にプログラムを作成できる。 | C言語の命令や処理は理解し、概要説明や指示されたプログラムを作成できる。 | C言語の命令や処理は理解しているが、概要説明やそれらを用いたプログラムを作成できない。 |
学科の到達目標項目との関係
学習・教育到達度目標 B① 専門分野における工学の基礎を理解できる。
学習・教育到達度目標 B② 自主的・継続的な学習を通じて、専門工学の基礎科目に関する問題を解くことができる。
教育方法等
概要:
プログラミング基礎で習得した考え方を元に、変数、条件判断処理、繰り返し処理、関数、ポインタなどの概念を学び、より高次のプログラミングを学ぶ時の基礎力を養う。
授業の進め方・方法:
適宜講義を行い、演習を中心に進める。
注意点:
プログラミング基礎の内容を理解しておくこと。
すべてのレポートおよび成果物が提出されなければ、不合格とする。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
C言語の特徴,Cプログラムの実行方法,文法 |
C言語が低水準で動作することを理解し,Cコンパイラの使い方,C言語の基本的な文法を習得する.
|
2週 |
ポインタと配列 |
配列の仕組みを学習し,ポインタとメモリアドレス指定の方法を習得する.
|
3週 |
文字列 |
文字列の連結,比較,文字列内の検索を行うアルゴリズム,および文字列の配列を作成する方法を習得する.
|
4週 |
Cプログラムへの入出力 |
コマンドラインオプションの制御方法,情報ストリームの管理方法,リダイレクトの方法を習得する.
|
5週 |
分割コンパイル |
ソースファイルを部分ファイルに分割し,それらから完成形となる1つのプログラムを再構築する方法を習得する.
|
6週 |
構造体,共用体,ビットフィールド |
基本データ型をまとめる方法,メモリ空間を再利用する方法およびデータをビットレベルで制御する方法を習得する.
|
7週 |
データ構造と動的メモリ |
独自のデータ型を大規模で複雑なデータ構造に連結する方法を習得する.
|
8週 |
中間試験 |
|
4thQ |
9週 |
高度な関数 |
関数を引数とする方法および可変個引数関数の作成法を習得する.
|
10週 |
スタティックライブラリとダイナミックライブラリ |
独自ライブラリの作成法および複数のプログラムで同じコードを再利用する方法を習得する.
|
11週 |
プロセスとシステムサービス |
システムサービスを使ってプロセスを作成して制御する方法を習得する.
|
12週 |
プロセス間通信 |
1つのタスクを複数のプロセスが連携して実行する方法を習得する.
|
13週 |
ソケットとネットワーキング |
サーバとして機能するプログラムおよびクライアントとして機能するプログラムの作成法を習得する.
|
14週 |
スレッド |
POSIXスレッドの作成方法と同期メカニズムを使ってデータの整合性を保つ方法を習得する.
|
15週 |
総合演習 |
|
16週 |
定期試験 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | 後9 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | 後9 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | 後9 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | 後1,後3 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | 後9 |
変数の概念を説明できる。 | 3 | 後1,後2,後3,後6,後7 |
データ型の概念を説明できる。 | 3 | 後1,後2,後3,後6,後7 |
制御構造の概念を理解し、条件分岐を記述できる。 | 3 | 後1,後3,後7 |
制御構造の概念を理解し、反復処理を記述できる。 | 3 | 後1,後3 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | 後1 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | 後5 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 3 | |
評価割合
| 試験 | 演習課題 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 30 | 70 | 0 | 0 | 0 | 0 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 30 | 70 | 0 | 0 | 0 | 0 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |