Yao Lirong's Blog

Look Back on Cornell 20SP

2020/05/27

CS3110 Data Struct & Functional Programming

Ranting

When you find yourself saying, “I don’t know,” be sure to follow it up with “ - but I’ll find out.” It’s a great way to admit what you don’t know, but then take responsibility like a pro.

The Pragmatic Programmer, Ch2. The Cat Ate My Source Code

​ Nate Foster 完美诠释了如何做到这一点,当你问他 XXX 什么时候搞完, XXX 为什么还没上传,XXX 是不是出错了的时候,他总能告诉你 “I’ll look into it”, “I don’t know but I’ll get it done by today”, “I have another meeting coming up, but you can come to my office hour to talk about that” (当你真去了的话他会和你说他接下来又有另一个事要处理并非常礼貌地请你滚)。网上的所有评价都是 Both 3110 professors are amazing,并且 reddit 上经常有人感谢 Foster,就差赞美 Foster 胜过他亲爷爷了。不知道是 Foster 给了这些人好处,还是 Foster 自导自演,我和 19FA 咨询的一名 TA 意见是相同的:”Clarkson is more organized than Foster”. 我虽然没有上过 Clarkson 的3110,但是我觉得再差也不会差到哪里去了。要不是 SP 的 3410 讲师天气勺评价更差,我绝不选 SP 上 3110。

​ 不知道是不是计算机院都有的问题:讲义写的实在太好了以至于上课不如自己看讲义。但是 Myers 讲的环环相扣,Foster 则是引入了 iclicker 以强制你在一个可以容纳 300 个人的教室里上计算机课时禁止使用计算机,而是看着他现场 debug 自己本应在课前 debug 好的 demo 代码。Foster 这学期唯一的用处大概就是解答了我关于红黑树的问题 (当然了严格来说不是他解答的,这个我口中的最大用处其实就是我问 “为什么 OCaml 可以几十行实现其他语言几百行的代码,是不是因为 OCaml 的 pattern matching 减少了很多指针操作”,他回答了个 “Yes, you can say that” 而已)

Assignment

  • A0: 某一个 Consultant 说我把最后一个函数 tail-recursive Fibonacci 的两个变量搞倒巴了,于是我把它正了过来,这题0分。一个median为满分的小热身,我得了几乎两个 deviation 低于 median。appeal的结果也是不给我分,原因是我的 spec 里面两个变量的顺序是正确的。你说这TM不是废话吗,因为当时改的时候忘改spec了呗。就因为这个作业搞了我的心态所以我后面对 Foster 和这门课一直印象不好。
  • A3: 写了Maplewood…
  • A5: sxy又救了我一命,说实话我一直到写完都不知道自己在写什么。这个作业完全是被sxy带的

Project

做了一个还蛮好玩的二分法解任意一元函数的可编程计算器。

CS2802 Discrete Structures (Honors)

- So let’s think about some applications of graph in real life. Say who is the most influential person in this class.

- You, professor!

- … Yeah, of course.

​ Joe Halpern 是个非常好玩的老头,除了有的时候课上扯太多的例子以至于讲不完课以外,这是一堂要是有时间讲完图论就完美了的课。从一开始的时候必须每次都去 OH 写出来证明 (尤其是某一次的 inductive definition of transitive closure),到最后某个作业自己独立完成了 “We know M accepts A, WTS A* is regular (accepted by some automata)” 然后这个题还拿了满分,切实的感觉到自己还是学了些有一般适用性的东西的。

MATH3110 Introduction To Analysis

​ 因为某人选的这课,临走前请教了刘晓东,他害怕这节课会难所以建议我只是旁听但不要上,吓得我这学期没再多选课,结果不能说完全不难,但是比 2802 这个 3 学分的课整体来说花的时间少。再也不信刘晓东了,第一学期临走前还跟我说别把多元微积分考掉,最后我还是考掉了(

​ 坚定下来选这门课还有一个原因是上学期的线性代数金牌讲师 Meyer 在讲,这学期跟她上了一个学期感觉虽然有的时候课上讲不太到点子上 (Meyer 下学期要去 Carleton 了,哭哭)。解释的不是很明白以外,整个课下来非常有组织性。另一名讲师法国佬 Saloff-Coste 虽然课讲得真不怎么样,但是 OH 特别有用,让人不禁疑惑 OH 的时候讲得这么好为什么课能讲得这么烂。

CS2043 UNIX Tools and Scripting

​ 讲的东西都很有用很有意思,但是这老师实属不行,就纯念 PPT

WRIT1380 FWS: Elements of Acad Wtg

​ 为了成绩能高点又水了一年 FWS,比去年差远了,这老师没有Brad 能扯皮也没他有意思,作业还比 Brad 多。不过确实教了点有用的写作技巧

CATALOG
  1. 1. CS3110 Data Struct & Functional Programming
    1. 1.1. Ranting
    2. 1.2. Assignment
    3. 1.3. Project
  2. 2. CS2802 Discrete Structures (Honors)
  3. 3. MATH3110 Introduction To Analysis
  4. 4. CS2043 UNIX Tools and Scripting
  5. 5. WRIT1380 FWS: Elements of Acad Wtg