2011年2月11日金曜日

CS106A: lecture05

本がやっと届いたので、一気にchapter3まで読んで、かつchapter2のプログラミング問題もやって、lecture05を見ることができた。 テキストを読んでいると、授業の内容は非常に簡単。 chapter3だけでなくchapter2の内容に触れることが多かった。 時々jokeを言っている(生徒たちがかなり笑ってる)のを理解できなくて、悲しくなることがありながらも順調である。 

2011年2月2日水曜日

CS106a: Lecture 2&3












第2回目の講義から本格的に授業が始まっていくわけですが、一番初めはKarelを使ったIntroductionです。 KarelはJavaを元に作られており、Lecture4以降のJavaへとスムーズに移れるようになっていました。 Karelは非常にシンプルな行動(move, turnLeft, putBeeper, pickBeeper)しか出来ずそれをもとに与えられた問題をKarel君に解いてもらおうというものです。 問題自体非常に楽しかったです。Lecture2で出された1度目のAssignmentが今終わりました。 (problem3は結構悩んだ。。) 
結構頭使いますね。 もっと綺麗にできるか試してみます。 

 さて、授業中に言っていた重要なポイントをまとめます。
1. Codeは自分が読めればいいわけでなく、ほかの人にも読みや少なければならない。
 Commentをつけたりしましょう。 プログラムが大きくなれば多くの人と共に組まなくてはならないからです。 コメントのつけ方は、そのパーツが何をしているのかをはじめ、pre-condition&post-conditionを明記する。

2. decomposition
タスクを細分化していくわけですが、どのように細分化するか? 
 当然、状況によっては細分化の方法は異なるが、基本的には以下に気をつける
 ・そのsub-classの名前がシンプルとなれる
  つまり、そのsub-classの動きが一般的である。 他の状況でも使える。 
 ・sub-classをシンプルな命令のみで記述できる


なかなか、Amazonで注文した"the art and science of java"が届かない。。。 
しばし、待つか。 次のを見てしまうか。。