*このページは編集中です [#s5557b97]

*あのテーマをもう一度: [#web78425]

**HTMLの課題 [#n869e4ce]
よくできていたもの:→ http://bean.bio.chiba-u.jp/example/
 07s4005.html
 another.html
**プレゼンテーションについてのコメント [#k2bbbe78]
いずれの班も初めてのプレゼンを、工夫しながら作ってくれていました。それぞれになかなか面白い点がありましたが、プレゼンの構成をちょっと帰るだけでもっと面白くなるのになという感想も持ちました。多くの班に共通して言えることを1点だけ挙げておきます。
***メッセージの重要性 [#f652f3f8]
プレゼンテーションで聴衆に何を伝えたいか(これを「メッセージ」と呼びます)が最重要ポイントです。しかも、与えられた9分という時間の中で、発表者のメッセージの意味や面白さまでを伝え切らなくてはなりません。卒研発表や学会発表では、「どんな研究をして、どんな発見をしたか」がメッセージになるので、プレゼンテーションは「背景・目的・方法・結果・考察」のように定式化されています。今回の2班の発表はこれに近いので、メッセージが伝わりやすかったと思います。それに対して他の班は、自分たちが行ったプロジェクトで分かったことを淡々と発表している印象が拭えませんでした。もう少しプレゼンの構成を変えるだけで、メッセージはもっと伝わりやすくなると思います。
-P1:「千葉動物公園にいる動物たち」 
--そこにいる動物を単に並べて説明するだけでは、「魅力」というメッセージが伝わりにくい。順位をつけるなどして、その動物が身近で見られることが、どれほど素晴らしいことなのかをアピールする等の方法がある。園の紹介なので、園内マップを見せて、モデルコースを提示するとか、お勧めポイントをアピールするなどでも良い。
-P2:「人間の行動について」 
--実験とその結果の発表という点で、メッセージ性のあるプレゼンに仕上がっていた。
-P3:「ベイツ型擬態における種間関係」 
-P4:「蝶の翅の模様とそれに関る生態等」 
-P6:「マングローブについて」 
--ある生物学的現象について深く調べたという点が、3つのプロジェクトに共通している。プロジェクトの成果として新しく得た沢山の知識の中から、「何」を聴衆に伝えることで、「どういう感動」を与えたいかを考えると、メッセージ性のあるプレゼンになると思う。聴衆に「へぇー」と言わせるために、予備知識の提示と、意外な事実を示すのも良い。
-P5:「理学部生物学科先生紹介」 
--紹介すると羅列的になってしまうのは仕方が無いが、いっそのこと研究以外の「魅力」にポイントを絞ってプレゼンテーションを作れば良かったと思う。1人に1枚のスライドだけではなくて、アピールしたい点を「こんな素敵な先生です」という1枚のスライドに大きな文字で書いて、2枚目のスライドで簡単に示すだけも、聴衆に次のスライドへの期待感を持たせることができる。
-P7:「★平均顔★」 
--せっかく平均顔という難しいものを作ったのだから、どういう点が面白いのかをアピールすると良かったかもしれない。「子供が両親の顔の特徴を平均的に受け継ぐと仮定すると、こういう顔の子供ができると予想されます(※実名は出さない)」とか、「このソフトウェアを使うだけで、簡単に平均顔ができてしまいます」とか、聴衆が聴きたがるようなメッセージを考えたいところ。
**Q: データベースって何かよく分からない。表(テーブル)って一体何? [#o31b2ed9]
***A:[[資料を使って説明>http://bean.bio.chiba-u.jp/joho/index.php?plugin=attach&refer=joho19%2FPROJECT&openfile=070725%E8%B3%87%E6%96%99DataBase.pdf]] [#mc67343d]
**Q: SQLiteって、どんな場面で役に立つのですか? [#m6b73081]
***A: 2つ以上の大きな表を比較しなければならないとき、役に立ちます。 [#ocac6386]
授業では名簿と成績表という2つの表を結びつける操作で、データベースの使用例を学びました。この例では、
 沢山のデータが入った、2つの大きなデータの集まり(表)がある
 2つを比較したいのだけど、一つ一つを目で見て比較するのは面倒
という場合です。実際のケースとしては、次のような場合があるでしょう。
-ケース1:参加者が600人ぐらいの学会の会計をやることになりました。参加者はウェブから参加登録をするのですが、会費は郵便振替です。参加費未納者には、振り込みの督促状を送らなければなりません。また、一般会員か学生会員かに従って、振り込むべき金額と実際の振り込み金額が一致しているかどうかをチェックする必要があります。最終的には、ウェブからの参加登録データと、郵便振替の入金リストの2つを比較して、参加費未納者や、振り込み金額間違いのリストを作ります。また、登録データから、メールアドレスを抜き出して、督促状を送ります。
~このケースでは、2つの表があります。
 ウェブ登録で得られた参加者のデータ 氏名、連絡先、振り込み金額、メールアドレスなどが入っている(後にmeiboと呼ぶ表)
 郵便局から得られた振り込みリスト:振り替え伝票から氏名、日付、振り込み金額をリストにしたもの(後にfurikomiと呼ぶ表)
~手作業で解決するならば、それぞれの表をエクセルで作成し、氏名で並び替え、上から順に、会費未納の人はいないか(まれに、2回振り込んでしまっている人もいます)、振り込み金額が間違っている人がいないかどうかをチェックします。でも、未納者だけなら目でみて探しても、そんなに時間はかかりませんが、振り込み金額の間違えまでもチェックしていると、かなり大変な作業になります。
~こういう場合、SQLiteを使ってmeiboとfurikomiとでもいう2つのテーブルを使えば、目でみてチェックする作業をコンピュータにやらせることができるのです。例えば、次のようなSQLを1行かけば、処理は済んでしまいます。
 > select meibo.namae, e-mail, kingaku, furikomi.kingaku from meibo 
    left outer join furikomi on meibo.namae = furikomi.namae where meibo.kingaku != furikomi.kingaku
    order by furikomi.kingaku desc;
-ケース2:植物の野外実習で、野外で採集した植物に全てラベル(採集者や採集日、採集場所、種名などのデータが書かれたもの)をつけて提出することになりました。幸い、日本の植物について和名と学名の対応表は電子データで持っているのですが、採集した100種の植物について、一件ずつ名前を調べて、コピーペーストするのは面倒です。
~このケースでも2つの表があります。
 野生植物に関する和名、学名、科名などの対応表(後にyaseiと呼ぶ表)
 自分が野外で採集した100種の植物の和名リスト(後にcollectionと呼ぶ表)
~この場合もSQLiteを使って、yaseiとcollectionとでもいう2つのテーブルを作れば、何度も検索やコピペを繰り返さなくても、和名と学名の対応表が出来てしまいます。
 > select collection.wamei, gakumei from collection
   left outer join yasei on collection.wamei = yasei.wamei order by collection.wamei;
-ケース3:SQLiteはウェブページと連携して使うことで、データの抽出、並び換え、表示などいろんなサービスを提供できます。例えば、皆さんの個人成績の返却ページは、SQLiteと似たソフトウェアであるPostgreSQLを用いて作成しています。このサーバでサービスを行っているYListをいう和名・学名の検索サイトも、PostgreSQLを使っています。こういうネットワークデータベースを作成しようと思うと、もうちょっと修行が必要になりますけどね。
--SQLと同様のデータベースを利用しているウェブサイトの例:
---YList
---日本植物学会
---成績返却ページ

>
たぶん、データベースシステムは、大量のデータを相手にするとき以外は必要ではありません。単純で少量のデータなら、エクセルで済んでしまいます。でも、おそらく皆さんは、これから先、大量のデータを扱うことになります。そんなとき、
 データ数が多すぎて比較が面倒すぎる → エクセルでは無理 → あきらめ
ではなく、
 データ数が多すぎて比較が面倒すぎる → データベースを利用する → 解決
という方向があることを覚えておいてください。

**Q: SQLiteの課題が分からなかった [#gbb2c78c]
***A:答え一覧 [#sbb96ed9]
-sqlite> select namae, kamoku, score from meibo, score where meibo.gakuseki=score.gakuseki order by yomi limit 10;
 namae   kamoku  score
 秋葉剛男        shakai  88
 秋葉剛男        eigo    44
 秋葉剛男        sugaku  74
 秋葉剛男        kokugo  75
 荒木俊博        shakai  71
 荒木俊博        rika    44
 荒木俊博        eigo    80
 荒木俊博        sugaku  98
 荒木俊博        kokugo  51
 安藤俊英        shakai  61

-sqlite> select meibo.gakuseki, namae, kamoku, score from meibo, score where meibo.gakuseki=score.gakuseki order by yomi limit 10;
 gakuseki        namae   kamoku  score
 06S4083 秋葉剛男        shakai  88
 06S4083 秋葉剛男        eigo    44
 06S4083 秋葉剛男        sugaku  74
 06S4083 秋葉剛男        kokugo  75
 06S4047 荒木俊博        shakai  71
 06S4047 荒木俊博        rika    44
 06S4047 荒木俊博        eigo    80
 06S4047 荒木俊博        sugaku  98
 06S4047 荒木俊博        kokugo  51
 06S4001 安藤俊英        shakai  61

-sqlite> select meibo.gakuseki, namae, kamoku, score from meibo, score where meibo.gakuseki=score.gakuseki and score.gakuseki='06S4053' order by score;
 gakuseki        namae   kamoku  score
 06S4053 黒田瑞大        shakai  48
 06S4053 黒田瑞大        sugaku  51
 06S4053 黒田瑞大        kokugo  57
 06S4053 黒田瑞大        rika    61
 06S4053 黒田瑞大        eigo    99

-sqlite> select meibo.gakuseki, namae, sum(score) from meibo, score where meibo.gakuseki=score.gakuseki group by meibo.gakuseki order by sum(score) desc limit 10;
gakuseki        namae   sum(score)
 06S4051 高杉優弘        440
 06S4078 山野内勘二      422
 06S4082 篠田研次        421
 06S4019 岡田眞樹        413
 06S4012 遠藤善久        404
 06S4056 佐渡島志郎      397
 06S4062 斎江知  396
 06S4022 河原仁  395
 06S4027 丸山市郎        394