元ファイルの目次へ, 鼎談総集編の表紙

Web 鼎談 5月号

[0015]渡辺 治 1999-03-02 (Tue) 09:06:10
実は,私の所属する東工大では,今年度から,全学の1年生を対象に,基礎科学として
のコンピュータサイエンスを教える授業,コンピュータサイエンス入門を始めました.

これは,いわゆるリテラシーではありません.リテラシーは前期で教えます.松井さん
の言われるように,コンピュータサイエンス入門は,リテラシーの後に続く講義です.
[0016]渡辺 治 1999-03-02 (Tue) 23:29:03
では,どんなことを教えているの?ということになりますね.

大きな方針として,理工系のどんな分野に進む人にも重要と思われる,コンピュータサイエンスの基礎を教えよう,と担当教官の間では合意しています.

コンピュータの使い方を教えるのではない(これはリテラシでやる),プログラミングを教えるのではない(これは2年次に各学科に分かれた時点で,その学科の特徴に合わせて教える)というわけです.
[0017]根上 生也 1999-03-11 (Thu) 07:53:49
うーん.なるほど.

と言いたいところですが,リテラシーでもプログラミングでもない「基礎」って何なのですか?

そこのところを具体的に知りたいですね.
[0018]渡辺 治 1999-03-11 (Thu) 23:45:00
はい,そうくると思っていました.この質問は,まさに「CSとは何か?」と聞いているのに等しいようなものです.つまり,リテラシー(単なる使い方)でも,プログラミング(単なる作り方)でもない,そんなCSとは何か?ということですよね.
[0019]渡辺 治 1999-03-12 (Fri) 00:37:52
とりあえず,コンピュータサイエンス入門で,私が教えたかった(伝えたかった)ことを並べあげてみます.(ちなみに,実際に取り上げることのできたのは,この一部です.)

1.「計算」とは何かの体験

計算は,非常に単純な操作(たとえば,+1など)の組み合わせでできる,ということ.実は,これは Unix の shell のコマンド群の設計思想にも通じる考え方である.(また,これが計算不可能性や精度誤差の原因でもある.)

2.アルゴリズムの重要性の認識

単純な操作を組み合わせるだけの計算.でも,その組み合わせ方(手順,アルゴリズム)で,とても素晴らしいことが可能になる.また,その組み合わせ方をいいかげんに考えると,どんなスパコンも無用の長物になってしまう,という点.

3.形式的な記述の重要性

コンピュータの上に仕事をのせるには,形式化が重要である.今までは(とくに高校までは),たとえ数学でも,記述や議論に曖昧な点があった.いろいろなことを,純粋に記号を使って表すことができる,という点の認識.そして,形式化することの意義,効用.

まあ,こんなところでしょうか.(注:なお,これはあくまで私の担当した授業に関しての話です.コンピュータサイエンス入門の担当教官の間では,まだ統一見解としてまとまってはいません.)

[0020]根上 生也 1999-03-12 (Fri) 09:41:19
なるほど.
こういうことを考えていたわけですか.

確かに,渡辺さんが示してくれた3つの内容は,コンピュータ・サイエンスにおいて重要なことだと思います.

そこで,そこに共通するキーワードはと考えると,やはり「計算」ということになるみたいですね.
[0021]根上 生也 1999-03-12 (Fri) 09:43:11
ということは,
コンピュータ・サイエンスから生まれるだろうところの基礎科学とは,

「計算」を対象とする基礎科学

ということになるんでしょうか?
[0022]渡辺 治 1999-03-13 (Sat) 12:25:31
はい,そうです.

数セミの読者の中には,「計算」というと,数値計算を思い浮かべる方がいるかもしれませんが,ここでいう「計算」とは,非常に広いものです.

ワープロで仮名漢字変換をするのも,こうやって Web のページを表示するのも,みんな「計算」です.さらには,生体の機構や,粒子の動き,あるいは天体の動きなどまで,モデル化できれば,すべて「計算」として扱えます.

ですから,「計算」を対象とする基礎科学というのは,かなり広い領域になるでしょう.
[0023]根上 生也 1999-03-15 (Mon) 12:51:11
うーむ.
単に,言葉を拾って,

「計算」を対象とする基礎科学

といってみたわけですが,渡辺さんが掲げている項目を見ているだけで,はたして,それが,「基礎科学」なのかどうかが,まだよく見えてきません.

「基礎科学」とは何なのか

という議論も必要だとは思いますが,「計算」とは何なのか,それを研究していく,どういう「科学」になっていくのかを理解したですね.
[0024]根上 生也 1999-03-15 (Mon) 12:59:18
そもそも,上に書いてことは,「基礎科学」というよりも「基礎教育」の内容なのだから,それはそれでよいとは思います.

でも,なんだか,「計算」の効率を考える技術論,「計算」にまつわる精神論,って感じがしなくもないです.

前者は,プログラミングの指導といっしょにすればいいし,後者は,文系の先生にお話をしてもらえばよいのでは,と考えられなくもないですね.

念のため,言っておきますが,これは,わざと悪口的に発想しているだけで,私の本心ではありませんよ.誤解のないように.
[0025]渡辺 治 1999-03-16 (Tue) 13:46:15
う〜ん,なかなか厳しいですね.

いろいろな答え方があると思いますが,先ほどの主張をさらに強調してみましょう.

つまり,「計算」が森羅万象を理解する元になっている,としたら,いかがです?「計算」を扱ったり,理解したり,あるいは解析したりする技術は,果たして,単なる「技術」でしょうか?また,「計算」の意味を考えるのは,単なる「お話し」でしょうか?
(明日からスキーへ行くので,金曜の夜まで,ちょっとお休みです.失礼!)
[0026]松井 知己 1999-03-16 (Tue) 23:20:49
出張中の京都から書いています。
早朝から計算機を使わせていただいていた、数理工学コースの方に感謝!

計算という単語にこだわって話をすると、議論が空転しそうですね。
ただ、渡辺さんの「2.アルゴリズムの重要性の認識」という点は、
 私の分野にも関係しますので、関心があります。

アルゴリズムの重要性が認識してない人たちは、
 私の経験では2通りありました。
一つは有限時間ならば皆いっしょと思っている人たち。
もう一つは、現在普及している言語、インターフェース等の事で
 頭がいっぱいの人たちです。
有限時間であっても、現実的な時間で計算するには知識が必要ですし、
 その知識は必ずしも言語やインターフェースに依存しないものです。

こんな事は、基礎科学としてCSで教える事だと、私も思います。

[0027]松井 知己 1999-03-16 (Tue) 23:30:55
CSは、他の成熟した科学
(この場合は規範科学(normal science)と呼ぶのでしょう)とは、
 出てきた背景が少し違うような気がします。
CSは、様々な分野において「計算をする」という、
 応用の一分野として発生して来たという、
 横断的な性格があるように思います。
たとえば「計算物理」などという言葉もありますよね。
そのため、発生してきた母体を離れて、
CSのみで基礎科学として立とうとすると、
 いろいろな学問の境界領域を
頼りなく浮遊しているイメージがあるように思います。

CSを基礎科学として捉える際は、基礎科学のイメージ自体も、
 従来のものから少し広がることを前提として話さないと、
 いけないのでしょうね。
[0028]松井 知己 1999-03-17 (Wed) 08:49:15
「計算」が森羅万象を理解する元になっている,
としたら,いかがです?」
という話は、議論が続かない気がします。
でも、計算にまつわる「精神」論というのは、
議論されるべきだとは思います。

CSが、いろいろな分野の「応用」の寄せ集めでなく、
 「基礎科学」として成り立つには、
 CSの「精神」(disciplinary matrix(認識母体)でしょうか)が、
 研究者達で「共有」される必要があるのだと思います。
多分、数学や物理といった学問では、
 そのような「精神」が改めて議論されることはめったに無いのでしょう。
CSは、共有すべき「精神」がまだ確立していないため、
 このような鼎談が必要なのでしょうね。
「学問の精神」だけを取り出して、議論するのではなく、
 具体的な知識やカリキュラムについて議論することで、
 それが議論されたり共有されたりしてゆくのではないですか。

具体的な話に、戻りませんか?


元ファイルの目次へ, 鼎談総集編の表紙