I eventually finished Algorithm part I from Stanford. It is a pretty good course. The professor is really good but I just thought it to be too boring a year ago. I used to rely much on programming languages rather than algorithms. From my current standpoint, it is not a quite good strategy. Learning a new language is much easier than mastering algorithms. Now I am beginning part II which covers almost everything I will need or learn in the first two years of university.
I don't know whether it's more important to build connections during the university or to learn as much as I can. As far as I am concerned, most company-oriented projects do not require people to possess a tremendous amount of knowledge about programming. Ideas are more important in companies. However, if I want to excel in researches, it would better for me to learn more about theorems instead of real-life applications. Of course, it is very unlikely that I will go with the latter option.