10

Dec

2007

[补遗]过去的两个月,其之一

昨天有两个朋友问我怎么都不更新博客了,于是我便回来重新收拾一下,现在访问量这样的数据对我已经没什么意义了。写自己感兴趣的事情,我只是想这样而已。

前两个月忙得够呛,特别是错选了2门课程搞得每天都过得硝烟弥漫.下面我来公布这两门课程的名称,如果你是UNSW在读或者future student,选这两门的时候务必3思,除非你是和我一样去接受考验的。

  1. No.1 COMP9317 XML && Database.
  2. 14周一共有6个作业,总分70分,期末考试才占区区30分。这6个作业前3个还OK,第4和第5个(加起来占30%)突然变得其难无比.其中第四个是关于Xpath evaluation的,但是不能使用Xcerse的XpathAPI,换言之,就是要自己写一个轻量级的Xpath parser。好在需要支持的axis不是很多,parent/children/filter如此而已。结果写了2个版本的出来,一个是基于DOM的,很慢,但是绝对正确;另外一个基于SAX,很快,但是用了一些投机取巧的方法,钻了学校AutoMarking System的空子。第五个作业和前一个差不多,不过是Streaming的Xpath parser,在处理不带Filter的query的时候可以用ASS4的code来代替,但是在有Filter的情况下,就需要重新写(因为不能占用太多内存,否则最坏情况需要buffer整个xml文档),中间还有Xpath和DAG的转换,很是让人郁闷。奋斗了3周,迟交了3天,最后总算写出一个不错的版本。考试30分本来只给2小时的,后来老师硬生生的给延到了3小时。最后这门课过得有惊无险,保持了我在DB领域的自我记录。不过事后老师自己也说因为是第一学期开课,对难度的掌握不是很合理,估计之后会稍微好点。

  3. No.2 COMP 9031 Concepts of Programming Language
  4. 自以为在对编程语言还有着比较深刻认识的自己,在这门课上遇到了大挫折!先不得不提我们的PP老师,如果没有这位漂亮的德国美女,这门课一定会成为我UNSW在校史最讨厌的一门课。尽管教的东西不是很难,作业却奇难无比。两个作业都是要实现一种语言,以此来加深对编程语言原理的了解。你要说用类C语言来实现一个轻量级的类C语言,这种活儿本科时就做过。结果这门课是要用functional language来实现一个轻量级的Functional Language。什么是Functional Language?直译叫做函数式语言,在我看来比起计算机学反而更接近数学。函数只有一种模式,就是递归,没有for,没有while。也就是说即便对于最简单的往一个List里面加东西这样的操作,也不能用常识来操作,而要写成递归。还有比较BT的是,程序的结构靠缩进来控制,一旦给某个变量赋了值,就再也不能改变那个值了……等等。两个作业都拿了不过50%的分数,期末考试也很难。好在老师人奇好(先不说两个作业都给了eXtension,且说第二个作业交前的那个礼拜我天天去办公室找她,她都极其耐心的解答T_T,最后只写出来那么些,我都觉得对不起她

    说起这门课的难,还有几个比较好笑的事情。要交最后一个作业的晚上,CSE的服务器突然挂了,我们在实验室折腾了半天没发把作业交出去,后来发现实验室有台开着的机器的主人居然也是选那门课的。在好奇心的驱使下,看了下这位同学的code,这位中东名字的同学的完成读大概也就我们的10%……另一件事情,考试的时候发现很多一起上课的人没去……还有,这是我12+4+1年学习生涯中第一次看到一个考试难到有同学在考场看了眼试卷倒头就睡,还开始打呼……

拜这两门课所赐,9月底10月初的session break好像都没过一样。这学期最后考完的比较早,一看成绩还算可以,有惊无险,有惊无险。

Posted in 无类可分 | 4 Comments

4 Responses to [补遗]过去的两个月,其之一

  1. doubletoplei says:

    是因为我前天质疑你不更新就浪费了motta的租借费了咩?咔咔,顶顶~解我三个月来刷新无果之恨~

  2. pami says:

    cong!
    虽然专业性很强我都看不懂-_-

  3. Xeen says:

    难道是要让实现Haskell麽…
    要说近几年functional却是红得发紫,如同20年前的OOP一般

  4. hinobou says:

    然,是用Haskell实现一个叫做MinHS的语言,类Haskell,但是功能要简单很多

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>