死要死的明白

// 悲催的CS3233

我这学期虽然只拿了3.5门课,只有两门课有期末考试,但因为一门CS3233花了我绝大部分时间(而且成绩还特别不好)…整体上来说,这个学期还是很糟糕的。

CS3233的形式是,每周三晚上1.5个小时的竞赛题目考试,三道题,一般的同学可以做出A和B,C会留作这周的作业之一。之后老师讲2个小时的算法,回去之后在UVA OJ上面做题。

但是我在听老师讲算法的时候,可能当时明白了一点点,回去以做题就不行了(经常是一个WA就要折磨很多个小时)。于是内心形成了一种小小的恐惧心理:一方面在这门课上花了超多的时间,另一方面花时间的时候又很没有效率,而且留的作业都是快到了Deadline才做完的。

每周二的时间,我都贡献给了CS3233这门课。但当我回头看看的时候,其实自己并没有做什么事情。

其实CS3233每周只学一点点算法。这周学的是KMP(确定的O(n+m)的效率来做String Matching),Suffix Trie/Tree/Array。在书里面还要看用Dynamic Programming的方式进行String的处理:求Edit Distance,Longest Common Subsequence。

我今天上午在写上周的Problem C,数学题,因为一个Corner Case没有想到Debug了一个小时。下午除了上了两个小时的课之外,都在在CS3233的题目。

但是现在仅仅是搞懂了KMP而已。而且因为对于KMP不够了解,一道本来非常简单的KMP题目我硬是想了两个小时。

和室友讲起来不爽,室友一句话提醒了我:我的学习方式不对,在对于算法还没有足够了解的时候就跑去做题,然后把大部分时间都花在无意义的Debug上面,而不是一次做对。

我觉得他说的对。说到底是时间分配的问题。

但如果都快到了期末我还没有搞清楚时间应该怎么分配,都到了大二晚期了还不知道什么时间该做什么事情,也算是死有余辜。

// 暑假还没成功的Project

然后话说回来到我的暑假那个一直没有完成的Project:给一个Volunteer组织编程改进他们的工作流程。论Code我真心写了不少,质量也不错。而且自己可以拍着胸脯说自己是干活最多的那个。

但是效果不好。一方面,对于我们应该实现什么东西不是100%清楚,和Client见面之后并没有做好总结; 另一方面,和队友的沟通不够,以至于很多时候自己默默地在那里Debug(Drupal复杂的平台,Debug起来十分艰难),也不知道有很多同样的问题,其实Senior遇到过了,解决了还留下了解决方案的。

一个队友最后对我的评价是:在不需要努力的地方很努力,在不该懒的地方犯懒了。

我觉得她讲得正中要害。

// 一点小小的总结

人们都说,失败是成功之母。但是前提条件是,你要知道你为什么会失败。

在李笑来的《把时间当朋友》里面,讲到人的学习有三个层次。最低层次的人,需要反复撞南墙才会回头; 中层次的人,可以失败一次就记住了; 到了高层次的人,可以从别人的经历里面学习。

我想,高学习层次的人,应该是会把更多的时间花在思考上的吧。

我觉得,人和人之间,生理上的区别并不大的。但是,有一些人懂得怎么样思考,懂得在什么时间该做什么事情。

That makes a lot of difference。

猜你喜欢

转载自flyfy1.iteye.com/blog/1465550