わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

プログラミングのチェックリスト

(1) プログラム完成時

  • 仕様に合ったプログラムを作ることができた.
  • 与えられた例に対して,適切に動作するのを確認した.
  • 自分で例を用意し,それに対して,適切に動作するのを確認した.
  • 採点されたり,後輩に読まれたりしてもいいよう,ソースコードを清書した.
    • 適切なコメントをつけた.
    • 変数名・関数名を配慮した.
    • 空白(インデントを含む)・改行を配慮した.
  • 行うべき処理に対して,妥当な手段(アルゴリズム,ライブラリ関数など)を用いた.
  • 配列とポインタを適切に使い分けた.
  • ファイルの場所(ディレクトリ)やファイル名は,適切なものにした.
  • プログラム作成の意図を理解できた.
  • 知識・技能を得た.

(2) エラー発生時

  • エラーの状況を認識している.
    • コンパイルエラーである.
    • 実行時エラーである.
    • 論理エラーである.
  • エラーの原因となる行を認識している.
  • 変数名・関数名が間違っていないことを入念にチェックした.
  • 全角空白( )がないことを入念にチェックした.
  • ポインタ変数は,指し示させてから,参照している.
  • 論理演算子(&&, ||, !)とビット演算子(&, |, ~)は,適切に使い分けている.
  • '…' と "…"は,適切に使い分けている.
  • 配列宣言をする際,その型および要素数は適切である.
  • 関数呼び出しをする際,実引数の並び(個数,値)は適切である.
  • forループ用の変数名および取り得る値の範囲は適切である.
  • 反復処理において,変数の値がどのように変化するかを認識している.
  • 各変数の有効範囲は適切である.
  • コメントの範囲は適切である.
  • リソースを浪費する処理(反復でのmalloc系関数の呼び出し,無限の再帰呼び出しなど)をしていない.

(3) プログラミングに取りかかって,行き詰まった時

  • テキストエディタでファイルを開く方法を忘れた.
  • テキストエディタでファイルを保存する方法を忘れた.
  • main関数を含む,プログラムの基本構成を忘れた.
  • 具体的な書き方を忘れた.
    • 関数定義の書き方を忘れた.
    • 変数宣言の書き方を忘れた.
    • for文の書き方を忘れた.
    • 関数呼び出しの書き方を忘れた.
    • ヘッダファイルをインクルードするための書き方を忘れた.
  • シェルを起動する方法を忘れた.
  • コンパイルのコマンドを忘れた.
  • コンパイルしてできたファイルを,実行する方法を忘れた.

なにこれ

春休みを終えて,授業で新たなプログラミング課題に取り組む学生を支援したいと思い,作ったチェックリストです.
今年になって書いた,アルバイト型プログラミング,正社員型プログラミングと関連があります.それら2種類のプログラミング形態を結びつけるもの,と言ってもいいでしょう.
本日は,トラブルの原因を自分なりに認識して,そこからどうするかについては,まったく書いていません.教員に相談すれば,道は切り開けやすいと思います.過去のエントリを見直してみたところ,いくつかエラーの発見・除去の方法を書いていましたので,リストにしておきます.

実はもう一つ,きっかけとなったブログ記事があります.論文執筆経験の浅い研究者・学生のための『査読模擬体験票』 | Chase Your Dream !です.「論文執筆経験の浅い研究者・学生のために,査読者を擬似体験してもらい,赤ペン先生の負担を減らし,通る論文を書いてもらうために」作成されたとのこと.こちらは「プログラミング経験の浅い学生のために,先生の立場を疑似体験してもらい,教員・TAの負担を減らし,課題をパスするプログラムを書いてもらうために」企画した次第です.

ファイル

ExcelファイルとPDFファイルを作り,利用しやすくしました.中に書いていますが,ライセンスはCC BY-SAとします.

(最終更新日時:Tue Apr 3 20:58:45 2012ごろ.「ファイルに」の節を追加しました.)