わさっきhb

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

xkillでアプレット終了

火曜日は,某ゼミを欠席し,教員参観に行ってきました.
場所は演習室,言語はJavaです.例題によって,アプレットだったり,mainを含むJavaアプリケーションだったりでした.学生は慣れた手つきで,Eclipseでプログラムを打ち込み,動作確認をしたり,コードを書き換えたりしていました.
巡回して…アプレットを終了させるのに,xkillコマンドを使っているのが,目につきました.何人もいます.全員がそうというわけでは,ありませんでした.
具体的には,こうです.あらかじめ起動させていたターミナルを表示させ,「xkill」を実行します.マウスカーソルがドクロになったところで,アプレットをクリックします.そして,Eclipseをアクティブウィンドウにします.
ある学生は,「kill」を実行し,エラー表示を見て固まっていました.後ろから,「えっくすきる,かな?」と声をかけると,あっそうだと,手が動き始めました.
それにしても,アプレットの終了は,素直にウィンドウを閉じてもいいはずですし,Eclipseからも終了の指示を出せるはずです.実際,実行中には「停止」を思わせる赤ボタンがEclipse上に表示されます.それと比べると,xkillを実行するために毎回「ターミナルを出す」のが,なんとも不自然であり,非効率に見えます.
担当の先生に尋ねたところ,この科目の初めのうちは,シェル上でコマンドを実行してコンパイルし,アプレットを起動していたので,その際に,終了のコマンドにxkillを指導していたとのこと.そして開発環境をEclipseに移行しても,従来の方法でもいいとなっていたようです.
一つのこと(この場合だと,アプレットウィンドウの終了)に対して,複数のやり方があるときに,どれを選ぶか…
という問題設定をしてみたところで,学生にとっては,どうでもいいことです.こんなことが,成績に直結しないのですから.
しかし,コードを書き足し,コンパイルして動作確認といった「サイクル」において,その各ステップを見直し,必要に応じて改善できるようになることも,技術者には求められています.改善を通じて,作業の効率化が図れます.1サイクルが30秒のところを25秒に短縮できたら,単純計算で,それまで1時間かけていたコーディング時間が50分になるわけです.10分は休養にあてるもよし,新たなアイデアを考えるもよしです.
効率をいう前に,一つの目的に対して複数の手段がとり得るのを知っていることは,それだけで技能です.他の人の振る舞いを見たときに,自分のやり方と比べて,そこから学べることにも使えます.ときには,まあその人はそんなもんかと,判断(値踏み)することも,あるかもしれません.
その一方で,その技能を,大学生活のどこで身につけさせればいいのかというと,難しい話です.早いうちから,複数の手段を認識させるよりも,まずは一つの方法を習熟させ,他の方法は「自分を支えるもの」ができてからのほうがいい,という考え方もあるからです.
問題解決への認識が,授業ごとに,また教員の間でも異なっていることが,学生に不信感を募らせ…そんなことはないか,それでも,各授業に対する「敬意」もしくは「学習意欲」を,低くしているようにも感じるのです.