わさっきhb

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

いける学生・あかん学生(プログラミング)

いける学生・あかん学生をビデオに撮って,学生に見せるだとか,動画として公開するだとかできればなあと思ったりします*1
学生の名誉を考えると,授業中の実際の状況というよりは,再現VTR風のほうがいいでしょうね.

1. 課題プログラム打ち込み編*2

  • いける学生は,問題文に一通り目を通してから,打ち込み始める.
  • あかん学生は,とりあえず打ち込んで,打ちにくい行に苦労する.
  • いける学生は,課題に取りかかる前に,使用するソフトウェアをすべて起動する.
  • あかん学生は,ファイルを打ち込み終えてから,ターミナルを起動するので,時間をロスする.
  • いける学生は,テキストエディタは最初の1回だけ起動し,作業に必要な分だけファイルを開く.
  • あかん学生は,一つのファイルにつき一つのテキストエディタを起動する.複数起動していると,どのファイルを編集しているか間違える.*3
  • いける学生は,インデントはテキストエディタに任せる.
  • あかん学生は,インデントの空白を律儀にタイプする.
  • いける学生は,同じや類似のコードにはコピー・ペーストを活用する.
  • あかん学生は,同じ処理でも一つ一つ打ち込む.
  • いける学生は,数行前に「{」を忘れていてインデントがおかしくなったのに気づくと,必要最小限の操作で補正する.
  • あかん学生は,数行前に「{」を忘れていてインデントがおかしくなったのに気づくと,BackSpaceで削除して,打ち直す.
  • いける学生は,シェル上で,上矢印やTab補完などを活用して,コンパイル・実行時のタイプ数削減に努める.
  • あかん学生は,コンパイル・実行のコマンドを,毎回毎回1文字ずつタイプする.
  • いける学生は,コンパイルエラーが大量に出たら,エラー発生の最初の行からプログラムを読み直す.
  • あかん学生は,コンパイルエラーが大量に出たら,エラー出力の終わりの表示をもとにバグ取りを試みる.またはエラーメッセージを無視してプログラム全体を読み直す.

2. プログラム作成編

  • いける学生は,ノートまたはメモ用紙を用意し*4,プログラムの構想を練る.
  • あかん学生は,いきなりプログラムを打ち込み始め,頓挫する.
  • いける学生は,メモ用紙にプログラムコードを書かない.文字や数値などで,プログラムの期待する動作を図にしていく.
  • あかん学生は,先生から「メモ用紙に書いてみるといいよ」と言われて取り出し,プログラムコードやフローチャートを書いていく.
  • いける学生は,main関数から書くが,複数の自作関数を呼び出すだけとする.
  • あかん学生は,main関数にすべての処理を書こうとする.
  • いける学生は,プログラムコードだけでなくコメントも記述する.
  • あかん学生は,プログラムコードだけで突っ走る.
  • いける学生は,ライブラリルーチンを積極的に活用する.
  • あかん学生は,使用するといいよと言われたライブラリルーチンだけを使う.
  • いける学生は,論理エラーに気づくと,期待する動作と現在の挙動との違いをよく見て,解決を試みる.
  • あかん学生は,論理エラーに気づくと,変数に1足したり引いたりといった,小手先だけのやり方で解決を試みる.
  • いける学生は,不要と分かったコードを,テキストエディタのカット機能で削除する.やっぱり必要と思ったら,ペーストする.
  • あかん学生は,不要と分かったコードを,BackSpaceで削除する.やっぱり必要と思ったときに,テキストエディタのさまざまな機能を試みるが,10分ほど頑張ってから,あきらめて打ち直す.
  • いける学生は,必要に応じて手持ちの本を開いたり,ブラウザから検索をしたりして,あやふやな知識を見直す.正しい知識を,メモ用紙や,ソースファイルのコメントに残す.*5
  • あかん学生は,テキストエディタとにらめっこする.うまくいかないときは友人や教員に相談するが,そこで得た重要な情報を記録しないため,聞き直すこともしばしば.
  • いける学生は,友達が多い.プログラミングについて友人から相談を受けることもあり,議論を通じて自分の考えの正しさを確認したり,おかしなところを修正したりする.
  • あかん学生も,友達が多い.プログラミングについて友人から相談を受けると,適当に答え,あとで「ちゃうかったやんけ」と叱られても悪びれない.

*1:いける教員・あかん教員の授業風景をビデオに撮って,学生だけでなく教員の間でも見るだとか,動画として公開されるだとかは嫌だなあと思ったりもします.

*2:C復習学習案 - わさっき

*3:ひどい学生は,コンパイル前にテキストエディタを終了させ,エラーが出れば,またテキストエディタを起動する.…これを見たときは即指導しました.

*4:プログラミングのための5つの有用ツール - わさっき

*5:もっといける学生は,知識だけでなくその情報源(書名とページ,URL)も記録に残す.