« 2006年06月 | メイン | 2006年08月 »
レイコ@チョート校 アメリカ東部名門プレップスクールの16歳
アメリカ合衆国で三指に入る名門の寄宿制私立高校チョート校に留学した著者の留学体験。
その教育方法が興味深い。
数学
宿題は、新しい章を読んで、問題を二十問ほど解くこと。
ところが次の日、数学の授業が始まり、驚いた。先生のミスター・デマーコが教室には行ってくるなり、十二人の生徒が、前の晩の宿題でわからなかった箇所を口々に質問するのだ。
授業は、わからないところを解決する場だということに、私はこの時、初めて気づく。
授業そのものの考え方が、日本とは違うようだ。
日本の授業のように先生の講演を聴くだけでは、その場だけわかったつもりになってしまう。
疑問、問題意識を持って授業に向かう。 学習効率が大きく変わってくるだろう。
世界史
必修科目である世界史の宿題は、毎晩、課題の単元を読み、ルーズリーフに自分で要点をまとめ、驚いたことなど「リアクション」を書くこと。授業は、決まった順序では進まない。テキストを読んで疑問に思ったこと、おもしろいと感じたことを誰かが発表し、そこから始まる。
世界史も数学と同じように、興味や疑問、問題意識を持って授業に向かうことを、大切にしているようだ。
英語
「中には、『なぜシェイクスピアなのか』と疑問に思っている人もいると思う。彼の作品を学ぶわけは、彼の想像力=ストーリーの面と、表現力=書き方の面の両方にあるのだ。読み物としてただ興味深いだけでなく、自分で文章を書くときにもきっと参考になる。」
なぜ学ぶのか。 目的をはっきりさせている。
このほかにも、美術の授業やパリ講和会議のシミュレーション、大統領選なども興味深い。
自分で授業を作ってしまうことも可能だ。寮のプリフェクトの独りジェニーは二学期、メンバー数人と先生を集めて「韓国史」のクラスを開講した。
授業の進め方だけが凄いのではない。学校のあり方そのものが、どうやら違うようだ。
C++ Builder 6 で作成したプロジェクトを Borland Developer Studio 2006 に更新すると、ヘルプファイルを開けなくなる。
Application->HelpContext() などでヘルプを表示しようとすると、「状況関知型ヘルプがインストールされていません。」というエラーメッセージが表示されるようになった。
原因は、標準のヘルプシステムが WinHelp から HTMLHelp に変更されたため。
Borland Developer Studio 2006 で WinHelp を使用するには、Main フォームに次の行を追加する。
#pragma link "WinHelpViewer"
これで、C++ Builder 6 と同じように WinHelp を使用することができる。
Borland Developer Studio 2006(C++Builder)からRubyを使ってみます。
箏音の日記 - C++とRuby や C#からRubyのコードを実行するテスト を参考にしました。
Rubyをコンパイルする手間を省くために、Ruby-mswin32 から 最新リリース版である ruby-1.8.4-i386-mswin32.zip をダウンロードします。
ダウンロードした ruby-1.8.4-i386-mswin32.zip を展開し、bin\msvcrt-ruby18.dll をC++Builderのプロジェクトを作成するディレクトリにコピーします。
C++Builderを起動し、VCLフォームアプリケーションを作成します。
まず、起動時にDLLを読み込み、終了時に解放します。
Unit1.hに次のコードを追加。
private:
HINSTANCE hDll;
Unit1.cppに次のコードを追加。
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
hDll = LoadLibrary("msvcrt-ruby18.dll");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if (hDll) FreeLibrary(hDll);
}
DLLが正しく読み込まれていることを確認します。
次は、Rubyプログラムを実行してみます。
Unit1.hに次のコードを追加。
private:
__declspec(dllexport) void (*ruby_init)(void);
__declspec(dllexport) unsigned long (*rb_eval_string)(const char*);
__declspec(dllexport) int (*ruby_cleanup)(int);
Unit1.cppに次のコードを追加。
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
hDll = LoadLibrary("msvcrt-ruby18.dll");
if (hDll)
{
ruby_init = (void (*)(void))GetProcAddress(hDll,"ruby_init");
rb_eval_string = (unsigned long (*)(const char*))GetProcAddress(hDll,"rb_eval_string");
ruby_cleanup = (int (*)(int))GetProcAddress(hDll,"ruby_cleanup");
}
}
フォームにボタンを追加し、ボタンを押したときのイベントを記述します。
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (!hDll)
{
Application->MessageBox("msvcrt-ruby18.dll が見つかりませんでした。",
"DLL エラー",
MB_ICONSTOP | MB_OK);
return;
}
//Rubyインタプリタの初期化
ruby_init();
//スクリプトの実行
rb_eval_string("File.open('a.txt', 'w' ) { |f| f.puts 'success' }");
//Rubyインタプリタのクリーンアップ
ruby_cleanup(0);
}
実行してみましょう。 ボタンを押すとsuccessと記述されたa.txtが作成されると成功。
次に、スクリプトをファイルから読み込んで実行します。
Unit1.hに次のコードを追加。
private:
__declspec(dllexport) void (*ruby_init_loadpath)(void);
__declspec(dllexport) void (*rb_load)(unsigned long, int);
__declspec(dllexport) unsigned long (*rb_str_new2)(const char*);
Unit1.cppに次のコードを追加。
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
hDll = LoadLibrary("msvcrt-ruby18.dll");
(中略)
ruby_init_loadpath = (void (*)(void))GetProcAddress(hDll,"ruby_init_loadpath");
rb_load = (void (*)(unsigned long, int))GetProcAddress(hDll,"rb_load");
rb_str_new2 = (unsigned long (*)(const char*))GetProcAddress(hDll,"rb_str_new2");
フォームにもう一つボタンを作成し、ボタンを押したときのイベントを記述します。
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (!hDll)
{
Application->MessageBox("msvcrt-ruby18.dll が見つかりませんでした。",
"DLL エラー",
MB_ICONSTOP | MB_OK);
return;
}
//Rubyインタプリタの初期化
ruby_init();
ruby_init_loadpath();
// スクリプトをファイルから読み込んで実行
rb_load(rb_str_new2("test.rb"), 0);
//Rubyインタプリタのクリーンアップ
ruby_cleanup(0);
}
test.rbファイルはこう書いてみました。
File.open('b.txt', 'w' ) { |f|
f.puts 'success'
}
実行してみましょう。 ボタンを押すとsuccessと記述されたb.txtが作成されると成功。
インストール方法
JDeveloper Old Versions Archives から、JUnit Extension for Oracle9i JDeveloper (Version 9.0.4.1.1)のリンクを選択する
jdev9040_JUnit.zipをダウンロードする (OTNのアカウントが必要になります。)
ダウンロードしたファイルを展開し、jarファイルを jdev\lib\ext にコピーする
JDeveloperを再起動する
使用方法
テストするクラスのソースファイルを選択する。
メニューから「新規,,,」→「General」→「Unit Tests(JUnit)」
Javaのソースコードを整形するソフトを探した。
最初に試したのが、Jindent。
しかし、無料ではない上に、日本語が文字化けした。
文字化けに関しては設定があるのかもしれない。
次に試したのが、Artistic Style。
Java以外にもC, C++, C#に対応している。
日本語も問題なかった。
修正するのはインデントだけのようで、大きな変更が行われないので、安心して使用できる。
xyzzyでプログラミング/整形 にxyzzyから Artistic Style を使う方法を発見。
AStyle.exeをPATHの通ったディレクトリにおいて、
C-x #
# astyle -j
で、バッファ全体のソースコードが整形される。
日本語訳のホームページを発見。これは便利。
色彩検定(正式名称は『文部科学省後援 ファッションコーディネート色彩能力検定』)3級の合格通知が届きました。
これから受験する人の参考になるかもしれないので、私の勉強方法を紹介します。
まずは、公式テキストから。
試験問題は、公式テキストの中から出題されるようです。
まったく同じ写真が使われるので、公式テキストに目を通しておくだけで、点数が稼げます。
予想問題集などよりも、よっぽど確実です。
この問題集、年度別なのが辛い。
3級受験者にとって、1級や2級の問題は必要ないんですよ。 級別にしてちょっと安くして欲しいです。
とはいえ、試験勉強に欠かせないのも事実。 試験勉強は、この過去問題集を中心に行いました。
最初は友人から借りていたのですが、改訂版が出版されていることを知り購入しました。
公式テキストを読んでも全然覚えられませんので、この本で覚えました。
試験対策のテクニックも参考になります。「ド・リ・ル・チュウ・タイ・ホ」とか。
ただし、品質に問題があります。(改訂前の方がよかった。) 怪しい日本語、色の再現性、明らかな記述ミス(83ページと200ページのPCCSとマンセルの対応が違う)など。
そうはいっても、重宝した本でした。
暗記だけでは合格できないこの試験。 色を見分ける力が欠かせません。
そこで、この配色カードを使いました。
カードを切り、色別やトーン別に分けたりして、練習しました。