筆記試験のポイント

本演習科目では筆記試験を実施する。持ち込み許可物は無し。

試験範囲

試験範囲は基礎プログラミング演習で扱ったUNIXコマンドおよびC言語の基本(順次実行〜配列)である。HandyGraphic自体は試験では扱わない(C言語の標準機能ではないので)。なお、「HandyGraphic自体は」というのは、HandyGraphicの関数(ウィンドウを開く、図形を描くなど)のことであって、HandyGraphicを使って学習したC言語の基本(順次実行、変数、など)は当然試験の対象となることに注意。また、「高度な内容」で紹介する内容も試験範囲外とする。

試験の形式

本演習科目では、次の3種類の問題を出題する。合計10問程度を予定している。なお、1つの問題で複数の解答(プログラムを解答する問題の穴埋めやコマンドに関する問題)を要求する場合もある。

実行結果を解答する問題(4〜5問ほど)

プログラムが示されるので、それを実行した時にターミナルに出力される結果を解答する問題。

プログラムを解答する問題(4〜5問ほど)

処理内容と実行例が与えられるので、それを正しく実行できるプログラムを解答する問題。なお、本演習科目ではプログラムの一部を書いて完成させる形式の出題をする。いわゆる穴埋め問題。穴に書くコードは変数一つ程度である場合もあるし、複数行に渡る場合もある。

コマンド・ファイルシステムに関する問題(1問ほど)

UNIXコマンドやファイルシステム(ファイルパス)に関する問題。コマンドはファイル操作などの基本的かつプログラミング作業でよく使うものを出題する。ファイルパスは絶対パスと相対パスの両方を理解すること。

問題の難易度

3種類の問題とも、易しい問題から難しめの問題まである。構成としては、必ず正答できなければならない問題が全体の4〜6割、少し難しめだが基本を理解していれば正答できる問題が2〜3割、難しめで総合的に理解できていなければ正答できない問題が2〜3割程度を予定している。

採点基準

基本的に、設問ごとに完全解答のみ。実行結果を解答する問題は、正答は1つしか存在しない。プログラムを解答する問題は、正しく実行できて与えられた処理内容と実行例となれば原則どのようなプログラムでも正解であるが、人間が見て即座に理解できないような複雑怪奇なプログラムの場合は減点あるいは不正解とすることもある。

ただし、軽微なミスは大目に見て正答、あるいは少々の減点とすることもある。例えば、printf文の書式指定文字列中に\nが書いてないのに改行している実行結果を書いた場合など。

また、問題によっては部分点を与える場合もある。例えば条件判定で<=とするべき箇所を<とした場合など。部分点を与えるかどうか、またどの程度の部分点とするかは、その間違いがどの程度基本的なことかどうか、また、プログラムの実行上どの程度クリティカルか(上記の例なら、=が抜けたことによってどの程度実行結果が変わってしまうか)による。

筆記試験対策

プログラミングの基本が分かっていれば特に対策するようなことは無いと思うが、筆記試験ならではのコツはあるので紹介しておく。

実行結果を解答する問題

実行する順序どおり丁寧にたどっていけば必ず正解になる。自分がコンピュータになったつもりで、面倒くさがらずに変数の値がどうなっているかをメモしながら最後まで実行してみるとよい。このためには、条件分岐や繰り返しの仕組みを完全に理解している必要がある。

なお、繰り返しの含まれるプログラムの場合、2、3回繰り返しを追っかけてみてどのような計算をやっているのかを推測できれば、繰り返しの終了条件さえ間違わなければ手間を省略することもできるが、間違った思い込みをしないように注意する必要がある。

プログラムを解答する問題

まず与えられた処理内容をざっと読み、実行結果を見て、どのような計算をしようとしているのかを理解する。短いプログラムの場合はこれで答えられるだろう。長めのプログラムの場合は、処理内容を幾つかの手順に分割しているはずなので、どの部分が何をしているのかを見極める(ヒントとしてコメントが書かれていることもある)。また、それぞれの変数がどのような役割になっているのかもしっかり確認しておく(これもコメントが書かれていることもあるし、変数名が手掛かりになることもある)。穴になっている部分でどのような計算をしなければならないかを考え、それをプログラムコードとして書く。書けたら、実行結果を解答する問題と同様にして実行結果が正しくなるかどうか確認するとよい(このチェックをすることで、例えば繰り返しの終了条件のミスなどを防ぐことができる)。

穴埋め型の問題の場合、自分の書き慣れたプログラムのスタイルと違うこともあるので、普段から様々な書き方に慣れておく必要がある。例えば、while文ばかり使っていてfor文を使い慣れていないと、for文の穴埋め問題が出たときに答えられないかもしれない。

筆記試験に関する、とてもとてもとてつもなく重要な補足

本演習科目では定期試験の成績が合格基準点(標準では60点、ただし問題の難易度などに基づき調整することがある)に満たない場合は不合格とする。

筆記試験を受験していない場合も不合格となるので注意。なお、やむを得ない事情(例えば急病や交通機関の不通など)の場合は何らかの救済措置を取るので、事前に判明している場合は事前に、当日生じた場合はできるだけ速やかに担当教員に相談すること。