概要:
第1、3、4学期開講
C言語の基本技術として、配列、関数、文字列、ポインタ、構造体を学習する。
また、リダイレクトやコンパイラーのオプションなどについても学習する。
授業の進め方・方法:
本講義は、1回当たり4単位時間連続して講義と演習を実施する。情報処理演習室で、初めに解説を行った後、プログラミング演習を行う。コンピュータ、ネットワークの利用についてはマナーを守ること。ホームルームからの移動は速やかに行い、遅れないようにすること。
注意点:
第4学期のみ試験を行います。また、第1学期末に補講が入りますので、注意すること。
教科書を持参し、細部について参照ながら理解を深めること。また、教科書の授業内容の範囲を熟読し、復習しておくこと。
演習が時間内に終了しない場合もあり得るが、放課後などを利用して実施し、期限までに必ず提出できるようにすること。
課題レポートの提出期限は厳守すること。原則、再試験は実施しない。
プログラミングが得意な学生は、与えられた課題をこなすだけで満足せず、追加課題を教員に求めること。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス 入出力の復習 |
シラバスから学習の意義、授業の進め方、評価方法を理解できる。 出力と変数、入力、条件分岐ついて、種々のデータに関するレポート作成ができる。
|
2週 |
関数:教科書第6-1節を学習する。 |
関数の呼び出しを含むプログラムを読めるようになり、関数の定義を自分で書けるようになる。
|
3週 |
関数の設計:教科書第6-2節を学習する。 |
教科書6-2節を理解し、値を返さない関数や仮引数を受け取らない関数を作成することができる。
|
4週 |
関数の応用:教科書第6章の例題をもとに関数利用時の注意事項や探索プログラムへの応用例を学習する。 |
配列を引数とする関数に関する注意点を理解するとともに、線形探索のアルゴリズムを理解し、プログラムを作成することができる。
|
5週 |
基本型:教科書第7章を学習する。 |
C言語に現れる様々な基本型の違いについて理解し、状況によって使い分けることができる。整数の2進表現について理解し、目的に応じたビット演算を行うことが出来るようになる。
|
6週 |
いろいろなプログラム:教科書第8章を学習する。 |
関数形式マクロや列挙体などを用いたプログラムを作成できるようになる。また、ソートや再帰などのアルゴリズムを理解し、実行結果を予想できるようになる。
|
7週 |
文字列の基本・文字列の配列:教科書第9-1節および第9-2節を学習する。 |
文字列や文字列リテラルの基本を理解し、プログラムを作成できるようになる。
|
8週 |
文字列の操作:教科書第9-3節を学習する |
文字列の長さを求める関数や文字列内の数字文字の出現回数を求めるプログラムについて理解し、実行結果を予想できるようになる。
|
2ndQ |
9週 |
|
|
10週 |
|
|
11週 |
|
|
12週 |
|
|
13週 |
|
|
14週 |
|
|
15週 |
|
|
16週 |
|
|
後期 |
3rdQ |
1週 |
関数に関するプログラミング演習:課題を課す |
与えられた仕様に基づき、関数の実装ができるようになる。
|
2週 |
文字列に関するプログラミング演習:課題を課す |
文字列を扱うプログラムに適語補充を行い、プログラムを完成できるようになる。
|
3週 |
ポインタ:教科書第10-1節および第10-2節(途中まで)を学習する。 |
メモリ空間上のアドレスを指すポインタの概念を理解し、アドレス演算子やポインタ型などを用いたプログラムの挙動を説明できるようになる。
|
4週 |
ポインタと関数・配列:教科書第10-2節(途中から)および第10-3節を学習する。 |
ポインタを引数として受け取る関数に関するプログラムの作成ができるようになる。
|
5週 |
文字列とポインタ:教科書第11-1節および第11-2節を学習する。 |
配列とポインタの共通点と相違点を理解し、これらを用いたプログラムの作成が出来るようになる。
|
6週 |
文字列を扱うライブラリ関数:教科書第11-3節を学習する。 |
文字列を扱う代表的なライブラリ関数に関する仕様を理解し、これらを呼び出すプログラムの作成が出来るようになる。
|
7週 |
構造体:教科書第12-1節(途中まで)を学習する。 |
構造体の必要性について理解し、目的に応じた構造体を定義できるようになる。構造体や構造体のポインタを引数に持つ関数の作成が出来るようになる。
|
8週 |
構造体:教科書第12-1節(途中から)および第12-2節をア学習する |
typedefや->演算子など、構造体を用いたプログラムの可読性を向上する方法を学び、これらを用いたプログラムが読めるようになる。また、構造体のメンバーに別の構造体を含むプログラムについて理解し、実行結果が予想できるようになる。
|
4thQ |
9週 |
ファイル入出力:教科書第13章および配布資料に基づいて演習を行う。 |
標準入出力の概念を理解し、指示に従ってリダイレクトやパイプを用いたコマンドの実行ができるようになる。また、ファイル入出力関数を用いたファイルへの入出力のプログラムを指示に基づいて作成できるようになる。
|
10週 |
コンパイルオプションとエラーメッセージ:配布資料に基づいて演習を行う。 オリジナルプログラム:構造体を用いた自由課題に取り組む。 |
これまでに用いたコンパイルオプションについて整理し、指示が無くても自分で考えてオプション指定が出来るようになる。また、コンパイル時や実行時のエラー状況をもとに、エラーの原因をつきとめ、修正する方法を習得する。自由課題では、題材を自ら選び、その題材に適した構造体を定義できるようになる。
|
11週 |
ファイル分割:配布資料に基づいて演習を行う。 オリジナルプログラム:構造体を用いた自由課題に取り組む。 |
指示に基づいて、単一ファイルのソースコードを順を追ってファイル分割できるようになる。また、ヘッダファイルとインクルードの役割について理解し、これらを用いたプログラムの構成を理解できるようになる。また、makeコマンドを用いたコンパイルを指示に従ってできるようになる。自由課題では、定義した構造体のデータを表示するプログラムをmain関数内に作成できるようになる。
|
12週 |
課題演習:オンラインテストに基づく演習を行う。 オリジナルプログラム:構造体を用いた自由課題に取り組む。 |
これまでの学習範囲を対象とするオンラインテストに取り組み、自分の理解度について再確認できる。解説が必要な単元について自分で判断し、教員に示すことができる。自由課題では、つまづいた個所に関するフィードバックをもとに、エラーへの対処を進めることができる。
|
13週 |
課題演習解説:オンラインテストのフィードバックを行う。 オリジナルプログラム:構造体を用いた自由課題に取り組む。 |
オンラインテストの解説を聞き、オンラインテストレベルの問題が解けるようになる。自由課題では、機能ごとの関数化やデータの充実、ファイル入出力等、これまでに学んだ内容を理解度に応じて採り入れることができる。
|
14週 |
総合説明、試験準備 |
これまでの疑問点を質問することで疑問点の解消ができる。
|
15週 |
(定期試験) |
|
16週 |
試験返却 授業改善アンケートの実施 |
試験問題の解説を通じて間違った箇所を理解し,正しい解答を説明できる。また、授業改善アンケートを行う。
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
変数の概念を説明できる。 | 3 | |
データ型の概念を説明できる。 | 3 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 3 | |
制御構造の概念を理解し、反復処理を記述できる。 | 3 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 4 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 4 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 4 | |
主要な計算モデルを説明できる。 | 4 | |