わさっきhb

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

プログラミング技能チェックの分類

「構造体を定義してプログラムを書ける」だとか「x++;という式について,xが算術型とポインタ型の場合で違いを説明できる」だとかいった文を多数並べて,各学習者が,どこの技能を習得できていないかを確認したり,教員が,学習者の習得状況の傾向を把握したりするというのは,広くなされています.
学科内でも自己チェック表が活用されてきました.より使いやすいチェック表が求められているのですが,それを作る前に*1,チェック表の作り方を,分類してみることにしました.

  1. 誰を対象とするか?
    • ある時点(例えば,1年後期終了時)でのみ調査するのか?
    • 同一学生に対して,定期的に調査するのか?
  2. 何をチェックするのか?
    • 学習内容の定着か?
    • プログラムを書くための基礎能力か?
    • 提供する例題プログラムの妥当性か?*2
  3. 言語を特定するか?
    • C言語に限定するか?
    • プログラミング技術(スタック,キューなど)も問うか?
  4. どんな回答方法か?
    • Yes/No か?
    • 活用できる/理解している/理解していない/知らない から選ぶか?
    • 答えを書かせるか?(例:3次元平面の点を格納する構造体を定義できる.)*3
  5. 設問に番号を振るか?
    • 一つの通し番号にするか?
    • セクション分けするか? どのように分類するか?
    • 番号を振らないか?
  6. 一つのチェック項目に複数の問いを許すか?
    • 一つのチェックに一つの問いだと,項目数が過大になりがち
    • 一つのチェックに複数の問いだと,回答に迷うことも
  7. 設問数はいくつか?
    • 多すぎると,答えるのが疲れる
    • 少なすぎると,技能の見極めができない
  8. 設問をどのように配列するか?
    • 授業内容の順か? どの科目に基づくか?
    • 基礎(あるいは個別技法)から応用(技法の組み合わせ)へとするか? 直列化できるのか?
  9. 回答をどうするか?
    • 回答者(学生)に提出してもらって,出題者サイドで統計処理するか?
    • 学生が自己チェックとして使うのみとするか?

*1:そもそも自分から新しいリストを作るという予定は,ほぼありませんでして.

*2:例えば,例題プログラムを行,チェック項目を列にした,行列を作ります.行列の各要素は,該当行のプログラムと該当列のチェック項目に関連があるなら1,なければ0とします.各プログラムで,すでに解説した技能をどれだけ使っているかとか,まだ解説していない項目に依存していたりしないかとか,ある項目に関する例題が皆無あるいは非常に少ないとかが,視覚化されます.そのような行列を作るのは,学生ではなく,授業担当者ですね.

*3:これはテストですね.