最近、

プログラミングの授業をしていて感じることと同じような記事がありました。

 サンプルを丸写ししてもプログラムの理解はできない
 プログラムの勉強をするのに、参考書を丸写しして勉強するという方法
 があります。はっきり言って、あれはほとんど意味がないと思う。

その通りだと思います。何故かというと、プログラムはちょっとやそっと書いたところで、その通りに書くことなんてほとんどないからです。*1

さて、本題の私の授業方法です。まだ色々と試行錯誤もありますが、現状では、こういう感じで授業をしています。

まずは、授業を講義と演習の2つに分けます。これは週2回の授業というのもあるのですが、一コマはプログラムの内容を理解するための講義(座学)をします。もう一コマは実際にプログラムを作成する演習を行います。

講義

理解のための授業なので、プログラムをスクリーンに映しながら、ここは何をしているのかという説明をします。このとき、学生にどんどん質問します。

質問内容は、プログラムがどう動いているかです。入力される変数があれば、適当な値を入れて、どう変わっていくか、どうなるかを説明してもらいます。簡単なところから難しいところまであるのですが、出来る人にはちょっと難しめなところを、あまりわかってない人には、簡単なところを聞きます。*2

こうしていると、ある程度学生が今理解しているかどうかがわかります。正しい答えが返ってくれば、褒めます。間違ってるときにも、"ありがとう"といい、終わらせます。問題は答えがでない場合です。そういうときは"わからない"と言ってもらいます。学生にとっては少し恥ずかしいのかもしれませんが、出来ないということがわかるはずです。

で、間違っている答えのとき、わからないと言われたことは、もう一度説明します。たとえ、以前に学習したところでもです。わかっている人にとっては、退屈な時間かもしれませんが、教育なので、わかるまでやるしかないのです。

演習

演習では、まず例題を動かしてもらいます。基本的に印刷物を配るので、それを入力し、デバッグしてもらいます。入力して間違えることで、覚えることもあるでしょうから。

次は、演習問題を解いてもらいます。まあ、この演習問題というのがくせ者です。例題を少し変形すればいいような問題だけを解かせていれば、楽ではあるのですが、これをやっていると、学生が例題を変形すればいいと思い込んでしまいます。

なので、全く別な解き方をする問題を混ぜるのですが、この手の問題は、なかなか解くことができません。そこで、プログラムをするよりも、まずは"どうすれば自分で計算できるか"を考えさせます*3。で、学生には話をするのです。「君が使っているコンピュータは、君ができないことはできない。君がやり方を理解していることしかできないんだよ」と。

ある程度やり方が理解できてきたら、後はプログラムを書いてもらいます。講義が理解できていれば、書けるでしょうし、そうでないなら、また説明します。また、作るためのヒントも少しずつ与えます。

終わりに

これでプログラムが出来るようになれば、いいのですが、なかなかそうはいきません。後は自分で色々とプログラムしてみる必要があります。後は、努力あるのみです。

別に他人のプログラムを参考に書いてもいいのですが、理解せずに写してばかりだと応用が利きません。そのプログラムの中で何をしているのか、何が起っているのかをしっかりと理解しましょう。

*1:英語の例文や単語ならそのまま使えることがあるかもしれませんが

*2:全くランダムなときもあります

*3:最近はここが出来ない人が多くて、どうすればいいか今でも考え中です

最近WordPressを

使ってサイトの構築をおこなっている。その中で気づいたことをメモしておきます。

  1. WordPress 2.7.1 + Firefox 3.0.10では、Flashアップローダが使えない.
  2. FireFoxWordPressの管理画面を開いていると、 なぜかスタンバイモードに入ることがある.
  3. wp-includeにアクセス制限をすると、画像ファイルの大きさを変化させることがでない.


最初の現象は、IE8.0ではおこりません。なので、一気にファイルがアップロードできます。
ということで、Firefoxの問題か、Flashのバージョンの問題なんでしょう。現在使っている
Flashのバージョンは、10.0 r22ですが、これよりも新しいバージョンあるんでしょうか?


二つ目も、Firefox絡みでしょうか。IEで管理画面を開いていても、起こることは今のとこ
ろありません。特に、再読込をクリックしたときに起こることがあります。


最後は、wp-includeに対するセキュリティの問題とも絡んできます。できれば、アクセス
制限をかけておきたいのですが、どうも両者をおこなうことはできなさそうです。

仕事(?)で

使ってみようと、MacMiniMovable TypeWordPressをインストール
してみました。まだ、触り始めたところなのですが、とりあえずの感想
を書いておきます。

[Movable Type]

  • インストールは楽でした。MacじゃなくLinux系だともっと楽にインストール出来そうです。
  • 元のままページを作るのは楽。でも、カスタマイズしようとするとちょっと大変
  • 美しい企業サイトもあるのですが、あそこまで作るのは大変か?
  • どちらにしても、本を買うのが先か。
  • 仕事場で使うにはライセンスを買う必要あり。MTOSもあるけど。。

[WordPress]

  • インストールに苦労しました。mySQLを扱うのがここまで手間がかかるとは。。。
  • ホスト名を localhost127.0.0.1 にすると動きました。
  • ページをカスタマイズするよりも、テーマをベースに作るほうが楽かな。

というとこで、防備録です。

Fedora 8にも

飽きてきたので、Fedora10をインストールしました。インストールは
無事に済んだのですが、一つ失敗したのがホームをフォーマットして
しまったことでしょうか。


正確に言うと、ホームのファイルをそのままコピーした領域をフォー
マットしました。まあ、別途すべてのファイルは、tarで固めて、DVD
に焼いていたので、問題はないのですけどね。


.tcshrcとか、.emacsファイルが無くなったのはちょっと痛かったで
すかね。今のところ、大体動いているのですが、デフォルトで動かな
かったのは、

  • TeX関係(ソースからインストール)

ぐらいでしょうか。sshの設定は下のメモ通りでなんとかなりました。

後、困っているのは、

  • 起動時にDNSが設定できない(再設定すれば動く)
  • npviewer.binがずっと動き続け、重くなる
  • SElinuxトラブルシューターがずっとアラートを出す(アラートを出さない設定可能)

というところでしょうか。

そろそろインストール

する時期かなってことで、Firefox3.0 RC1をインストールしました。
ほぼ問題なく動いているのですが、1つだけ動作がおかしいのです。
YAHOO!メール BETA
です。

どこがおかしいかというと、上部の部分のリンクになっているところ
がまったくクリックできなくなっています。例えば、ログアウトのリ
ンク使えなくなってます。

YAHOO!メール BETAは、FlashJavaScriptがあれば動くことになって
います。また、Firefox 2.0でも動いてましたから、問題は 3.0CR1に
あるのでしょうねぇ。どっちでもええので、修正して欲しいところで
す。

もっとも、基本的に補助的なメールしか、YAHOO!のアドレスを使って
はいないので、そこまで早急にとは思ってないのですけどね。

sshを使うのは

いいのですが、最近どうもアタックが多いので、portの変更をしてみました。
ちょっと戸惑ってしまったことも多いので、メモしておきます。

1. /etc/ssh/sshd_configを変更する.

Port 12345 # 好きな値に設定
ListenAddress xxx.xxx.xxx.xxx # 自分のアドレスに設定

sshdを再起動する. /etc/rc.d/init.d/sshd restart よりも,
サービスの設定(GUI)を利用するほうがよい. 使うなら,

run_init /etc/rc.d/init.d/sshd restart

を使うほうがよい.

2. /etc/services を変更

ssh 22/tcp
ssh 22/udp

という2行をコメントアウトし,

ssh 12345/tcp
ssh 12345/udp

という行を作成.

3. ファイアーウォールを通るようにする.
ファイアーウォールの設定 => その他のポートに

12345 tcp ssh
12345 udp ssh

を追加する.

4. SELinuxを通るようにする.
SELinuxマネージャー => NetworkPortに

ssh_port_t tcp s0 12345

という行を追加する. もしくはコマンドラインから

semanage port -a -t ssh_port_t -p tcp 12345
semanage port -a -t ssh_port_t -p udp 12345

を実行する.

ポート番号変えるだけで、これだけ大変とは。。。

昨日まだ設定が

できないよという話を書きましたが、できたのでメモしておきましょう。

emacsのフォント設定
 デフォルトフォントが丸文字(?)だったので、違うフォントに設定しまし
 た。xfontselで色々なフォントを見ながら、.emacsで fontsetを作れ
 ばいいのですが、あまり手間をかけるのも大げさだし、Shift+左クリ
 ックでfontsetを切り替えることができ、standardというfontsetで特
 に問題はなさそうだったので、デフォルトのフォントをstandardに変
 更しました。次の部分を .emacsに加えただけです。

; defaultを standardに変更
(add-to-list 'default-frame-alist
'(font . "fontset-standard"))

Firefoxacrobat reader plugin が動かない
 自分のPCの中に答えはありました。AcrobatReaderをインストールす
 ると、次のファイルがインストールされています。

/opt/Adobe/Reader8/Browser/HowTo/ENU/Browser_Plugin_HowTo.txt

 この中に、動かない場合のトラブルシューティングがありました。日本
 語ファイルもあるのですが、文字コードが判別できず読めません。英語
 版に書いてあることを順に行います。

  1. about:pluginsでプラグインを調べたときに、Plugger/Mozpluggerというプラグインが PDFファイルを扱うとなっているならば, 次を行う.
  2. '/etc/mozpluggerrc' というファイルを開き, PDFに関わる部分を消す
  3. $HOME/.mozilla/Firefoxのフォルダから 'pluginreg.dat'を消す。
  4. リスタートする。

これで、FifrefoxからPDFファイルを読めるようになりました。

あとは、emacsがところどころ固まることぐらいかなぁ?