ラベル Programming の投稿を表示しています。 すべての投稿を表示
ラベル Programming の投稿を表示しています。 すべての投稿を表示

2011年11月17日木曜日

どうやら合格

後期も半ばをすぎて、授業評価の結果が出ました。現在担当している 3科目とも、評価が4.0を超え、合格点となりました。

私にとって、プログラミング入門に位置付けている一年生向けの講義で“楽しい”という評価が多かったことが、一番嬉しいことです。大学のプログラミング教育については様々な問題点が指摘されていますが、学生たちが今後伸びていくためには、何よりも楽しむことが一番であると考えています。今の職に就くとき、採用面接で“プログラミングの楽しさを伝えたい”という抱負を述べて、その場にいた一同から“いや〜それは難しいんじゃないかな”とかなり渋い顔をされたことを覚えています。その抱負に対して、私なりの最初の結果を出せたのではないかと思っています。

前期の評価は芳しくありませんでした。前期の科目は二年生向けで、プログラミング入門を終えた学生を対象に教えたつもりでいたのが、実は彼らには全くスキルの蓄積がなかったという点が最大の敗因でしょう。大学のプログラミング教育の問題点そのものズバリです。私は“楽しさ”がスキルの蓄積を促すと考えていますが、その関係は、来年の前期の結果を待って、また考えることにします。

資料に関する反省点も数多くあります。最大のものは、資料を PDF で配ってしまったことです。その方が便利だろうと思っていたのですが、これは全く逆でした。中には資料を閲覧する度にWebサイトにアクセスして、しょっちゅう参照しなければいけないはずの資料を出すのに毎回多くの時間をかけてしまう学生がたくさんいました。これでは何も身につきません。もちろん、これは学生側のスキルの問題と片付けてしまうこともできるでしょう。ですが、後期は紙の資料にしました。紙の物理的な制約が加わったことで、コンテンツが厳選されるという副次的な効果もありました。

他にも色々なノウハウが溜まってきていて、早く論文にまとめたいです。明日の授業の準備を早く終わらせなきゃ…。初年度は色々つらいことが多い。

2011年10月10日月曜日

WebDAV ドライブをマウントする

Windows 7 の話です。Windows は一切使いたくないのですが、PC 教室が Windows しかないので仕方ありません…。

学生さんに講義で使うファイルを .zip ファイルで配ると、ありとあらゆるトラブルが発生します。解凍の仕方が分からない、から始まって解凍して所定の位置に置くまでが一苦労。後日、後生大事に .zip ファイルをとっておいた学生が、Windows のおせっかい機能である「zip フォルダ」を使っていることに気づかずにファイルを編集しようとして、またトラブルになります。

今は WebDAV で配布することを検討中ですが、Windows 7 ではこれまた簡単にはいかないご様子…。一番簡単なのが、コマンドラインインターフェースのようなので、コマンドを書いたバッチファイルをダウンロードさせるという回りくどいことをしないといけないかな…。

ということで、Windows 7 の WebDAV 関係のメモです。

WebDAV マウント

http://host/path に接続し、x: ドライブにマウント。

net use x: http://host/path/

認証はコマンドライン上で行われる。

Active Directory の認証を WebDAV でもそのまま使うことはできると便利ですが、どうしたらいいのでしょうか?

マウント解除

x: ドライブのマウントを解除

net use x: /delete

ログオフするとマウント解除されるので、放置してもよさそう。

そういえば、管理者権限は要るんでしょうか…。やっぱり学生に一度やらせてみないとだめですね。はぁぁ…。Windows を使うのは本当に鬱だ。

2011年6月12日日曜日

プログラムのプレゼンで Courier は×

私も講義を担当するようになり、学生にプログラムを見せているわけですが、どうも予想外のことが起こっています。

ちょっと信じられない話ですが、JavaScript で getElementById() を getE1mentById() とタイプする学生が後を絶ちません。小文字のエルと数字のイチを見間違えるわけですが、学生に言わせると、「フォントが悪い」とのことです。単語の中に突然数字は出ないだろう、そんなの常識だ、という理屈は通らないのです。学生は「見慣れている MS ゴシックにしろ」と言いますが、あんな出来の悪いフォントは即座に却下です。キミたち、論理和のところで縦棒が出たら、また分からん言うんでしょ?

等幅と言えばこれでしょう、ということで、まずは Courier です。組版の常識では、普通はこれを使います。LaTeX でも何も考えなければ、これで出てきます。まあ、小文字のエルと数字のイチが区別しにくいと言われれば、まあそんな気もします。

こちらは Mac 伝統の Monaco です。ちょっと大きめなので、Courier よりサイズを小さくしています。小文字のエルと数字のイチは、はっきり違う特徴が現れています。縦棒との区別も OK です。ちょっと手書きチックな文字で、a とかの骨格が他のフォントと違いますが、なんだかんだで、アリな気がします。全体的なバランスでは、Monaco を使うのが良い気がします。

Mac OS X になってから追加された Menlo です。伝統的なタイプ設計に習って、小文字を大文字より大きくしているところが特徴です。小文字のエル、数字のイチと縦棒は、それぞれ違う特徴で識別できます。Monaco より文字のクセがないので良さそうです。唯一、上には現れてませんが、% だけがクセがあります。

Mac OS X になってから追加された Andale Mono です。全体的にスカスカで、ゼロなどの文字にクセがあります。g は他のフォントとは骨格が違います。ちょっと玄人好みで、学生に見せるにはイマイチな気がします。

色々検討した結果、Menlo を採用することにします。これらのうち、iPad には Courier しか入っていないので、やっぱり Courier は捨てがたいんですよね。プログラミングの講義では iPad だけで済ますのは無理なので、まあよしとしますか。

2011年1月27日木曜日

苦しんで覚えるC

何ともストイックなタイトルですが、苦しんで覚えるCは、内容は看板の通りストイックな文面ですが、よくできた入門だと思います。少なくとも、大学でよく使われている、文系の学生でも読みやすいらしいベストセラーの某入門書よりはよくできていると思います。先日、訳あってこの入門書を買って読みましたが、私の正直な感想は「こんなんで分かるの?」でした。

大学の PC 室とかに C言語の開発環境を構築するのは、スタッフががんばればできますが、入門者の自宅の PC にリモートでそれをやるのは不可能に近いタスクです。苦しんで覚えるCでは、学習用C言語開発環境を無料配布しています。これはTiny C Compiler※を内部に持ち、統合環境ながら、わずか 1.1MB のインストーラを実行させるだけでインストールできます。

※ Tiny C は C language support を読む限り、ANSI C に完全準拠で、入門用として問題はないようです。

プログラミングの入門者に C言語の使い方を教えるには、エディタの使い方、コマンドラインの使い方、コンパイラの使い方、そしてオブジェクトコードの実行方法まで説明する必要があります。入門者にとって、これは大変な苦痛です。プログラミング教育が失敗する原因の一つでしょう。入門者には、とにかく「おいしい部分」へスムーズに到達させることが至上命題です。成功体験の繰り返しによって、楽しさを体感してもらうことが何より大切です。学習用C言語開発環境では、初回起動時に、サンプルコードが記述されたファイルを含むデフォルトプロジェクトがオープンされており、エディタ上でサンプルコードを書き換えて、メニューからコンパイル、実行を選択するだけです。素晴らしい!

ちなみに、私のおすすめ入門書は、某ベストセラーではなく、鈴木正人先生が書かれた「実践 C プログラミング」です。入門にありがちな問題のあるコード (バッファ・オーバーランなど) を排除しているので、変なクセを付けないで済みます。

2010年10月26日火曜日

プログラミング教育

最近、色々な人から大学でのプログラミング教育について話を聞く機会がありました。「最近の学生は C言語を教えると構造体が理解できない」から始まって、「物を順序立てて説明するということができる人とできない人がいる」「プログラムを書ける人と書けない人の間には超えられない壁がある」と聞き、色々調べてみると、全国的な規模でかなり深刻な事態になっているということを知りました。

プログラムなんてのは、どうと言うこともないことで、小学生だって独学でプログラム組めるようになるんだよ ── というのが今も変わらない私の認識です。実際、私がそうでしたから。

なんせ、情報工学出だろうが、情報系の専門学校出だろうが、文系大学出だろうが、新人で採るならひとしく無能だと思わなければならない。そんな出身校よりも、ホビーでプログラムするかどうかを問う方が当りの人材を引き当てれるということは、現在のプログラミング教育がプログラミング能力を育てることにおいてはほとんど用をなしていないことを示唆するだろう

まったくもって異論を差し挟む余地もありませんです。この問題は、少し考える必要がありそうです。