宇宙人に地元をアピールせよ〜プレゼンの導入〜

プレゼンにおいて導入というのは一番気にしなければいけないポイントです。



この導入次第で、聴衆がこちらに興味を持ってくれるか否かが決まります。
僕は学会発表でしばしばプレゼンをするのですが、
最初の導入が最大の勝負だと思っています。
内容はプレゼンの前に十分に精査しているはずなのですから、心配の対象ではありません。
内容に自信がないのならそもそもプレゼンしちゃイカンでしょ(笑)
なのでプレゼンにおいて心配なのは導入部分、はじめの数枚のスライドです。
さて、僕がこの導入部分で気をつけているのは、

  • 余計なことを喋らない
  • 興味を他に向けさせない

この2つです。
聴衆はプレゼンの内容については素人である場合がほとんどです。
これから何を喋るのか、何がテーマなのか、そういうことを聴衆は知りません。
彼ら迷える子羊たちをミスリードせずに自分の家に連れてくる。
これが導入における発表者の使命です。
しかしこれが難しいんだ。
ついついいらないことを喋って、不要なイラストを入れて、
子羊たちをあっちへこっちへと連れ回してしまう。
そうしているうちに、気がつくと子羊が半分に減っている、なんてことがあるのです。
ですから、導入はまっすぐ自分の家へ向かわなければいけない。



タイトルで書いている「宇宙人に地元をアピールせよ」というのは、羊飼いたるプレゼン発表者が
心に止めておくべき心構えです。
あなたは地元の観光大使です。
あなたは地球外からやってくる宇宙人の皆様を地元へ案内する役割を任されました。
宇宙人ご一行は日本はおろか地球にやってくるのも初めてです。
彼らにとっては全てが未知の世界。
さて、あなたの仕事は、着陸態勢に入る旅客機に登場しているCAさん同様、
大気圏突入を控えた宇宙船の中で乗客たる宇宙人の皆様に
到着先であるあなたの地元を案内することです。



あなたはどんな案内をしますか?



やっちゃいけないのはこんなのですね:

これから皆さんの参ります日本は、地球上の国々の中でも長い歴史を持つ国であります。
この国は四季折々の美しい風景を見ることができ、今の季節ですと、日光が丁度紅葉の見頃を迎えております。
我々がこれから降り立ちます埼玉県は日本の首都である東京と、その日光のある栃木県の間に位置しております。
これから皆さんをご案内いたします○○市は、その埼玉県の北部に位置し…



もう宇宙人さんはあなたの話なんか聞いていませんよ。

西欧5ヶ国語まとめ〜be動詞〜

英語
(be)
直接法
現在
直接法
過去
仮定法
現在
仮定法
過去
1人称単数(I) am was be were
2人称単数(you) are were be were
3人称単数(he,she,it) is was be were
1人称複数(we) are were be were
2人称複数(you) are were be were
3人称複数(they) are were be were
イタリア語
(essere)
直接法
現在
直接法
半過去
直接法
遠過去
直接法
未来
接続法
現在
接続法
半過去
1人称単数(io) sono ero fui sarò sia fossi
2人称単数(tu) sei eri fosti sarai sia fossi
3人称単数(lui,lei) è era fu sarà sia fosse
1人称複数(noi) siamo eravamo fummo saremo siamo fossimo
2人称複数(voi) siete eravate foste sarete siate foste
3人称複数(loro) sono erano furono saranno siano fossero
ドイツ語
(sein)
直接法
現在
直接法
過去
接続法
I式
接続法
II式
1人称単数(ich) bin war sei wäre
2人称単数(du) bist warst seist wärst
3人称単数(er,sie,es) ist war sei wäre
1人称複数(wir) sind waren seien wären
2人称複数(ihr) seid wart seiet wärt
3人称複数(sie) sind waren seien wären
フランス語
(être)
直接法
現在
直接法
半過去
直接法
単純過去
直接法
単純未来
接続法
現在
接続法
半過去
1人称単数(je) suis étais fus serai sois fusse
2人称単数(tu) es étais fus seras sois fusses
3人称単数(il,elle) est était fut sera soit fût
1人称複数(nous) sommes étions fûmes serons soyons fussions
2人称複数(vous) êtes étiez fûtes serez soyez fussiez
3人称複数(ils,elles) sont étaient furent seront soient fussent
スペイン語
(ser)
直接法
現在
直接法
不完了過去
直接法
過去完了
直接法
未来
接続法
現在
接続法
過去(ra)
1人称単数(yo) soy era fui seré sea fuera
2人称単数(tú) eres eras fuiste serás seas fueras
3人称単数(usted) es era fue será sea fuera
1人称複数(nosotros) somos éramos fuimos seremos seamos fuéramos
2人称複数(vosotros) sois erais fuisteis seréis seáis fuerais
3人称複数(ustedes) son eran fueron serán sean fueran



プレゼンテーション資料をつくるときに忘れてはいけないこと

プレゼンテーション資料をつくるときに忘れてはいけないこと。
それは、プレゼンでは自分が伝えたいことを自分で喋るのか基本であるということ。
プレゼンテーションの資料はその補助にすぎない。


貴方は劇作家だとしよう。劇で何かを伝えたい。
そんなときに、いきなり俳優を呼んでステージで演技させてみるだろうか?


貴方はアニメーションクリエーターだとしよう。アニメーションで何かを伝えたい。
そんなときに、いきなり動画編集ソフトを立ち上げるだろうか?


それと同じくらい、
プレゼン資料をつくるのにいきなりPowerPointKeynoteを立ち上げるのは
まことに愚かしいことなのである。


紙にペンでスライドの下書きをする。これだけでも随分違う。
伝えたいことを下書きして、あとはそれに沿ってスライドをつくる。
こうしてつくったスライドは、伝えたいことをしっかりと伝えられるものになっている。


おススメは、絵コンテを描きながら台詞を考える方法である。
ノート(コピー用紙でもよい)の左側にスライドの下絵を、
右側にそのときの自分の台詞を書き込む。
こんなイメージを伝えたい。そうしたら、そのイメージを下絵に書き込む。
こんなフレーズを伝えたい。そうしたら、そのフレーズを台詞に書き込む。
左右のバランスを見ながら下絵と台詞を書き、ときに推敲する。
そうして満足いくものが出来上がったのなら、完璧なスライドが1枚完成したことになる。
こうして紙ベースでスライドをつくっていく。ひとつひとつのスライドが完璧であっても、
繋げてみると過剰や不足があることがある。そしたらまた修正する。
場合によっては新しくスライドをつくったり、折角のスライドを外すことも必要だ。
ようやく紙ベースでのプレゼン資料が完成したら、最後に実際のプレゼンのように、
通して喋ってみる。これで問題がなければ、やっと脚本の完成だ。
脚本家はようやく俳優の選定に入る。そして演技指導を行い、リハーサルし、本番に臨む。
あなたはソフトを立ち上げ、脚本の通りにスライドをつくり、リハーサルし、本番に臨むのだ。






当然であるが、カーマイン・ガロ『スティーブ・ジョブズ 驚異のプレゼン』日経BP社からアイディアを頂いている。が、具体的にどうやって紙とペンを使えとまでは書いてないので、自分の手法を併せて紹介した。

池田和美の涼宮ハルヒ

ここ数年の京アニは何か変わってしまったなぁと思って、一度作画監督を調べてみたら、どうも僕の中で「京アニ作品の作画」=「池田和美氏の作画」となっているらしい。CLANNADや1期ハルヒの方が作画的には好きなんですよ、らき☆すたや2期ハルヒよりも。
京アニと言えば僕の中では今でも「涼宮ハルヒの憂鬱」であるが、涼宮ハルヒというキャラクターは僕にとっては憧れの存在であり、決して所謂「萌え」の対象ではない。池田晶子氏や西屋太志氏の作画の方が可愛いのはその通りだと思いますが、それは記号としての愛でる対象であり、僕がハルヒに求めるのはそういうものではない。力強く自分の欲望に忠実に純粋に突き進んでいく、しがらみなんて気にしない、世界の中心は自分である。この純粋さと力強さが僕には足らないような気がして、だからきっとハルヒに惹かれるんだろうなぁと思う。そういう自分の中での涼宮ハルヒのイメージを一番忠実に描いてくれるのが、池田和美氏なんだと思う。

ラベルやボタンのひとつひとつにIf文使っていませんか?―Object型とFunction―

私は研究の過程でよくVisual Basicで実験用プログラムを書くのですが、作るプログラムって、ラベルやボタンがたくさんフォーム上に並んでいるものが多いんですよね。そういう時に、ある条件が満たされたら一度に複数のラベルやボタンに同じような操作を行うってことがあるのです。
例を以下に示します。CommandButton1からCommandButton20に「OK」と表示したいときに、

CommandButton1.Text = "OK"
CommandButton2.Text = "OK"
CommandButton3.Text = "OK"
CommandButton4.Text = "OK"
CommandButton5.Text = "OK"
CommandButton6.Text = "OK"
CommandButton7.Text = "OK"
CommandButton8.Text = "OK"
CommandButton9.Text = "OK"
CommandButton10.Text = "OK"
CommandButton11.Text = "OK"
CommandButton12.Text = "OK"
CommandButton13.Text = "OK"
CommandButton14.Text = "OK"
CommandButton15.Text = "OK"
CommandButton16.Text = "OK"
CommandButton17.Text = "OK"
CommandButton18.Text = "OK"
CommandButton19.Text = "OK"
CommandButton20.Text = "OK"

なんて書いてもいいですが、大変もっさりしたコードになってしまいます。今回は「すべてのボタンにOKの表示」だからいいですけど、これが「幾つかの条件によってある1つのボタンだけNGになる」とかだと、もうその度に似たようなコードを書くことになってしんどいことこの上なしです。
そこで私は、返り値がObject型の関数を一回作ってしまいます。そうすれば、このようなもっさりコードは関数の定義内で1回書いて済みます。
まず関数ですが、こんな感じ:

Function getCommandButton(ByVal n As Integer) As Object
    Select Case n
        Case 1
            Return CommandButton1
        Case 2
            Return CommandButton2
        Case 3
            Return CommandButton3

        '(中略)

        Case 19
            Return CommandButton19
        Case 20
            Return CommandButton20
        Case Else
            Return Nothing
    End Select
End Function

最後のReturn Nothingは私の趣味です。返り値がNothingである場合の処理が面倒だ(もしくはこの一文を読んで理解できていない)という人は代わりにCommandButton20を入れてもいいかもしれません。
この関数を最初に用意しておきますと、先のコードはこれで済みます:

For i As Integer = 1 To 20
    getCommandButton(i).Text = "OK"
Next

ね、簡単でしょ?
先ほどちょろっと言いました、「ある条件の時はひとつのボタンだけNGと表示したい」というときも、このとおり:

'kの値と同じ番号が振られたボタンだけNGと表示。例えば9。
Dim k As Integer = 9

For i As Integer = 1 To 20
    If i = k Then
        getCommandButton(i).Text = "NG"
    Else
        getCommandButton(i).Text = "OK"
    End If
Next

GUIをもった実験プログラムを書くのに多くの学生がVBでプログラムを書いてるっぽいので、この記事を書いてみました。研究の一助になれば幸いです。

SortedListを用いたランダムシャッフル

ランダムシャッフルって結構使うのに、存外にコード組むのが面倒だったりするんですよね。今回はそんなランダムシャッフルをVisual Basicでサクッと行えるSortedListを紹介します。

Dim sl As New System.Collections.SortedList
With sl
    .Add(Rnd(), "hoge")
    .Add(Rnd(), "piyo")
    .Add(Rnd(), "foo")
    .Add(Rnd(), "bar")
End With
For i As Integer = 0 To sl.Count - 1
    MsgBox(sl.GetByIndex(i))
Next

サンプルコードはこんなところです。今回は"hoge"、"piyo"、"foo"、"bar"の4つの文字列をランダムシャッフルしています。
sl.Add()の第一引数はKey、第二引数はValueで、両方ともObject型です。ここではKeyに乱数を、Valueにシャッフルしたい文字列を入れることで、それぞれの文字列に適当な大きさの数値を割り振ってることになります。
sl.GetByIndex()の引数は0から始まるインデックスを入れることで、Keyの値の小さい方からValueを取得することができるというわけです。

うん、これは便利。VBで実験用プログラム書いている人は是非これを使うことをお勧めしますよ。

THIS IS A BOOK (Demetri Martin)を読んでみよう(Announcements)

去る7月9日から17日まで、オーランドで開かれたHCII2011(The 14th International Conference on Human-Computer Interaction)に参加してきたわけですが、その帰りに空港で読む本がなくなってしまって買った本がDemetri Martinの"THIS IS A BOOK"です。僕、こういう面白い英文読むの好きなんですよ。日本の英語教育が退屈なのは、読む本がつまらないというのが一端を担ってると思っているので、是非高校生レベルでも読めるよう、ちょっとここで単語の補助をしながら、自分でもゆっくり読み進めてみようかなと、そんな挑戦。
あ、一応お奨めの読み方は、最初に各節の作品を一通り読んでみて雰囲気をつかんでから、「ここが分からないと話が読めない」という単語を調べて読む。そして大体オチが掴めて笑うことができたら、もう次の節に行ってもいいですし、余裕があるならプロットを拾うのにトリビアルな単語の意味も調べてみる、そんな感じがいいと思います。分からない単語が出てきても読むのを止めない。これは英文を読むためには必須の技術ですよ。
さて、てなわけで、最初は"Announcements"から。単語調べているうちにネタばれしてしまうのは避けたいので、単語の意味は反転させて読んでください。調べたい単語をトリプルクリックすれば簡単に反転しますよ:

Announcements

3p
単語

  • permit:[他動]許可する
  • allow:[他動]許す
  • make mental notes:[熟語]記憶に残す
  • reminisce:[自動]回想する、[他動]思い出を語る
  • juggle:[自動]ジャグリングする
  • recklessly:[副]向う見ずな
  • mentally:[副]心の中で
  • put on:[熟語](衣服を)着る/着させる
  • silly:[形]間抜けな
  • outfit:[名]服装
  • avoid:[他動]避ける
  • altogether:[名]素っ裸
  • lip-sync:[名]口真似
  • portion:[名]部分
  • remove:[他動]除去する
  • in the event of 〜:[熟語]〜の場合は
  • fire exit:[名]非常口
  • explosive:[名]爆発物

4p
文法

  • 1行目:"do not"から"scream"までがひとかたまり、その後の"or”からは「さもなければ〜」
  • 7行目:和英混じり訳をすると「smokingをcaughtされた人は皆、我々のmeat gunでshotされます。」となる。
  • 16行目:和英混じり訳は「"Whoo!"(と言う発言)の回数は1人につき2回まででお願いします。

単語

  • illegal:[形]違法な
  • yell:[自/他動]叫ぶ
  • instead:[副]代わりに
  • refrain from:[熟語]遠慮する
  • tolerate:[他動]大目に見る
  • blow:[名]ブロー、殴打
  • force:[他動](人に)強いる
  • straight:[副]連続で
  • chamber:[名]部屋
  • squirt:[自/他動]吹き付ける、吹きかける