Freedom of speech

Piazza is an online forum tool that is heavily used in the academia. It is used to help students ask questions and get feedback from both peers and instructors. It has a goal that is similar to Slack in the sense that they both try to cut the duplicate emails sent by several people for the same or similar type of request. It is a good tool but every tool that comes with power has its own consequence.

Instructors can perform the following configuration when they setup the forum for the course.

Screen Shot 2018-02-09 at 11.58.12 PM

Basically, this option means that when you make a post, whether you can choose to be “Anonymous” to both your peers and instructors or to your peers only (instructors can still see who makes the post).  The following picture shows what this option looks like from student’s perspective:

Screen Shot 2018-02-09 at 11.58.33 PM

The intention for this option I guess is that some students may feel embarrassed to ask questions. They might think their questions are dumb and will make them look bad in front of peers or instructors. I think this option is used as a way to encourage students to ask questions bravely.

However, this option may get abused. From my observation, Piazza is used as a way for instructors to show off their teaching quality. This is important for Assistant Professors because teaching still means something (if teaching quality doesn’t matter, why institution asks for the teaching statement at the very first place?). In addition, the teaching quality in some sense is an important indicator for students to evaluate you as a person. This is important for professors who are looking for graduate students because research publication is only part of the story and how those professors interact with students may be a crucial indicator to how good a professor as a human being is (evaluation may be a better indicator but it is confidential). Thus, if some potential students look at the piazza that his interested professor teaches gets a lot of complaints. The students may have a second thought on whether he should work with him for research (maybe he is a very bad person even he is doing a good research).

Thus, the instructors have a strong motivation to censor the posts on the piazza. This scares the students because they don’t have a secure way to provide feedback to the instructor. Let’s assume that the majority of students has a good heart: they won’t say bad stuff to the instructor who actually really cares about students. Thus, the time that something slightly negative appears on the Piazza may be a very important signal to the instructor that something wrong with his teaching. However, due to the strong motivation for instructors to show off their teaching quality through Piazza, the instructors may start to censor the speech on the Piazza by turning the option off.

I didn’t realize this thing last semester. Last semester, the instructor from one course sets this option off and I was thinking maybe he wants to know the students who are shy to ask questions and provide some individual attention. However, this semester, the instructor from one of my course initially turn the option on so that everyone can truly ask questions as “Anonymous”. Then, until one day, someone makes the below post and the option is turned off. Now, no students dare to make slightly negative posts.

Screen Shot 2018-02-10 at 12.28.57 AM

 

I fully understand the interests conflict between students and instructors on the use of Piazza: students may think Piazza is a secure way to provide anonymous feedback while instructor may think bad posts on the forum make them look bad. However, I still think there should be a better way to address this conflict to protect both students and instructors especially with the technology we have nowadays. But, (unintentional) censorship is not something we want to culture especially in the Academia. By the way, for this course, I still think the instructor is good but the material is quite challenging without laying down a solid theoretical foundation beforehand. He went through the material again after this post but too bad the truely “Anonymous” is gone.

Advertisements

2017 End-year Recap

距离要起床去机场还不到2个小时了。实在是辗转难眠,就起床开始写今年的倒数第二篇博客了。如果我在飞机上能读完那本书的话,还是会有一篇book review的。

先贴上2016年的回顾吧。毕竟格式是要保持一致的。

2017年回顾

上来先做个工作报告,回顾一下16年展望中的工作进展:

  • 博客数量至少100篇!

粗略数了数,17年目前为止总共写了62篇博客。其中技术类44篇更新在我的个人主页上。虽然没有完成既定的目标,但是我个人对这个数量还是比较满意的。年初的时候就基本发现1年写100篇博客其实还是不现实的。如果在这个数量前加个“有质量”的定语,那就更加不可能。“有质量”仅仅是指对我个人来说。技术博客9月份以前由于工作原因时间比较充分,所以还是可以好好看看书,然后写写的。但是到9月份的时候就有灌水之嫌了。所以,我就果断作罢,停止技术博客更新了。希望回国冬假期间能补上几篇。Wordpress的博客这一年来还是坚持每月至少更新一篇,整体质量还算说得过去,只有11月份灌水了一下,这里作为半吊子作家自我检讨一下。博客的灌水究其原因还是时间不够。随着开始硕士学习,课程强度使得我没时间沉淀。每天都在张着嘴,被老师拿各种新东西往里揣。现在感觉有点消化不良,希望冬假能沉淀沉淀。

  • 体脂比降到15%以下,体重降到70kg

看到这个是老泪纵横。在国内控制的可以叫做胜利在望,但是出来了就可以叫做惨不忍睹了。最好记录是72.6公斤,12%体脂比。主要出来检讨一下在国外这几个月骄奢淫逸的罪行。首先没弄个体重秤是最大的问题原因。果然没有数字的直接刺激,就很难评估每次运动的直接成果。其次就是吃了。最开始吃还是克制了一些,但是后来就非常放飞了。10月底开始我家来了个重要客人来我这入伙,那真是变成了想怎么吃就怎么吃了。一顿饭不仅要弄个2,3个蔬菜,连肉大部分时间都是既有白肉也有红肉。每次蒸米饭,我的手抓个3把就差不多了。但是由于客人实在太过尊贵,就抓个4,5把了。米饭真是个好东西。亚马逊19.99一大袋便宜不说,吃起来特别管饱。每次两个人坐在椅子上,互相看着对方拍着肚皮的样子,一种幸福感与安全感混杂的情绪就油然而生了。现在我做饭口碑算是小有建立起来了,至少在那位不能说名字的客人面前,我做的饭是属于管够并且“多搁点盐就是餐馆水平”的了。现在和我室友,以及那位客人相约减肥,为此我室友还搞了个体重秤。希望能如愿。

  • 看书频率要达到这位的速度

这个又是罪过了,完全没有达到预期。如果把全年以出国日期8月5号作为切割点的话,两段时间各自出现了一些问题。出国前看书偏细致,算法书逢题比作,看的实在是过于精细了一点。同时,自己文学类书籍看过一些,但是频率还是不及。出国后看书效率明显提升。这个主要得益于跳着看这个方法。 这里非常感谢Prof. Dana Ballard教的Machine Learning以及其他courses的老师们,自学成为主要学习手段。疯狂的project进度逼迫着我这个完美主义者向能用就行主义者的进化。看一本书直接就看最相关的章节,所有背景知识都是后补,并且如果又不理解的但又不影响阅读的,就画个标记搁置起来后边再看。意识到一本书可以看多遍的道理,所以第一遍读时的贪欲就少了很多,就不求每个点都读懂了。是的,写这段话的时候,我脑海里浮现的书名就是PRML。但是,一本书没有看完大部分章节终究还是不能说看过的,所以8月份后问题主要出现在时间不够上边。介于未来几年希望能读完PhD的我来说,状况可能改善不会太大。

  • 每读一本书都要写book review!

这个做的还是不错的。因为毕竟真正读完的就没有几本而且都集中在上班时期,所以每本读完的书都写过book review了。

  • 有所学校能收了我!

这个愿望算是实现了。感谢主。我来到了UT-Austin!

从2016年的展望来看,5个点真正完成的了只有最后两个,完成率40%,只能说一般。但是从2017年整体来看,我还是比较满意的。适应了从职场人到学生的转变,虽然第一学期的Graduate school非常难熬,但是我还是非常高兴自己能挺了下来。希望新的一年里能继续加油。

2018年展望

  • 向下扎根,向上结果

其实这是教会2018年要交通的主题。结合自己来看就是希望自己能够更加的了解神,接近神,信靠神。教会里属灵前辈讲男人是头。17年的第一学期主要参加的就是团契和主日了。祷告会一次也没有参加过,甚是惭愧。重要的客人这方面已经积累了10多年了,要超越不容易,但是还是要做。具体来说,18年希望内心得刚强。有的时候我深深佩服我这位客人。总觉得内心是刚强的,尤其在美国,在外旅行的时候。要向她学习。这点我觉得解决问题的关键还是在主那里。也许主让我和这位客人相遇就是想去除我内心上的软弱呢?我还是非常相信这点的。

  • 找到实习或者署研

这点其实是老生常谈的问题。研究方向成为了17年一个贯穿始终的话题。坦率的讲,我第一学期之后还是没有发现我真正的研究方向。NLP已经成为我AI方向中的头号Candidate。但是System那边还是希望能多explore一下再做最终决定。至少目前我是这样想的,但是不到课表确定的最后一刻,任何问题都还是说不定。确定了研究方向暑期研究具体做什么也就确定了很大一部分了。剩下的就是确定导师了。实习算是另外一个方向,主要是为了刷题多积累点动力。另外一学期的政治学习也积累了不少动力。

  • 有学校可上

18年底又又又要申请学校了,这次希望继续有神的保守。

这一切的一切都需要主的保守!

In relationships: a first taste

It’s October 30th today. I only have one more day left to compose a post for October. Blogging can be very hard during school time because there are endless tasks you need to get done in a timely fashion with certain expected results. Even though I have given up watching videoes, playing video games, writing technical blogs (almost) for this semester, I still want to write something here to keep the blogging trend going: I have written at least one post per month for the past two years. So, here it is.

There are many things happened in October and surprisingly, those things are all about the relationship: I got baptism to become a Christian, which indicates a new relationship with the God; I start seeing a woman, which is a relationship in a normal standard. One thing I am always curious about when I don’t involve those relationships is: how life can be different when you are in a relationship. Most of my knowledge on this matter is from the media and the people I observe. For the relationship with the God, I barely know anything. I haven’t actively thought about this since I graduated from the college and I won’t even think about being a Christian before coming to Austin. For the relationship with a woman, that I have been thinking about quite actively especially when I was a high school student. I always want to know the taste of being with someone. However, quite surprisingly, if you ask me now how life changed after being with God and being with a woman, I would say: the former one is quite significant but the latter one doesn’t change much.

Being with the God

Being with the God is a huge decision to me. I went to a church back in Madison for two years but I could barely feel anything internally. I always treat going church on Sunday morning as a way to sing some songs and take a break from study. However, after arriving in Austin and thanks to some incidents, the picture of God becomes clear to me. I start to feel the life journey I have been through is perfectly designed to me. Attending Madison for undergraduate makes me mentally strong to the setbacks and going back to China for work makes me grow up like an adult and start to learn all the soft skills I previously ignored: communication, love, and family. All those things prepare me to head back to the States and pursue the further study. In addition, I always know that I have sin but I don’t know what way can help me to get rid of that and start a new life. Even worse, I constantly get seduced by Satan to do the things that hurt my friends and my family. I know I’m wrong but the pleasure coming from the crime is just too much and that gives me the pulse to commit again next time. Thankfully, I have the chance to know the God and I get my way out of the vicious cycle.  After becoming a Christian, I learn to view things in God’s view and try to pass the love to others. I learn to forgive the conflict and do things in the honor of God. Thanks to God, he prepares a woman for me.

Being with a woman

Surprisingly, being in a relationship doesn’t change my life that much. I simply have one more person to care about and I need to allocate certain time for that person. This doesn’t differ from spending time with my parents previously. She is a Christian as well and we adhere to the same core values. All the rest of difference seems trivial to reconcile. However, we have been dating for like a month and we are still in the calibration period: we start to know more about each other and be careful with the relationship traps that people usually fall into. However, with the help of the God, I think I’ll be fine.

Does teaching matter?

I really hesitate whether I should spend my precious hours during the working days composing this blog post. However, I feel I should. I wrote down the title several days ago but I felt some pieces were missing to formal a relative concrete post. However, today, the miracle happened and I can finally complete my puzzle.

Several days ago, I feel quite frustrated because there is a homework due for one of my classes and I have no clue how to finish it. I dig into the books on the subject and try to research the solution out. The most frustrating part isn’t the whole process of seeking answers. It from the lectures. The class is quite popular among the CS graduate student and no matter what areas of their research, everyone I know in the program will take this class sooner or later. The professor for the class is quite famous for his research but I have to say that the quality of the teaching is controversial. By controversial, I mean there is a debate in my head on whether his style of teaching is good or not. If you are familiar with Prof. Andrew Ng’s CS229 lecture videos, then his style is exactly opposite of Prof. Andrew Ng’s. Unlike Prof. Andrew Ng’s mathematical teaching style, professor in my class skips most the f derivations of the formulas and in some cases, he will read through the slides and talk loud about some steps of the derivation. He usually ends the 90 minutes lecture 30 minutes early and in-between he may make some jokes or take a diverge into his research areas that might seem related to lecture topic. The good side of his teaching is that he may offer some intuitions or insights on why we perform those steps and sometimes those few words may help you connect the dots. His teaching style may look like a good fit for someone has a solid background in the field but if you are relatively new to the field, you may have some hard time. This “twisted” class partially leads to my question in the title: “Does teaching matter?” For me, under the context of trying to finish the homework, I cannot see any good from my professor’s lecture style.

The reason that I now look quite peaceful in accepting his lecture style is because of some new insights into research. In a nutshell, you just really don’t have enough time getting everything figured out all at once. Once you’re inside the graduate courses, you will start to read research paper immediately. There can be a lot of background knowledge you need to clear up especially you are new to a field. However, can you say “let me take a pause and get everything figured out at the first.”? No! There are unstoppable piles of papers coming to you and all you need is try to iteratively make best out of the paper. If there are mathematical formulas you don’t understand, in most cases, that’s ok as long as you get a big picture of the paper. The formulas matter the most when you actually start to build your own models. But, that’s not like I have to super clear about every bit of variables appeared in the set of formulas. Many of times, you can take them as given and go straight to use them as basic bricks to build your own building. This feels a lot like playing with LEGO: you don’t care how each piece is made of. You simply use them to build your stuff. The way of looking at knowledge is totally different from your undergraduate where you are tested out every bit of information taught in class through the exam. This observation may look easy but it is really hard from psychological perspective especially when you are a strict person who holds tight to your knowledge system. This psychological barrier is hard to break when you have relative enough time to read through a single paper. You may really hog onto the background or related work section of the paper and you may think there is always a piece of information that you find yourself unclear. Then, you take several months to study the material in order to move a few words to the next sentence of the paragraph. That’s exactly the beauty of the graduate school where you get bombarded by the papers. You just simply don’t have enough time to get everything cleared up before moving on. Classes are heavily centered around the papers and you are sort of expected to figure out on your own by adopting an iterative approach to the knowledge understanding. Take PCA algorithm as an example. The first pass of the material may just simply know how to follow the algorithm and implemented it. The second pass of the material may involve understanding the intuition behind the method and some mathematics derivations. The third pass of the material may actually need to dive to figure out every bit of information and so on.

Now, let’s get back to the question: “Does teaching matter?” It is sort of yes and no question depending on the perspective. From the undergraduate perspective, the hand-holding strategy is probably the must because that’s how we help students build the solid knowledge foundation and allow them to have the basic strategies to survive in the water. Now, for graduate students, it’s debatable whether we should go freestyle of teaching like my professor of the class or we still proceed somewhat like hand-holding but with modification. I guess that depends on the information that the instructor wants to deliver: knowledge itself or how the research is done.

P.S. The miracle happened to me today is during the calculus discussion section, a bunch of freshman chats out loud when I try to explain the solution of the problem to the class. That brings me to think whether the education quality of public system relatively weak compared to the private institutions is due to the quality difference of students. People may think that the reason why faculty in public universities don’t really care about teaching that much is due to the lack of the incentives. But, I’m now starting to think whether that also probably involves another party as well: the students who in short give the wrong signals to the faculty who try hard to achieve teaching excellence. That’s probably an another post in the future.

 

Leaving IBM

To be honest, this is probably the most difficult post I have ever written. This is majorly because there is a ton of stuff I want to say but I’m unsure whether I should keep them public or should keep it to myself. Another factor that makes this post hard to write is because the span of drafting. I have been drafting this post since April in 2016, right after when I decide to start the whole process of quit-IBM-and-get-a-PhD project.  I used to use this post as a log to record things and feelings when somethings happens around me at IBM. Frankly, if I take a look at the stuff I record (mostly are rantings) retrospectively, lots of stuff still hold but the anger just passes away with the time. So, that year-long drafting really makes me hesitate even more because the mood when those stuff are written are gone. However, two years can be a significant amount of time and quitting IBM can be called “an end of era” and I should give a closure to my happy-and-bitter experience with IBM anyway. So, here it goes.

 

Thank you, IBM!

I’m really thankful for the opportunities working with IBM. This experience really makes me grow both technically and mentally.  Technical-wise, I have the opportunity to get hands on experience with DB2 development. DB2 as a database engine is extremely complex. It has over 10 million lines of code and it is way beyond the scope of any school project. Working on those projects are quite challenging because there is no way you can get clear understanding of every part of the project. I still remember when I attend the new hire education on DB2, there is one guy says: “I have been working on the DB2 optimizer for over 10 years but I cannot claim with certainty that I know every bit of the component I own.” This fact really shocks me and based upon my experience so far, his claim still holds but with one subtle assumption, which I’ll talk about later. There are lots of tools are developed internally and reading through both the code and tool chains are a great fortune for any self-motivated developers. I pick a lots of skills alongside: C, C++, Makefile, Emacs, Perl, Shell, AIX and many more. I’m really appreciated with this opportunity and I feel my knowledge with database and operating system grow a lot since my graduation from college.

Mentally, there are also lots of gains. Being a fresh grad is no easy. Lots of people get burned out because they are just like people who try to learn swim and are put inside water: either swim or drown. I’m lucky that my first job is with IBM because the atmosphere is just so relax: people expect you to learn on your own but they are also friendly enough (majority of them) to give you a hand when you need help. I still remember my first ticket with a customer is on a severity one issue, which should be updated your progress with the problem daily. There is a lot of pressure on me because I really have no clue with the product at the very beginning. I’m thankful for those who help me at that time and many difficult moments afterwards. That makes me realize how important is to be nice and stay active with the people around you.  Because no matter how good you are with technology and the product, there are always stuff you don’t know. Staying active with people around you may help you go through the difficult moment like this by giving you a thread that you can start at least pull. In addition, participating with toastmasters club really improve my communication and leadership skills and more importantly, I make tons of friends inside the club. Without working at IBM, I probably won’t even know the existence of the toastmasters club. If you happen to follow my posts, you’ll see lots of going on around me when I work at IBM. Every experience you go through offer you a great opportunity to learn and improve yourself. Some people may look at them as setbacks but for me, I look at them as opportunities.

toastmasters1

( the picture on the left is all the comments people give to me about my speech and on the right is the awards I have earned inside the club in these two years)

With the help of all those experience, I have developed a good habit of writing blogs (both technical and non-technical), reading books, and keep working out six days per week. All those things cannot be possible if I work at a place where extra hour work commonly happened. I’m very thankful for IBM for this because staying healthy both physically and mentally are super critical for one’s career. Even though those stuff don’t directly come from IBM, but IBM does provide the environment to nurture this things to happen.

 

IBM has its own problem. The problem is centered around people. There are many words I want to say but I think I’ll keep them secretly but I want to show my point with a picture:

ibm_survey

I don’t know why IBM’s term “resource action” on firing employees and the sentence “IBM recognize that our employee are our most valuable resources.” bother me so much. I probably just hate the word “resource” as a way to directly describe people and how this word get spammed so much around IBM. I know everyone working for a big corporation is just like a cog in a machine. However, what I feel based upon lots of things happened around me is that IBM as its attitudes represented by its first-line managers (because those people I commonly work with) makes this fact very explicitly. It hurts, to be honest. No matter how hard you work and no matter how many prizes you have earned for yourself and your first-line manager, you are nothing more than a cog in a machine, which is not worth for high price to have you around because there are many cogs behind you that are ready to replace you. They are much cheaper, much younger, and more or less can work like you because your duty in the machine is just so precisely specified, which doesn’t really depend on how much experience you have had under your belt. To me, that’s devastating.

This leads to the problem that talented people are reluctant to stay with company. My mentor and the people are so good with DB2 have bid farewell to the team. That’s really sad to me because they are the truly asset to the company and the product. The consequence of this is that crucial knowledge is gone with people. Some quirks existing in the product are only known by some people and once they leave the company, the knowledge is gone with them. That makes mastering of the product even harder. That’s the subtle assumption that the person makes during the new hire education and that’s also part of the problem when working with legacy code. The whole legacy code issue is worth another post but one thing I now strongly believe is that any technical problem has its own root cause in company culture and management style. To me, I’m not a guru now but I cannot see the way to become a guru with my current position, which scares me the most

That’s it for this section and I’ll leave the rest to my journal.

“Research” Interest

This week Friday, I meet with my future roommate in Beijing. During the lunch, we had a conversation about each one’s research interest. My roommate, likes me, is also a CS graduate student at Austin. However, unlike me, he has a clear vision about what direction he is going to pursue in graduate school. He just finished his undergraduate degree in Automation department at Tsinghua University. Automation department, as he explained, is similar to a mixture of mechanical engineering and electrical engineering. He has interest in mathematics since high school and naturally, he wants to work on machine learning theory in graduate school with emphasis on computer vision (CV).

Now comes to my turn. That’s a hard question I have been thinking about for a while. I don’t have clear vision on what I’m going to pursue next. I think maybe I’m too greedy and want to keep everything. However, I also realize that I may not be as greedy as I thought initially. I know I don’t want to work on computer architecture, computation theory, algorithm, compiler, network. Now, my options really just choosing among operating system, database, and machine learning. For the machine learning, I even know I probably won’t choose computer vision eventually (still want to try a course though) and I more lean towards the natural language processing (NLP). However, picking one out of those areas is just too hard for me now, even after I did some analysis in my last post trying to buy myself into picking machine learning only. There is always a question running in my head: why I have to pick one? Sometimes I just envy the person like my future roommate who doesn’t have this torture in his mind (maybe he does? I don’t know).

This feeling, to be honest, doesn’t new to me. When I was undergraduate facing the pressure of getting a job, a naive approach is just locking oneself in the room and keeping thinking what profession might suit me the best. After two years of working, I grow up enough to know that this methodology on making choice is stupid and I also grow up enough to know that “give up is a practice of art”. Why I’m in this rush to pick the direction I want to pursue even before I’m taking any graduate course yet? Why can’t I sit down and try out several courses first? Because I want to get a PhD in good school so bad. Let’s face the fact that people get smarter and smarter in generations. Here “smarter and smarter” doesn’t necessarily mean that people won’t repeat the mistake that happened before. It means that people will have better capability to improve themselves. Machine learning is not hot in 2014 from my experience in college. Back that time, Leetcode only has around 100 problems. I have no particular emotional attachment to machine learning material when I’m taking the AI class. Maybe because wisconsin has tradition in system area? I don’t know. However, in 2017, everyone, even my mother who is a retired accountant, can say some words about AI, machine learning. Isn’t that crazy?

On my homepage,  I write the following words:

I like to spend time on both system and machine learning: system programming is deeply rooted in my heart that cannot easily get rid of; machine learning is like the magic trick that the audience always want to know how it works. I come back to the academia in the hope of finding the spark between these two fascinating fields.

Trust me, I really mean it. Maybe because I graduate from wisconsin, I have naturally passion for system-level programming, no matter it from operating system or database. Professor Remzi’s system class is just a blast for anyone who wants to know what’s going on really under the software application layer. Professor Naughton’s db course is fully of insights that I can keep referring to even I begin to work a DBMS in real world. Wisconsin is just too good in system field and this is something that I can hardly say no even I have work so hard lie to my face saying that “system is not worth your time”. What about machine learning? To be honest, great AI dream may never accomplish. Undergraduate AI course surveys almost every corner of AI development but only machine learning becomes the hottest nowadays. Almost every AI-related development nowadays (i.e. NLP,  Robotics, CV) relies on machine learning technique support. Why I’m attracted to machine learning? Because it’s so cool. I’m like a kid who is eager to know what is going on behind magic trick. Machine learning is a technique to solve un-programmable task. We cannot come up with a procedure to teach machine read text, identify image object, and so on. We can solve these tasks only because the advancement of machine learning. Isn’t this great? Why both? I think machine learning and system becomes more and more inseparable. Without good knowledge about system, one can hardly build a good machine learning system. Implementing batch gradient descent using map-reduce is a good example in this case.

I just realized that I haven’t answered the question about rushing towards the making decision. In order to get a good graduate school to pursue PhD, you need to demonstrate that you can do research. This is done by publishing papers. Most of undergraduates nowadays have papers under their belt. That’s huge pressure to me. Master program only has two years. I cannot afford the time to look around. I need to get started with research immediately in order to have a good standing when I apply to PhD in 2018.

So, as you can tell, I have problem. So, as a future researcher, I need to solve the problem. Here is what I’m planning to do:

  • Take courses in machine learning in first semester and begin to work on research project as soon as I can. I’ll give NLP problem a chance.
  • Meanwhile, sitting in OS class and begin to read papers produced by the Berkeley Database group. People their seem to have interest in the intersection between machine learning and system. This paper looks like promising one.
  • Talk to more people in the area and seek some advice from others.
  • Start reading “How to stop worrying and start living

Will this solve the problem eventually? I don’t know. Only time can tell.

Decision

突然发现时间已经到了4月的最后一天。这个月我还没有在wordpress上写过任何博客。所以赶紧开始赶制这四月第一篇博客。

4月份发生的比较重大的事情就是录取结果陆续放出了。是的,我准备再度去美国读书,攻读计算机专业。读书这件事情其实筹备了很久,从去年的5,6月份考取GRE开始算的话,连准备考试,申请,到拿到申请结果,前前后后也快有一年的时间。今天这篇博客并不是想要去回答:为什么想要再出去读书,申请期间发生了什么事情等问题。这些我打算在我8月份的博客里去回答。今天,我只是想谈谈选录取offer这个话题。

研究生选offer和本科选offer还是有些不一样的。我还依稀记得本科选校的时候,就是在wisconsin和illinois之间选。那个时候主要是看综排并辅以专业排名。2010年wisconsin还是可以排到US News 35位的。另外看了看wisconsin在自然科学,社会科学排名方面都是基本在北美前10左右。最后学费上wisconsin也是低于illinois不少。所以最后就选择去了wisconsin。现在来看选择wisconsin我是一点没有后悔的。因为在那里锻炼了我坚毅的品格。课业的压力和暗无天日的长冬对于任何一个人从心理到生理上都是非常大的挑战。后来,忘记在哪里看到了一种叫badger holds的说法,说wisconsin出来的人不管走到哪里都能hold住全场。我想此言还是有些道理的。

到了研究生选校就是另外一番策略了。一般来讲是专排高于综排。换句话讲就是在研究生阶段是专业排名要比综合排名更加重要的。但是,在计算机领域,有四大神校:MIT, Stanford, UC-Berkeley, 和CMU。这四所学校是基本可以做到综排和专排兼顾的。所以如果被这四所学校录取的话,基本上可以做到无脑选择去了。这里说的是基本上,说明也有例外。这里我会在后边说。下面谈谈我对择校的反思。

先说下结果。这次我录取的项目有: CMU-SV MS-SE, Brown MS-CS, NYU MS-CS, GaTech MS-CS, UT-Austin MS-CS, UCSD MS-CS, CornellTech MMeng-CS, Columbia MS-CS. 最后我选择了UT-Austin MS-CS。

Know your goals:  employment or research?

这里说的是上Master的目的:是直接毕业找工作还是想要为未来PhD做准备?这条在本质上决定了选择offer的大方向。很少有项目能做到两者兼顾的。首先说说直接毕业找工作。如果是为了直接毕业找工作的话,那么学校placement statistics, 地理位置就要在决定过程中占有相对大的比例。与之相应的research实力,课程设置,导师等就不是考虑的重中之重了。如果以这个标准来看,CMU-SV MS-SE,Brown MS-CS, GaTech MS-CS, UCSD MS-CS, Columbia MS-CS, NYU MS-CS, CornellTech MMeng-CS就是些非常不错的选择了。再来说说研究方向,这里我们要看的就是教授,研究方向了。这里我并不是要说鱼和熊掌不可兼得,我想说的是每个项目都有不同的侧重点。

Big Department or Small Department?

系的大小也是影响决定的一个重要因素。Brown是第一个给我offer的,同时也是让我心动了很长时间。原因就是以Brown为代表的这种小而精的系,每个教授可以给每个学生最大的attention, 系里的氛围像大家庭一样。换句话讲,人均资源相对于那些大系来说会多一些。但是任何事物都不是完美的。系小的缺点就在于课程设置不会那么丰富并且研究领域会出现侧重:不会每个领域都会有教授的。我再来说说系大的特点。系大基本上就是系小取反。你面对的可能是更加激烈的竞争,资源就这些,每个人要去try their best to fight for the resources. 这里没有人会去babysitting,所以学生会被要求更加独立。但是,这不就是现实社会么?

Do a campus visit if you can!

其实专业排名,系的大小,你的兴趣所在都只是生活的一部分。最重要的是你要选择一个自己感觉到舒服的地方。毕竟在接下来的一到两年里,你要在这里学习生活。这个时候Campus visit就显得非常重要。去实地感受一下这里是不是真的适合你。去一个不适合自己的地方是一件非常痛苦的事情。我之前去过NYC,知道在NYC学习是一件多么不容易的事情,所以我知道如果可能的话,我还是比较适合college town。另外,在wisconsin学习的经历告诉我,天气同样是不可忽视的因素。这些都是排名等数据无法明确告诉你的。再多说一句,但凡在外边读过书的人都会知道图书馆的重要性。Wisconsin在这方面做的是非常非常好的。为什么呢?因为整个学校有43个大大小小的图书馆。我上学的时候最新欢光顾的就是Memorial, Law, Music,Astronomy, Econ这几所图书馆。每个系的building都会有图书馆的存在。如果我想的话,我可以根据心情挑不同图书馆来学习。但是,比如说GaTech, 整个campus只有一座图书馆,这对于一个喜欢泡图书馆的人来说,是非常难过的。这些因素都会很大程度影响一个人两年时间的开心与否的。

Carefully research the program!

其实在申请的时候去非常详细研究一个program是非常困难的。为什么呢?因为你的时间有限,而且研究的非常详细的话(比如哪个老师不好好备课,哪个老师上课很难这种),如果最终没有录取的话,那么你的努力就会白费。所以,很多人都是从一些指标和项目的粗略描述上来决定是否申请。但是,在得到录取结果后,就不能如此草率了。当时在做决定的时候,我最终在GaTech和UT-Austin做选择。我的做法是把每个学校老师和我兴趣沾边的都去翻了一遍,并且把两所学校的课程,每门课的主页都去翻了一下。我发现GaTech因为online master的原因,相当部分的课是看视频上课,老师负责答疑的。比如说,Machine Learning for Trading 这门课。上过MOOC的人都应该知道,网络版的课难度是比不上实体课的。因为受众群体不一样。这样如果你是想锻炼自己研究能力,去训练读paper的能力的话,像GaTech可能就不太适合。

打算这篇博客其实想了很久,因为在4月15日前我真的是非常纠结。但是,所幸的是,我还是仔细的去比较了每个项目,去发现项目之间的nuance, 然后做出了非常艰难的取舍。本来在写之前感觉自己会滔滔不绝写出很多。但是等真正落下笔去写,会发现其实选校的依据并没有自己想象的那么多。总结一句话,就是知道自己想要什么是整个选校过程中最重要的依据。但是,话说回来,这条哪件事不适用呢?