現代における情報科学の基礎知識

朝、娘をお風呂に入れておかゆを食べさせ、ミルクを飲ませ、絵本を読んでいたら眠そうにしていたので、一緒に昼寝をする。娘が寝ているときは好きなことができる時間なのだが、寝かしつけていると、ついつい一緒に寝てしまうのである。(周りが寝ていた方が、娘も空気を読んで寝る、ということもある)

少し前の記事だが Machine learning is the new algorithms というのを読んで考えさせられた(初めて読んだときよりコメントが増えている)。確かに機械学習は現代においてはアルゴリズムと同様に、コンピュータサイエンスの教養として教えてもいい科目かなと思う。

あともう一つ思うのはデータ構造で、古典的なデータ構造の授業で扱う内容というよりは、自分が解きたい問題に合わせてデータ構造を設計する知識を教えたほうがいいんじゃないかと思ったり。簡潔データ構造のようなガチのデータ構造の研究につながるものではないが、たとえば自然言語処理では解析した結果をオブジェクトに入れておきたいことがあるのだが、どう設計するか初めての人は戸惑うのではないか?と。データ構造ではなく、一般的なシステムデザインの話かもしれないが、存在する API で組み上げることは割とすぐ(わざわざ教えなくても)できると思うのだが、どういう API を提供するべきか?というのは自明ではないし、どの構造を使うべきかも場合によっては判断に迷うかもしれないし。

結局使える時間が限られている中で、何を残して何を変えていくかという問題になるのだが、技術的進歩の早い分野なので、一見これは基礎的な知識だろうと思える事柄でも、時代に合わせて何がコアとなるべきかは変えていく必要もあるなと思った。

そういえば、最近買った「イラストで学ぶ」シリーズの帯に、「イラストで学ぶアルゴリズム」というタイトルが登場していて、ワクワクしているところである。発売されたらアルゴリズムの授業ではこれを教科書に使いたい :)

ちなみに「イラストで学ぶ自然言語処理」も楽しみにしている ;)

夕方はスーパーまで買い物に行く。最近食材は生協で、ベビー用品はネット通販で買っているのだが、実際にお店に行くと「せっかく来たから」などと、ついついお菓子とかなんだとか買ってしまう(汗)ネット通販だと余分なものをわざわざ買うことはないのだが、割と高い商品でもそんなに抵抗なく買えてしまうので、トータルだとネット通販のほうが無駄遣いしてそうな気もする。家計簿は細かくつけていない(貯蓄以外で入るのと出るのがバランスするようにはしている)のだが、一度ちゃんと仕分けしてつけたほうがいいだろうな〜。