Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Advice for freshmen entering college
49 points by noahlt on Aug 11, 2009 | hide | past | favorite | 149 comments
Hi Hacker News, I'm going to college* in two weeks. I've read <http://paulgraham.com/college.html> and right now my two main goals are: get really good at hacking, and do well enough academically that grad school is an option.

What's your advice for college freshmen, HN? "What do you wish you'd known?" I'm particularly interested in surprising, non-obvious things that I am unlikely to hear from others or think of myself.


__ * Olin College, for what it's worth.

Here is my advice, which is going to be completely different from everyone else here. As a caveat, I almost flunked out of college but am doing pretty well for myself right now, so take it as you may.

Just have fun. Screw classes. Screw trying cramming for tests. Do well enough to learn while not stressing yourself out. College doesn't matter at all for if you can succeed in life. If you have the chops, you don't need the degree. But, you will never have a chance to live up life as you will in college. It is the most care-free and awesome experience you will ever have, and if you're lucky you'll make some awesome memories and lifelong friends.

But if you must do well in school. Spend your time wisely (I also had a 3.7 my last year in college as BS CS). Sit in the first row, do all your learning you need to do in lecture. Do homework between lectures so you can party harder at night and wake up whenever in the morning. GO TO OFFICE HOURS. Pros and grad students practically give away answers on tests at those things.

College doesn't matter at all

That's exactly what I was going to post, but I feared the downmod army, to be honest.

I'm 34 now. Nobody has cared what happened to me in my early 20's since I was about 25. It just doesn't matter. Sure there are a lot of positives you can gain in those 4 years, but some of the most boring and average people I know define themselves by where and when they went to college and what they did there.

As an aside, my totally unscientific examinations suggest that people grow more after a year of travelling than they do after 4 of college.

"As an aside, my totally unscientific examinations suggest that people grow more after a year of travelling than they do after 4 of college."

As a corollary to that - study abroad while in college! It will never be cheaper, easier, or more socially acceptable. The semester I spent in New Zealand cost my parents about 1/3 as much as a semester at Amherst (mostly because tuition + room & board at New Zealand universities was around $7000/NZ, while tuition + room & board at Amherst was $20k+). It massively broadened my perspective - not just because I was in a different country in a different hemisphere, but because I was living on my own, with a 14-hour time difference from my parents, studying at a different school in a different university system. And if I hadn't gone, I'd have to have stayed back on campus while all my friends were abroad...

I think I probably would've gotten even more out of the experience had I been brave enough to go to a country with a different language and vastly different culture, eg. Nepal or Ghana or Madagascar. But there's a limit to how many variables in my life I can change at once. If you're more adventurous, go for it.

That's a great idea actually. Most people "go away to college" but just exchange one set of people for another within the same culture.

While you hit New Zealand, I'd add that for many of us of European decent, not only is that avenue open it may also be super low cost if you can obtain EU citizenship via ancestry.

Couldn't agree more. The statistic when I was in college was ~10% of students studied abroad, which I found shocking. A year's paid vacation to almost anywhere on the planet and 9/10 people said no! Also, despite the fact that you spend most of the time partying and traveling, employers look on study abroad favorably when you get out. I always found this amusing.

Two other things: 1) go to western Europe or Tokyo, or somewhere similarly developed and 1st world. It is far more difficult to go live in those places when you are no longer a student. 2) Go for a year. The people I studied abroad with who opted to do one semester were devastated when late December rolled around and it was time to go home. Although it may not seem like it, you aren't missing anything back home, and the friends you left behind will not have anything interesting to report when you get back.

1) That's actually not what I've heard from the friends that went to Ghana or Madagascar or Nepal - they seemed to get far more out of their study-abroad experience than us normal folk who went to New Zealand or Australia or Oxford. Many of them have traveled significantly since then - both to go back to where they studied abroad, and to other developed nations like Europe. Judging from my circle of friends, it seems like studying in the developing world is a life-changing experience while studying in the developed world is "merely" a nice experience to have.

2) Agree, but I didn't do so myself. Mostly because studying abroad was totally a last-minute decision for me - I got to a week before the deadline for the spring semester, found out all my friends would be abroad for the semester, and thought "Shit - what will I do for a semester?" Better halfway than never. My friends that spent a whole year got much more out of it - after a semester, you're still sorta a tourist, while after a year, you've really started to internalize some of the culture of your host country.

my totally unscientific examinations suggest that people grow more after a year of travelling than they do after 4 of college.

This makes sense. Data point of one, I grew more by living overseas after college than I did by working my way through college.

I think too that for a lot of people, they travel the year after they finish school, so they're a little older as well.

Mostly though it seems to be that once you realize there is a whole world out there with people of every shape, size and belief, you truly see all the possibilities of life.

i don't necessarily disagree, but the OP clearly stated his goals as wanting to do well enough to have grad school as an option.

If you pass, grad school is an option. Maybe not the top echelon, maybe not right away, but it's always an option.

Don't do this. The name of the school on your PhD does matter.

Really? I would naively expect the outcome to matter a lot more. As a PhD, your work product has a lot more transparency than B.S./M.S. degrees, because people will actually hear about your work if it matters (for several different, valid definitions of "hear about" and "matters"). However, I would also naively expect the name of the school to correlate with outcome, but only because because different professors work at different schools.

The outcome is severely affected by what the faculty are doing at the school you end up at. Your chances of successfully completing a Ph.D. doing something completely different from what people are doing in your department are slim.

To whom?

People in your field.

We can give as much lip-service as we want to not caring about pedigree, but the prejudice is always there.


a MBA from an ivy league school carries more weight than a MBA from the university of phoenix.

He was talking about a PhD.

MBA's are more a function of whether or not you can pay for the program than your undergraduate grades really.

i was using an MBA as an example, as its usually the most exaggerated.

another example is that there is a well known preference inside of google for PHDs from a specific set of schools.

Well, google may in fact have specific qualifications that they require in order to work for them, but that's hardly representative of whether or not you can be successful, unless your entire definition of success is a job at google.

My point is that outside of academia and a few outliers, most employers don't give a lick where you obtained your degree. Sure, some people are charmed by an Ivy league school on your resume. I can bet though that more people are charmed by what you are actually doing than where you went to school.

i don't believe the point is whether you will be successful with a PhD. you can be successful with a PhD from almost anywhere. you can be successful without one, too.

the point is that the name on the PhD matters. and it does. it doesn't ALWAYS matter. but it does matter.

Fair enough, I can concede that.

Correct, especially if he wants academia.

It's not as bad as it is for MBA, law, or (at the extreme) humanities PhD programs. In those fields, it's not even worth going if you can't get into a top program. Nonetheless, the ranking of the PhD program matters.

What matters more than the ranking of the program is the reputation of the advisor. However, at a no-name grad school, there may not be any reputable advisors in the field he wants to pursue.

If you merely pass, it's a difficult option. If your grades aren't good, you probably won't get funding, and you'll go to a school with less resources (in terms of money, equipment, and people).

my point was that this person wants to do grad school, so they're not going to follow the "college isn't worth it" path and drop out or not go.

I'm not suggesting anywhere he not go or drop out. I'm simply adding the perspective of someone 15 years down the line.

I'm 34 now. Nobody has cared what happened to me in my early 20's since I was about 25.

I think college is less relevant, in a constantly changing social and technological environment, than it once was.

It used to make sense to front-load one's life with education, concentrating on schooling into the mid-20s and then starting to work. Considering education to be an investment, it was only logical to pursue it as early in one's life as possible. With such a rapid pace of change, however, this model doesn't make sense any more-- much of what you learn in college will be forgotten or obsolete in 20 years. In my mind, it makes more sense to start working at age 14 and spend 1 year out of 5 in some kind of schooling.

I wouldn't go that far. While I don't think college matters, "work" matters even less.

The beauty of front loading a life with education is that one can explore different avenues without any societal or personal pressures to perform before they are mature enough to do so.

I'm all for personal projects and starting side businesses as early as one can manage, but I wouldn't want that to be the societal norm because it would corrupt the experience, exactly as it has corrupted the college experience.

The purpose of quality education is to avoid acquiring a skill that will get obsolete quickly.

Paying thousands of dollars a year to ignore your classes is stupid.

I agree with this. I also think you should follow the advice I gave, but don't imagine that my advice and charlesju's advice are completely contradictory :)

It's a bit random, but: if you're not already in good shape (and many of us hacker types aren't coming out of high school), find where the gym is and learn what to do there, and go three times a week.

College is one of the first chances where you A) generally have free access to a decent gym, B) have enough control over your own time to set a workout schedule, and C) you're generally old enough that working out will actually do something for you.

Getting in good shape will have a positive impact on your energy level, but more importantly it does wonders for your self-confidence and self-image.

I didn't do this in college and I regret it. Thankfully I am now on a schedule, controlling my diet, etc, and I feel far better than I have ever in my life. I've always been overweight, and you have no idea how good it feels to know that your health trajectory is improving as opposed to the opposite.

I have never been more glad that practically my entire wardrobe needs to be replaced. My BMI is now on the low end of "overweight", and I cannot fucking wait for the day when I finally drop back into the "normal" range - something that I haven't been since primary school.

I strongly agree with this. It's never too late to start hitting the gym either. I, like many others, gained the 'freshman 15'. Then I started hitting the gym and lost the weight and got myself into the good habits that helped me for the rest of my life.

An understated portion of college life is that it is independence with training wheels. You have the ability and chances to make wonderful mistakes and learn the reflexive life-lessons from them, but without suffering the odious penalties that one would incur as a fully self reliant adult. Learn to do laundry, to cook, maintain a healthy diet, balance your finances, to meet people who haven't known you since kindergarten, to act ways that the 'rents wouldn't approve. Find out who you are and shape it.

Enjoy yourself, and good luck.

Excellent advice. It has hidden bonuses as well - if you schedule your workouts for the mornings it might bias you towards getting a little more sleep at least 3 times a week.

Never underestimate the effects of being fit and well rested on your ability to think clearly.

Also, check out other campus recreation opportunities. College is a great time to pick a life-long sport that you can use to stay in shape and blow off stress. Swimming, golf, tennis, running, hiking, cycling, etc. are all good. There are also lots of social clubs around campus, usually funded by your fees, that let you try otherwise fairy expensive activities like sailing, kayaking, backpacking, etc.

A little bit of perspective from someone five years further down the river:

I'm grateful for my honours ticket to the thrill ride that is my job. I see the joy I find in what I do every day reflect in the others I work with. I'm privileged in this regard and I respect that.

I regret the plethora of mis-spent hours that I lost in the pursuit of irrelevance and perfection in assignments; it took me five years to learn to ensure effort is concominent with benefit.

I'm grateful for the friends I met. They took me to places I'd never have gone alone.

I'm sad that now I see so little of them. My job might be great but I scarificed proximity to other pleasures for it.

I'm grateful that I can arrive at a roaring party, find one of those illusive corner jam-sessions going on with borrowed guitars and some drums from a gap year in Kenya and join in without hesitation.

I'm sad that I spent five months playing only World of Warcraft.

I'm grateful that I spent only five months playing World of Warcraft.

I'm sad that I only discovered I could write after I was too far down the arithmetic creek. Paddles came at too steep a price.

I'm grateful that I spent a summer crafting a computer game with four great friends and that there was an organisation with the generosity and skill to pay for me to make such an ambitious mistake.

I'm sad that I didn't understand what asynchronous development was and how it was, and still is, affecting me.

I'm grateful that I was drawn to learn how to cook.

I'm sad that, on balance, when given the option, I didn't take it.

I love the memory of Maria sharing how she felt about me.

I'm sad that I was cowardly and replied with too many words and too little care.

Choose your classes based on the professor, not the topic. Good professors can make a boring topic seem interesting; bad professors can make the most interesting topic seem boring.

Therefore: ask around to find out who the outstanding professors are, and take whatever courses they are offering.

Came here to post this. Also, if you're interested in a subject (even if the class seems boring) ask the teacher for outside reading material. Chances are, if they've been around for any length of time, they know where the good stuff is.

Good advice. Every semester register for an extra class, then after the first week drop the one with the worst professor.

This is what I came to say as well. This is the single most important thing to base your class selection on.

Take this site with a huge grain of salt. It generally rewards easy professors and punishes hard ones. Many of the best teachers at my school had so-so records on the site because they weren't afraid of failing people. People that do average or well in a class are much less likely to fill out the form on that site than someone who's looking to spite the professor that just failed them.

The corollary is also true, that easy but useless professors tend to have high scores.

The best advice for picking professors is to make friends with people in your program that are further along than you and ask them who their favourite professors were and why. If they say he was great because the class was easy and you got an A avoid that professor, you won't learn a thing. If they say something like well I didn't get a great mark but I learned so much that it was worth it that's the professor you want.

Don't skip class. College is easy if you actually go to class and pay attention.

I disagree on this point. I skipped classes left, right and centre. I'm sure it annoyed the hell out of my lecturers, but I was spending my time doing things that turned out to be much more valuable in the long run.

For example, I did actual research! By the time I was finished with my undergraduate programme, I had enough "real" research experience to gain entry to a very good PhD programme in another country. This was coming from a small university with no particular research reputation outside of a few select areas.

So skipping classes worked for me. Just don't do it to the point where you think you know what is going on in the class, when you really don't.

I hate lecturers who take attendance. This isn't preschool, I can make decisions for myself. If I feel like I can do without that one class or feel like something else is more pressing (due project?) then I should be able to act on it. The whole idea of getting points for just being in class is silly anyway. You get grades to be able to rate your own knowledge, not as gifts or punishment. Thus if you've comprehended the subject fully you should get an A and if not, you should get less. Being in class during lecture has nothing to do with comprehension.

Mmhmm. I avoided those kinds of classes like the plague.

Glad it worked out for you, but in the scheme of things the amount of class time per week is really very little. Where I did my undergrad (RIT) each class met about 4-5 hours per week, and you took 4-5 classes a semester. So that means between 16-25 hours of actual class time in a week.

That's true, but sometimes the idea of sitting in a classroom for an hour or two to listen to something you have absolutely no interest in is just too much effort :)

I was usually interested in my classes, so I usually kinda looked forward to lectures. I only missed three lectures in four years.

Now, as a PhD student (hopefully) close to graduating, the concept of sitting in a class and being told what I should know sounds luxurious.

Good for you that this strategy worked for you, but as others have commented, this relies on your ability to efficiently recognize classes you don't need to attend. The penalty for attending class when you didn't need to is a few hours a weeks spent in suboptimal times, but you can still work on other things at that time. The penalty for missing a class where you needed to be... well, that's your grade, buddy.

I recommend erring on the side of conservatism, as it's easy and attractive to self-deceive into an overinflated concept of what we would have done with our time (hack vs TV+videogames+internet)

This is like buying a ticket and then skipping the flight. You can't tell me that the 9-12 hours a week (max) you skipped classes made the difference between getting into grad school and not, you are merely rationalizing.

That really depends what the objective of going to a university is:

Mine was actually to understand. This is largely incompatible with the notion of covering a large amount of material which you need to regurgitate near-verbatim in an exam. That kind of environment essentially reduces any subject to a memory recall game. I decided I wanted to come away with a very rich understanding of fewer things, and my exam grades mattered less to me.

So, it's not like I didn't go to any classes. I just didn't go to any which didn't really increase my understanding. If it was the sort of thing I could just read out of the text book and memorise, then I would do that instead of wasting my time sitting in a lecture. Instead, I worked on projects (both credit and non-credit varieties). I went and sat in the computer science tea room with a stack of papers and I just read them. I asked academics about things that I read and didn't understand. The most common answer was usually "Hrm. That is interesting. I don't know the answer to that, but there's a paper by so-and-so that might explain it!" - result! Print another paper and head back to the tea room.

After two or so years of this, I had a pretty darned good foundation in my sub-field of computer science. Enough that I managed to work on some novel projects, which I wrote up and published in my fourth year. By my third year I had managed to convince the department to drop a bunch of course requirements in favour of letting me do a project worth an equivalent number of credits. I actually did all of this in the lecture time slots.

The alternative would have been sitting through introduction to {programming, algorithms, self-harm} for years, getting bored, and probably just dropping out to go earn real money cutting code.

So really, who got the better deal? My classmates who digested the material at exactly the rate it was delivered? I think I got the better deal, because I actually made full use of being in a university environment.

And as I said, I believe that was what got me into a very good PhD programme. I got my money's worth.

So, skipping classes is fine as long as you are willing to take responsibility for your own education.

You are rationalizing.

> The alternative would have been sitting through introduction to {programming, algorithms, self-harm} for years, getting bored, and probably just dropping out to go earn real money cutting code.

Ok, there it is. Attending class seems to cause you anxiety. This leads me to believe you have ADD. Maybe I'm just projecting.

> You are rationalizing.

Uh, sure, if by "rationalizing" you mean "explaining why my opinion is valid". You're make it sound like I have a drug habit or something. I skipped some classes in university, I'm glad I did, and everything worked out for the best. What is there to rationalise?

> Ok, there it is. Attending class seems to cause you anxiety. This leads me to believe you have ADD. Maybe I'm just projecting.

Erm, no. No such diagnosis here. Perhaps the off-the-cuff "self-harm" reference threw you off. It was a joke.

I certainly have a low tolerance for boredom, but that's not the same as "ADD". I certainly have no problems concentrating on things if I need to. I've always been a very busy person, and so my time is precious to me. If I'm doing something when I could otherwise be making more efficient use of my time, then I will not enjoy doing it.

And this psychiatric-diagnosis-over-the-internet thing is a bit weird. Who said anything about anxiety? I used the word bored. I used my 4 years of university to my best advantage, and in that situation "going to classes" didn't figure very highly in the heirarchy of things that were useful to me.

I think I have to follow this all up with a giant


I don't know, I typed a long response but I can't really express what I want to say. I didn't diagnose you.

The ability to concentrate very intensively for hours on difficult material is not a common trait (in the population at large).

Feeling 'bored' enough that you avoid going to class despite all the extra work this implies, and the grade implications, is not a common trait (among people who hope to go to a good graduate school).

However, for someone with ADD, both hyperfocusing on things they find very interesting, and avoiding situations that require sustained attention on anything that they don't find especially interesting would be almost a given. More then a given, these are symptoms.

Finally, something can be a valid explanation of why an action was the right one, but still be a rationalization if it doesn't take into account the true motives behind the decision to take the action. There is certainly a school of thought that says basically all explanations (both before and after a decision) are at least in part rationalizations, since we do not know our true motivations at all.

So I believe you 100% when you say you "used your time to your best advantage", but I believe you came to this course of action, at least partly, to give yourself an excuse for avoiding unpleasant feelings of boredom, even though it is clearly expected for students to attend class.

Finally, you continually state it as though you had to choose one, read up on research or go to classes you found boring.

Here is why your explanation doesn't convince me:

Classes take up 12-16 hours per week, so skipping them gives you 12-16 hours of extra time studying important things. Awesome! That is a good thing, I'm not being sarcastic.

Add commute time, meals on campus, conversations and other crap, now we are at 14-28 hours per week, which is sizable.

However, sometimes you can't skip a class, do to tests or turning in papers, so subtract a few hours per week from your 'time gained'. Maybe we are at 10-24 hours per week gained now. (Guessing around 4 hours combined of class time + overhead of commuting etc that is unavoidable per week)

In most classes you could sit and read whatever you want the entire time, while still benefiting from being there and recognized by the professor (good if you need anything from him later, also this unfairly effects your grade) and are aware of homework, readings, and at least partially of discussions and what the professor cares about. You may also find that you are more interested than you thought you were, and the class is no longer considered 'wasted time'. Once you take away time 'reading what you want' in the lecture, and 'unexpected interest in subject' time, maybe you are at 2-18 hours gained now. (Guessing around 6-8 hours per week can be spent reading what you want, unexpected interest in a subject cannot be estimated.)

Now subtract any commute time you do regardless of class attendance. For example, if you are a commuter and you have to attend one class, go to the library, or talk to a professor, you have to do the full commute regardless of class attendance. I estimated between 1 and 8 hours of commuting time per week. If you end up going to campus every day, or you live on or near the campus anyway, you are down to between 0 and 10 hours of 'time wasted' per week. You cannot say that even the maximum possible 10 hours gained per week is some kind of deal breaker to studying on your own.

So that is my thought process when I read your initial post. Then I thought, if this person isn't really gaining much time to study by skipping class, why do they feel so strongly about it?

So an unconvincing explanation of why, a statement that those classes are 'boring', a statement that if you had to attend those classes you probably would have quit school (they must be pretty unpleasant to you!) all adds up a high likelihood of ADD to me. Your analysis may be different, but given the limited facts I have available I am convinced. This is not a diagnosis, merely a statement of how it seems to me.

Sometimes it's easier to follow the herd. Since you're paying a lot of money for classes, might as well attend.

Keeping up with course material on your own, while skipping class, will result in 3-4 times the effort and lower grades -> you will likely work your ass off, get a mediocre grade, but have learned a lot (this avenue is more befitting for side projects). The main reason: each prof. stresses specific things in the final exam that were covered in his lecture. With a heavy course load, you cannot afford to pursue this strategy, if you want halfway decent grades.

It depends strongly on the class. If you have a bad lecturer, I find it a better use of my time to stay in my room and read the textbook.

At Olin, he probably won't have that problem as much as a larger school. With smaller classes you are also noticeably absent.

That depends entirely on the class! I had classes that were easy even if I didn't go to class, and others that were hard even if I went to every class. (I even signed up for overlapping courses once, and skipped out of an uninteresting mandatory one halfway through every lecture to go to the other.) Far more important to me was getting together with other students to work on the material.

That's what college is about: figuring out how you learn best. If you know that, your school/major/etc. don't matter.

Totally disagree. Posted my reasons on another subthread:


Don't lose your passion for the subject. I nearly did, because I got really, really bored near the middle of my degree (thankfully, my interest and love for CS was re-gained), mostly because I didn't follow the advice that I provide in the next paragraph. On the coding/academic side, apply what you learn early and don't feel like you should be constrained by what is being taught. Take every opportunity to code, learn and experiment.

And remember there is more to life than just academics. They are important and all that, but cut yourself some slack and remember to have fun occasionally. If you treat the academic side of things as your job, then you need to have things outside of that to keep you sane and balanced, and to prevent your job and your hobby from becoming totally indistinct from one another.

This also feeds into the basic notion that most future employers or grad school admissions committees will appreciate the fact that you are actually a well-adjusted person. Learning how other people in the world operate is valuable. Learning to be social with lots of different people is important. Having hobbies that you actually enjoy are important. Learn public speaking! All of these things will work to your benefit in interview situations and in any kind of later academic or industrial career.

Ditto to this. While slacking off during college is not a good idea, working so hard that you burn yourself out is also something to avoid. Believe me, after working on a physics problem for ~20 hours straight it's hard to remember why exactly you ever thought you enjoyed the subject. If you don't take breaks and live life a little it's easy to become disinterested in your field of study, at which point you'll be working hard, learning nothing, and hating every minute of it.

Another thing to keep in mind is that you learn a lot more than academics in college; people also learn a lot socially, which is just as important.

1) Don't worry if you don't get all As, especially if you're ripping through the curriculum like crazy. This is college, you won't die when you don't have a full 4.0.

2) Find upperclassmen you respect and ask their opinions on classes and professors (take those with a grain of salt) before you take classes. Find the old syllabi for the classes online and figure out what you'll be doing. Don't waste your time on stuff that you don't want / need.

3) Don't feel like you can't do something just because it's not spelled out that way in some piece of documentation. Talk to the people in charge, plead your case well and you're likely to get what you want if it makes sense. This goes for getting credit, taking upper level classes, doing projects, getting funding etc ...

4) Get internships (related to your major) under your belt as early as you can. You might need the experience to get faster to whatever your dream job is. As a corollary to #3, they'll always tell you that freshmen can't get jobs, it's a lie. The truth is that better companies will be willing to give you the time of day to see if you're actually good enough.

5) Finish at least one nontrivial project before you graduate. Have something to show off and to spend spare time on.

Olin has a good reputation, good job and good luck.

Two pieces of advice come to mind:

1. If possible, don't think about what degree you're going to get until at least your 3rd year. (This might be impossible, depending on your college -- some institutions require incoming students to declare a major promptly.) Out of dozens of students I've dealt with, I'm only aware of one case where "spend four years taking whatever courses looked interesting each semester" didn't end up with a student meeting the requirements for a degree in something -- but I've seen lots of cases where students decided what degree they wanted before starting, carefully mapped out all the courses they'd have to take, and then changed their minds later.

2. Read your textbooks before class. Not five minutes before the lecture starts -- two weeks before the semester starts. Learn the material before the instructor reaches it in class -- and then go to class and pay attention to how he/she teaches it. Aside from cases where the instructor wrote the textbook, I always found that this approach, and consequentially hearing two different perspectives on the same material, resulted in my understanding the material far better than if I only went to the lectures or only read the textbook. (Think you can't spare two weeks to read the textbooks before class? Look at it this way -- if you spend those two weeks, you'll know the material well enough that you don't need to study at all at the end of the semester.)

Seconding #1 (well, #2 too, but mostly #1). I was sure I wanted to be a physics major when I entered college. I continued being a physics major despite doing terribly in most of the upper-level classes. One of my biggest regrets about college was not switching to CS earlier, because I could've gotten much more out of my classes if I'd taken courses I was really interested in rather than taking courses I thought I had to to complete the major and then doing the stuff I was really interested in in my spare time.

Your perspective in high school is really narrow. It has to be; most of the things you might find are exciting aren't even taught in high school. (Similarly, many of the exciting parts of the working world aren't taught in college unless you got to a specialized college.) Be willing to accept all the new avenues that open up for you in college, and don't stick to your plans from high school just because they're your plans.

Number two never worked for me. Either I must have been doing something wrong, or the classes were not structured in a way which one could do this efficiently. I often found I would waste my time reading fluff content that was never pertinent. Either the teacher didn't follow the book closely, had a terrible choice of textbook, or I didn't have a context from which to read the book to put it's material into perspective.

1. No beard or moustache until you're old enough to drink. Goatees are OK.

2. There are core programming skills, and there are technology-of-the-week skills. Instead of worrying terribly about the latter, worry about getting your core ability to design and test efficient, maintainable code. Definitely play with functional languages instead of the enterprise-y fad-of-the-week.

3. Don't hang out with other geeks all the time. Branch out as often as possible. This will help you be a better programmer, businessman, salesman, and will probably get you laid more.

[Edit: added some explanations]

1. No they're not.

Version control - use it for everything

Even things not software-related. If it's done on a computer, it should be in VCS. Ideally on a repo hosted by your school, if that's not possible, then one on a third-party machine that's run by as large a company as you can find. If you roll with DVCS, then make sure you also publish it to somewhere third-party. This is not only for the versioning, but for the dating of those versions. Having all your work under a VCS means you can say the following things:

"Sorry Prof, I was a day late submitting this assignment because my flight had to pull an emergency landing in Reykjavik when this guy had a hart attack, and then we were locked in for a day by the fog. But here's a commit dated before the deadline, can you accept that?"

"No, I didn't plagarize that paper - you can see it develop over the past thirteen versions here, time-stamped over three weeks."

"I had my circuit designed, but when I opened it to print OrCAD crashed and mangled my data - here's a version that's time-stamped to yesterday I can use instead."

The third-party large-company aspect is good so that when they say (for all of those statements) "How do I know you didn't change the times on your server to make up that history of work?" you can respond with "The company that's hosting this had revenues of three million dollars last year, they're not gonna screw with their systems because I ask nicely." and then they drop the issue.

take things seriously from the start. you're probably the type of person who could barely be awake in high school and still make an A+ in all of your classes.

you can maybe skate by doing this in college, but if you want to keep your grad school options free and/or keep your scholarships, you'll have to be serious from the start.

edited to add: i'm not saying go full-tilt study crazy either though. just make sure that you expend the effort you need to do well. don't forget to have fun, meet people, and expand your horizons.

Have fun - probably going to get obliterated for saying this - but, give a quick read to "Surely you are joking, Mr. Feynman" so you can realize that, more than anybody, really smart people always need to have fun.

It's good that you want to get good at hacking. Working on Open Source projects every once in a while will help you with that.

Learn to be disciplined about studying. Study hard but not harder - only you know what hard means, or you will have to learn.

Take time to learn something else besides hacking, maybe dance, or play an instrument, I don't know, maybe painting.

Use at least one summer to travel abroad, it will give you perspective.

Try to get along with the professors that you find are the best at teaching, maybe do some research with them. You might learn more than you think from them.

Finally, I will repeat it again, have fun more than anything. Make college a series of memories and not just one big race to the finish line trying to get good grades. I've said it before and I will say it again, the goal of college should be to help you become a well-rounded individual with knowledge that its balanced between different topics, not just computer science.

- Make sure you work on cool side projects to keep your hacking motivation up. I regret wasting all my time on stupid games online or just chatting with people. I'd much rather have a few cool projects under my sleeve.

- Look for hacker-friendly internships in the summer. I really wish I had done internships instead of trying to breeze through college by taking Summer semester classes. My resumé still looks as if I'm straight out of college[1] and I graduated 3 years ago.

[1] In the sense that I don't have much experience out of my current employer where I've been working at since college.

You should value your time, and if you are spending too much doing an unproductive activity you should change your habits. This goes beyond college, but the college experience is often the first time you are fully in control of your schedule so it is a bit test.

1. Remember that you will probably not graduate with a 4.0. Your first C is going to hurt, especially if you were an A student in high school. Just keep going.

2. Don't worry about the impact of switching majors or programs. I started my school in the computer engineering program, hated it ~2.5 years in, and switched around a bit. I'm now graduating with a degree in pure mathematics. Study what you love -- the jobs will come.

I'm afraid I'm starting to ramble, so let me get to the main point -- what you study means nothing after you graduate. Where you study means (almost) nothing. What matters is who you meet along the way, and your actual accomplishments while in university.

Study what you love. Meet facility, upperclassmen, and other students. Work on writing something cool and useful. You will get more out of school than if you spent your time grinding for a perfect GPA.

College is a great place to start building your network. Teachers, fellow students, employeers... These are all people that you can use later in life to make things easier/possible.

Take advantage of everything. Try things you've never tried before, even if you're not interested in them (especially if you're not interested in them). This is your one big chance to have the freedom to find out almost anything about yourself and the world. You probably won't have a better opportunity for the rest of your life. Four years will be gone before you know it, so don't regret that you didn't try or do something that could have changed your life.

- Don't underestimate the value of making lifelong friends and having fun. You won't make it through an engineering degree unless you have a way to blow off the steam for a few minutes a day. We were buried with work but the 8 or 9 guys I hang out with made it to the dining hall together every night and played video games for a half hour or so after, that hour each day made work a hell of a lot more manageable

- Make connections with professors. Unlike high school it is quite easy to never build a relationship with a professor because you see them so rarely. Going to office hours and talking about things will lead to research opportunities and recommendations.

- Get involved. Engineering teams (I know Olin does IGVC for sure), sports, clubs, whatever.

- Buy your books used on Amazon - now is about the right time since shipping takes a while. It saves a few hundred bucks a year.

Go to parties. Rush for a fraternity. Have fun.

Meet girls. When you are laying on your deathbed, you will never think to yourself "gosh, i wish i got with fewer women in college."

I think you missed the fact that he's going to Olin college...

I think chasing women is a terrible use of one's college years. The women are mostly immature and have terrible tastes in men. Better for him to recognize that he probably won't meet a marriage-worthy woman until his mid-20s, suck it up and work hard until then.

I definitely regret having lost a lot of great learning opportunities because I was fooling around with spoiled, immature, half-formed people. Very few men, at 18, are good enough judges of character to not end up losing badly on this gamble. Most 18-year-old men have certain, umm, influences on their judgment of other people that make them pretty bad at this.

Obviously, some people luck out and meet a soulmate at 18. One of my friends met an amazing woman (also his first girlfriend) in his freshman year and is now happily married. I've seen it happen even in the US, where the average quality of women is low ("hookup culture", Sex and the City) and the odds are bad. I don't think he should count on it, and he definitely should not allow his success or failure with women to affect his concentration and work.

This assumes that a person is looking for a soulmate in university. I certainly wasn't. There's lots of benefit to dating many different women - just make sure you don't lose sight of yourself. You can't pick out the good ones if you haven't been with a few bad ones. I learned more about myself dating a few crazy girls (and it was never boring) than I did dating the straight-A overachiever.

You can't pick out the good ones if you haven't been with a few bad ones.

I don't think this is true. I know some people who luck out on the first try. Also, I know a lot of people who seem never to have dated bad people. They've dated some people ill-matched to them, and had some breakups, but they've never dated someone I consider to be a rotten person.

I think there's little to be gained by dating horrible people, except some unwanted emotional baggage. There's a lot to be gained by dating good people who aren't right for you; this is how you find out what you're looking for and refine your tastes.

Curious, I regret not getting laid in college.

Maybe it's best to accept hook-up culture for what it is, and accept that most college girls (and boys, too) are spoiled, immature, half-formed people. But where else can you find hundreds of hot young women that are looking for no-strings-attached sex?

Then again, this is Olin, which may complicate things because just about every woman you meet is almost certainly someone you're going to see again, potentially leading to much awkwardness.

Maybe it's best to accept hook-up culture for what it is

I can't do this. I haven't met her yet, but I value my future wife enough not to have sleazy hookups while I'm young. It's not fair to her. Similarly, I'm not going to go out damaging young women because some elements of society say I "should" establish my manhood by behaving badly. These are other mens' future wives; I don't have the right to do that!

But where else can you find hundreds of hot young women that are looking for no-strings-attached sex?

This can be bought. I've never done so, I don't think I ever would, and I'm generally opposed to this. However, it's a more honest style of transaction than a college hookup, wherein the woman is too drunk to be qualified as consenting (in many states) and the medium of exchange is "game" rather than money.

So long as the woman is consenting, I think prostitution is less sleazy than hookup culture. It's also probably cheaper-- the costs are well-defined; also, as long as you aren't already in a relationship (cheating is a different story) it probably won't ruin your mind or your life, which participating in the "hookup culture" that has replaced dating often does.

You will probably be disappointed when you find out that the woman of your dreams/future wife has had boyfriends before you. She may even think those experiences that you disdain so much made her a richer person.

No, I expect that, and I'll have had girlfriends before her. That's normal. Hookups and one-nighters, on the other hand, are sleazy, unnecessary, and detrimental.

I strongly disagree. College is a great time to take the next, probably awkward step with the opposite sex. If you don't, you're stuck learning those skills while you're in "the real world", a setting which is generally less amenable to meeting lots of people who are around your age, thus inhibiting your rate of learning.

The goal is not to meet a soulmate at 18, but to become comfortable interacting with potential soulmates.

College is a great time to take the next, probably awkward step with the opposite sex. If you don't, you're stuck learning those skills while you're in "the real world", a setting which is generally less amenable to meeting lots of people who are around your age, thus inhibiting your rate of learning.

You have a really strong point here. I guess my argument would be that most of what happens with the opposite-sex is detrimental and unpleasant, and can derail a young man from actually learning and getting some work done.

In an environment where earnest dating still exists, respect between the genders is the norm, men are prized for their intelligence, character and culture rather than shallow traits such as social status "game", and sleazy hookups don't happen, I'd argue in favor of entering the dating scene as soon as possible. In that arguemnt, I'd argue that everyone (who's single) should jump in. Unfortunately, that's not the type of environment that exists on most college campuses (although I know nothing about Olin).

most of what happens with the opposite-sex is detrimental and unpleasant

I don't know what to say other than to quip: you're doing it wrong.

If you're not enjoying it you don't have to do it. I switched course (admittedly from maths w/ CS to pure CS) after my first year and had a much better time.

Get involved in stuff. Don't spend all your nights indoors hacking!

Yes, be flexible. I started out in Computer Engineering, and was miserable for 1.5 years. After switching to Computer Science I was much happier as it was a better fit for me.

2.5 here :/

I'm not sure if it is surprising or non-obvious, but I wrote my postfact list of things someone would've told me at the start: http://metarz.net/blog/17/

I don't know about the do all the problems in a book part. There are a LOT of problems in math and science books!

Excellent list

Get to know professors so you can get recommendation letters for grad school. I was shy and didn't meet any, and now I'm locked out of grad school for it. (They all require recommendation letters)

It's funny how highschool makes people forget that professors are people too - and then you go out for food and drinks with your CS professors in college :P

Absolutely. Get to know them and not just for recommendations. Let them know that you're genuinely interested in the field and they may be able to hook you up with a good undergrad research project (and publishable paper) and a little grant money. They can help you figure out grad school plans, if you want, and can either help you get funded to stay there or refer you to other universities where they know people.

1. don't watch tv or play video games, find more productive and ultimately rewarding ways to spend your leisure time, like playing a sport (team sport in particular is good, geeky choice is ultimate frisbee, but any team sport is good) learning an instrument, martial arts, theatre production, volunteer work, student government, etc.

2. you won't learn real programming in school. take real CS classes like algorithms, data structures, and object oriented design, they are essential, but recognize that they won't teach you how to be a real programmer. real programming cannot be taught, it can only be learnt. the toy projects that you will be doing in class are too simple for you to get a sense of the type of problems you will routinely face in a real project. they are valuable in teaching specific things you need to know, but if you want to get a real sense of what code looks like, join an open source project or find a good internship.

3. i reccomend taking theory of computation and compilers as early as you can, they will help your understanding of your other classes a lot.

4. take more math, especially statistics and game theory clases

5. take at least a few philosophy classes

6. take the time to learn how to make friends and meet girls, college is the best time to learn these skills, if you put it off later than that, you will get further and further behind other people in social skills and end up bitter and disappointed like pwnix_rising.

My advice is two fold.

1) Have fun, you think 4 years of college is long...but trust me, it'll go by in a blink of an eye.

2) Start thinking ahead from day one.

GPA: don't slack off early on, early on all your classes are bullshit, you might think they are hard, but you have no idea. Get those easy As early on.

Startup/Projects: start working on them from day one. Even if it goes slow, you'll be much better of. Startups start off very slowly, so college is the best time to start, since you can have the 4 years for it to grow big enough, while you have no real expenses.

Re: GPA, take As when you can get them. Doesn't matter if the course is bullshit - an A is an A, and your GPA is cumulative. This is especially important in first-year, as your performance therein haunts you for the rest of your time at school.

If you went to a moderately good high school, most of first year should be review for you. Learn the new parts, ace the old parts, and finish first year with a 3.7+ GPA and you're set for the rest of your time there.

I'd aim for a 4.0 for that first yet. If you keep the same studying habits you had in high school getting As in those early courses is a breeze.

Oh, I just thought of another thing that served me well.

Find the professors and academic staff who are doing worthwhile research that interests you, and talk to them! Not in an irritating sycophantic way, just have a conversation if you genuinely want to know more.

A big adaptation going from high school to university for me was the fact that academic staff are not like teachers at school. Most of them will actually treat you like an adult and will just have a conversation with you. The clear demarcation between "teacher" and "student" kinda goes away.

This probably varies hugely between institutions, but I found that by the end of my undergraduate career, I had made really good friends with some of my lecturers. Just last week I went to a pub with one of my old professors because he was passing through London. There are three major benefits to this: 1) You'll see the other side! If you are planning a research career after grad school, it's a really good way to learn how to be a professional researcher! 2) You are more likely to get a good-quality recommendation for grad school if the person writing it knows who the hell you are. 3) Academics are generally really nice people! They became academics because they were good at something that you want to become good at. You have a shared interest - it'll probably be very rewarding for you (and hopefully for them too).

So, in short, don't view your lecturers as faceless drones who stand up in front of a class and drone on for an hour. That's a tiny part of what they do - and the rest of what they do is usually much more interesting! And finally, just don't be sycophantic about it. Nobody likes a suck-up :-p

College is more than the classes you attend and the grades you get. Get involved on campus, and make friends. This will make your life easier in the long run because you also have people you can help you if you're struggling in a subject, not to mention you can go and focus on other things if you're burned out. This is all coming from someone who just finished their first year at Georgia Tech.

TA as soon as you can.

Do research as soon as you can.

Surround yourself with the smartest people you can.

Don't make partying a priority (this is a painful one, but binge drinking, fun as it is, won't help you towards accomplishing either of your goals).

If you're learning a new language or tech, find a way to leverage it against something else you have to do for class. If you want to learn LaTex (for grad school, of course), write a paper for a class in LaTex. If you want to learn C, brute force the answers to discrete math problems with a problem written in C. There are lots of opportunities to do this.

MOST IMPORTANTLY, there will inevitably be a group on campus that is all about being geeky. Inevitably, they'll know something about tech as well, but they'll mostly want to use memes in real life, play weird card games, complain about athletes, etc. Including yourself in this group means ostracizing yourself from everyone else. Not worth it.

Take the hardest classes you can, and ahead of schedule.

Be sure that at least some of your friends do not look like you; yes, I mean that literally. The world's only going to get more interconnected and diverse, and understanding how different people think and feel is vital, especially when you don't agree with them.

Ask questions, especially in class, but also when you study, work in groups, etc. Olin will probably have a smaller, cozier feel than most colleges, but this bit of advice should still hold. Most people are too afraid of looking stupid and miss out on innumerable opportunities to get fully engaged in what they're doing. Sit at the front of classes (easier to pay attention, easier to ignore what other classmates think) and transform the usual professorial monologue into a dialog.

College is a great opportunity to try a lot of different things. There's a lot of good advice here, but I'd like to suggest that you find some time to do some kind of volunteer work.

Most colleges have many different groups and causes you can volunteer with. You'll learn a lot of important skills that you won't practice during your normal coursework. The things you learn while canvassing, petitioning, and organizing will help you in many aspects of your post-college life.

You'll also meet people that aren't in your major. Fun people. People who throw great parties. People who will expand your "network" immensely. Don't let this pass you by.

Volunteering also looks good on applications for jobs and grad schools. It opened the door for my first post-college job.

It can be a big shock to start living with someone else closely for the first time. Prepare to compromise.

There will be several times when your roommate(s) gets on your nerves, and I found it best to step back, take a breath, look at specifically is bothering you, and confront your roommate about it calmly. Ask him to do the same if you start to bother him somehow. Patience and good communication are key to maintaining order in your living space. Do this right and dorm/apartment life will be a blast.

On the flip side, your first year can be quite hellish if you've got a roommate that is unbearable. If peaceful negotiations are not working, definitely consider moving out; don't just live in misery.

Don't do what I did.

I drank too much, partied too much, worked full time the entire way though, didn't go to enough class and didn't study enough(which turned out meant that I didn't get very good marks either).

I basically did everything wrong in my university career. That being said, University was boatloads of fun, and while I didn't do stellar in school I am a pretty decent hacker and still am doing what I wanted to do when I started(that is develop software for a living).

I think if your going to enjoy college/university at all, just find the middle ground. Do enough to get your Marks, become a really good hacker, but make sure you experience things. You will be much happier and well adjusted in the long run.

> Don't do what I did.

Au contraire, I did what you did (probably to the extreme, I was on academic probation 2x and did more drugs than I can remember), and I wholeheartedly recommend it to anyone if they have the mental fortitude to actually graduate at the end of 4 years.

When you stand on stage smirking and hung over with your degree and mortar board after 4 years of doing whatever the fuck you wanted, it feels like much more of an accomplishment than if you had buried your face in books the entire time.

Yeah, I basically blew off college for the middle 6 semesters, barely graduated, flunked two courses in my major, was on academic probation twice, and skipped probably well over half my classes, and have no regrets. It was nice to stand up on the stage and get my diploma - a year late, though I didn't need to take any additional classes beyond my 4 years - and remember that I got everything I wanted out of college.

I actually didn't spend much time drinking and doing drugs - my reasoning was that I actually wanted to remember college. But I got involved in a bunch of clubs & activities, just hung out and chilled with my housemates a lot at like 4 AM, got to know hundreds of friends through the Internet, studied abroad, learned Lisp and functional programming, took on a major software rewrite for a popular website, went to a few parties (enough so I felt like I didn't miss out anything), had lots of quasi-intellectual discussions with friends, read lots of books, visited local attractions, and took courses at other colleges in the area. I feel like this is an opportunity cost that I'd regret missing a lot more than the class-time and homework assignments than I skipped.

The irony is that it doesn't seem to have harmed my career at all. Once you get that first job and do well at it, nobody cares how you did in college. And I got that first job through a friend I'd met on a programming website on the Internet, while I should've been doing my homework. Score one for slacking!

My advice is to make sure you don't get depressed or hopeless. Being away from home for an extended period of time and adjusting to many new situations can lead to a negative impact on mental health. Both depression and hopelessness happened to me in college, leading to bad results (I didn't date, I had no friends, I didn't care about classes since I thought everyone in the world was going to die from pandemics/war/etc). If you find yourself becoming depressed, the techniques at the following link may help. They're based on empirical evidence and have helped many people: http://bit.ly/z8rwF

I want to echo gdp's advice above. What I wish someone had told me as a freshman:

Grades don't really matter, no one will care about them.

1) Future employers (investors too?) will care about code you wrote outside of class, whether open source or your own projects.

2) Grad schools will care about great recommendations, which you do not get by getting good grades. You get those by doing research with the professor outside of the class.

I'm not saying it's ok if you fail; just that there are different priorities to be balanced. Missing out on that A in order to improve on 1) or 2) above is a trade off that will serve you better.

If he wants to go to graduate school, grades matter as a necessary but not sufficient condition. However, if he's a promising student, he'll have no problem getting the requisite grades (3.5+ in-major) while working on independent projects and doing research.

He might also decide he wants to go to law or business school, in which case undergraduate GPA is a significant selection criterion.

Thanks for correcting about law/business school; I had overlooked that. Medical school too I think.

I wish I had known which material was going to be the really high yield material later on (obviously that's not always possible). I had a couple of math courses (e.g. linear algebra) that I absolutely hated and put very little effort into, learning very little, only to find out that the concepts from those courses would be the cornerstones of much of my later coursework.

If I were back in college, I would try to find out from older students, grad students, and professors what they considered to be the most important concepts to learn for my major/field, and make sure I had those down pat, not just for the test.

If someone had said, for example, "you need to understand eigenvalues, they're really important, you will use them all of the time", I probably would have paid a lot more attention and tried to get something out of it that first time around, even though they were completely abstract and without context.

Olin is designed to be challenging, and your fellow students are all going be selected from the top tier. This means that you have a 50% chance of being worse than the median (and probably the mean, too). You may need to learn how to learn from your peers, and learn how to act when you are not the smartest person in any given room. It may be the very first time either of those two situations has come up for you!

To get to graduate school, you'll need at least a 3.0 and good recommendations. The good recommendations is pretty easy at a place like Olin as long as you are enthusiastic, but the 3.0 may be difficult given the average GPA at Olin in combination with point 1.

You can have any two of: friends, grades, and sleep. I recommend the first two, but make sure you sleep enough to maintain a baseline of bodily health, or else you will lose out on all 3.

Take advantage of the school whenever possible. If tuition covers up to 20 credits, take 20 credits a semester (assuming you can handle the course load of course). If there are discounted summer courses and you are available, why not?

Take interesting and challenging electives. A lot of students just take the easiest electives they can, but in my opinion they are wasting their time and money.

Use the library. It will probably have access to all sorts of expensive journals and publications.

Become friends with your professors. Most of them are interesting, intelligent people.

Find clubs with like minded people or just hang out with people who are in college to learn (you will find that the majority of people in college are there because it's what you do after high school).

Finally, enjoy yourself. If you are not enjoying yourself than why are you putting yourself through all of this?

It seems that a lot of good points have been covered so I'll point out two that seem lacking: 1) Make sure that when you do have a choice, that you only live with folks who will be easy to get along with even at their most acrimonious 2) for late night snacking and caffeine, fruits, oatmeal, and some variety of loose leaf tea are the way to go. Its cheap, and in the case of tea, even the strongest caffeine dosage of tea (even at the energy drink strength) is very low jitter. 3) you're in the boston area, take advantage of it and the opportunities to meet fun interesting people at other universities, seeing the constrast between the cultures at different schools is not to be underrated.

I live in Needham, just down the street from where you'll be (Hi Neighbor ;-). If you can get a parking spot on campus, I'd be sure to have a car. Boston is a much more interesting town than Needham, and you'll want to be able to explore. (If not, you'll be taking the commuter rail.)

Secondly, why don't you take a class at Wellesley College? Our babysitter just graduated from Wellesley, and she took classes at Olin. It seems like a good idea to do the reverse.

Olin sounds like a great school. I think I would have gone there if it has existed in my day. Just go with the program. Lots of these comments apply more to people going to large, state schools. You'll be having a much nicer experience.

1) Get a Github account, fork projects, fix bugs, and send pull requests. Write your own libraries and apps and push them there as well. When you graduate, you will have a corpus of code to show people, and a documented history of playing well with others. That will matter more than your GPA to any company you would actually want to work for.

2) Have a social life. As someone else here commented, don't be afraid of girls. If you ask her out and she says no, it's not the end of the world. Don't be afraid to take risks.

3) If your study/organizational habits are lacking, seek out the people who have their act together and duplicate their habits.

Since you're already focused on hacking and academics, my advice is to balance that by developing your social skills:

1. Read (and practice) How To Win Friends and Influence People

2. Go to parties and have fun at them

3. Cultivate a group of close friends whom you can count on

If you can graduate with great hacking skills, good grades, good social skills, and trusted friends, then you will be in a good position for the next phase after college. If entrepreneurship is on your mind, think of it as hacking+friends and start laying that foundation.

Regarding the opposite sex, don't fret them but absolutely do chase the ones you like! That's a wonderful part of life, and there is much to learn. :)

You have some time, but you must know that when all is said and done, your grades and your classes won't matter to land you a job, your side projects will: http://blog.fairsoftware.net/2009/05/13/being-a-new-cs-grad-...

In the meantime, keep a good balance between study and social life. College is a great time to reinvent yourself and be someone new, no strings attached. Make mistakes now, so you don't make them later.

And +1 for travel abroad at least one year. It will change your perspective on life.

If I went back or could start over, I would study two or more fields that interested me making sure that they weren't closely related. I'd do this because it's not enough to know how to make good tools for programmers. Knowing what programmers need lets us have bunches of good text editors, databases and programming languages. If you have domain understanding that isn't about coding and computers, then you have a chance to fill a void that no other coders can possibly see.

Also, I'd take some graphic design classes because user interfaces matter.

From experience: if you drop out at 19, know that things can get seriously fucked up. Now I'm 21, and the startup I stopped out for for nine months went nowhere. It can also throw a wrench in your college experience.

Just...if you want to learn what I learned from it, it's this: learn tech in class, and don't bother with nearly anything else. Except IP law and corporate law, and if you seriously suck at writing, which it appears you don't, learn to write well.

Also, I have no idea how, as a practical matter, one goes about ignoring grades.

Try to find some good friends in CS (or whatever your major is). I made the mistake my first year of college of being far too standoffish and irritated with most of the people at my first school, and spent most of my time bored and lonely until the middle of my second semester, by which point I'd already made plans to transfer out.

I considered myself a pretty outgoing person before I left for school, but moving away from all of my high school friends had a bigger effect on me than I'd expected.

Get good at time management. College undergrads have an enormous amount of free time, few responsibilities, and a lot of flexibility. The main cause (for me, at least) for not doing most anything you want is poor time management. Start here: http://www.alice.org/Randy/timetalk.htm

Go to class. Go to class regularly. Go to bed at 10PM or earlier. Don't drink or eat things like caffeine in the evening that will give you an excuse to get up and dick around. Don't own any game systems or a television. Don't spend hours and hours on the computer messing around. Don't take more classes than you can keep up with.

Be open to the possibility that something completely unexpected may turn out to be your life's calling.

Don't skip the first day because thats when you get the syllabus. Don't leave your education solely to the university. Don't learn any European languages, they all speak English in Europe, I'd trade my German degree for a Chinese / Japanese degree any day of the week.

Spanish isn't a bad one to know if you live in the US. I decided to switch to Spanish while on a trip to Germany during college :)

Keep your head on straight and you'll do fine. :)

FWIW, it's been awesome having you around at work, and I wish you the best of luck at Olin.

1. Easy on the alcohol. You can waste great quantities of time that way.

2. Learn at least one foreign language well.

I agree with most of the other posts... but have a few things to add:

First, grades matter, or else you'd just self-teach everything and not worry about a degree. A B+ average is not an option. Thus:

Take the minimum number of credit hours to qualify as a full time student. And demand a lot of yourself -- try to earn an A or A+ in each class you take... Read ahead, do problem sets weeks ahead of time, go to office hours. Make each class an obsession. This is much more like real (startup) life. I'd also even consider being a part time student if doing so helps you achieve this. Also, you should do some partying and have a social life, which is another benefit of not taking too many credit hours.

Pre-learn for the next semester. Read the book, do the first month's worth of problem sets, sit in on a few classes. Do some other, related reading. Do this as a reward for being ahead in all of your other classes. Doing this can give you confidence if you decide to skip a prerequisite... to see if you can handle the material.

But fun is also important, so:

Self teach. If you want to learn CS, start now. Pick up some books, start your own projects. Get nerdy. This could lead to some key independent study work with awesome faculty members. What research areas are they working on? Can you hack that? Why not stop by and talk about being a research assistant or even a work study gig?


If you need to earn any money during school, I suggest either getting a job where you can sit around studying all the time (desk clerk, etc.) or where you are being paid to contribute to research in some way, etc. The bottom line is that if you can be paid for your study hours you will prosper as a student.


Don't feel too much pressure to engage in all the over the top social stuff, but realize that you can meet some very interesting people in college, and so be open minded to meeting all sorts of people. Friends will respect you more if you are self-possessed enough to put your academic priorities first. Besides, after two semesters of A/A+ results (see above) you will be known as someone who kicks ass. Everyone always assumes grades are the result of brains or inspiration rather than good planning and hard work (and reasonable pacing). I had a friend in college who was known for being really bright. He would help various classmates with problem sets. On several occasions the people he helped obliged him with oral sex. He's not a creep at all, but that's the sort of gratitude that being respected for your academics can lead to.

Course Selection:

Figure out which professors are well respected for teaching a particular class and make it a MUST to get in that class. Also, don't hesitate to drop a class if it's being taught badly. Most of the classes I had that turned out badly started off with a strong intuition on my part that something was a bit off, yet I persevered due to schedule constraints, etc. It's better to just drop it, add it to your pre-teaching regime (per above) and take it in the future when someone better teaches it.

College is an unexpected combination of self-teaching and guided-learning. You must always self-teach (and pre-learn) but with the guidance of an inspired prof your learning experience can be significantly more fulfilling.

Having just got out, some things that I wish I had known when I started up:

Take Risks. Lots of them. College is one of the few times in your life when you're old enough to do cool risky things, but in a position where short of killing someone, everything is fixable. Most things that you do wrong (aside from plagiarism, which most places are big about going after) can be fixed, so take advantage of this to do some cool things.

Use your student status. Most modes of transport have steep student discounts. Your campus rec program will have classes that cost 30% (or less) than what they'd cost in real life. I got into martial arts because it got me into shape, introduced me to people outside my program, and gave me a way to burn off steam. You don't have to do that, but find a cheap class and take it.

Socialize outside your program. You make make fun of people in a lesser program, but they're interesting as well - just in other things. They provide some perspective on what you're doing, keep you sane and interested, and can offer great ideas without knowing it.

Socialize within your program. You may find these people boring, but you're all working on the same assignments and all having the same issues - so band together. They'll also be useful for networking in the future, and may have old exams you can study off of.

Find people you work well with. If you find someone (like a lab partner) you work well with, keep them - plan to take the same classes. I had a guy who I worked amazingly with in a lab, who was my lab partner for three years (across six classes). Never saw him socially, know nothing about him personally, but when we got into a lab we got shit done and fast, and knew how each other worked. This relationship is invaluable.

Get into student politics, lightly. I'm not saying run for class president, but there's almost certainly a Senate (or whatever your school's governing body is) committee on IT that takes student representatives. If you ask to be on this, you'll get a spot - since no one else will want it. You'll meet some interesting people in student politics (who will be good to know later), and you'll meet some administrators and department heads, who are also good to know - especially for recommendation letters for grad school. If your school has a technology transfer committee, get on that (it's full of interesting industry reps and people with great ideas).

Find a prof and get friendly. Every department has a few professors who are regarded as "crazy". They're the ones who have classes that people avoid because they're incredibly hard markers, and who teach a few esoteric subjects. These people fall into two categories - profs who mark hard because they're assholes, and profs who mark hard because they're demanding. Find one of the latter, take all their classes (which should be small because of their rep), and go to their office hours. They're likely very smart, and will provide valuable insight (and refereces) for your future. Get friendly with them.

Go to office hours and tutorials. Office hours are one-on-one with the guy who creates your exams, or at least superivses their creation. Tutorials are where that guy (or a TA he's instructed) goes over problems they think are important, which often are very similar to ones you'll be examined on. If the prof thinks that a particular problem type is important, then you can be sure that it will come back again - and it might even be important in the long run.

Don't sweat your grades. If you are sure you want to go to grad school, then sweat the shit out of them, and use your undergrad to form relationships with profs. If you don't, know that after your first job, no one will care about your grades. If you do good work outside of class and get soem good summer jobs, your first job won't even care about them.

Search for resume-builders. Ever school has a few societies that you can join for minimal effort that sound really good on paper, or classes that sound good but teach you nothing. These are worth it for the future. Also good is joining things like IEEE and ACM.

This is the advice I would have given myself at 18: Don't fret girls and relationships. I'm serious. Focus on making friends (male and female), working on interesting projects, and learning everything you can (academic and otherwise) during the next 4 years.

You may have inflated expectations of college women, assuming that intelligence and good behavior, decent tastes in men, etc. are correlated. I sure did. In fact, this is what I told myself to expect throughout high school: when I get to college, things will be more civilized. Wrong. You'll be unpleasantly surprised if you go in to most collegs with high expectations. Expect a continuation of high school behavior on the dating front. In fact, college can be worse, because you now face competition from men ages 22-26, which you didn't in high school (one should hope). This makes the market tighter.

If you meet a woman you really dig, and if you're both mature enough to pursue a relationship, go for it. I wouldn't expect this, however; it seems to happen only for about 10-20% of men at this stage of life. Don't take it personally, at all, if this aspect of life is miserable and dry for you; it's that way for most (decent) men in college.

For a man who cares more than he should about womens' approval, ages 16-21 are pretty damn miserable; it becomes fun after that, however, as the balance of power tends to switch around age 25. Most college women are chasing bad boys whose IQs are 2/3 of yours. Just focus on school and your career, rather than sacrificing time, mental health, and energy on a pursuit that will enervate and confuse you. Enjoy life and work hard instead. Then, in your mid- to late 20s, women will begin pursuing you.

(If you're a woman or gay, my advice probably still applies, but I don't have any personal experience that would apply.)

On the other hand, in college it is MUCH easier to date and meet people than in the real world once you start a job or company.

I wish I can upvote you a million times over. This is something most people don't really appreciate until they leave college.

As a recent grad this is something that bothers me. In college almost anyone you meet (of your interested gender) is in your dating pool - you are at most a couple years apart in age, everything works out, you're at the same stage in life, etc.

Once you leave you will find that:

1 - Chances for socializing drops through the floor. You actually have to try at it, but that isn't the main problem, though you do end up meeting way fewer people per day than you used to.

2 - Only a very small portion of the people you meet and befriend are within your dating pool (age, expectation, stage in life, etc). Add this onto #1 and you might actually start thinking about dating services. I know I am.

Any other HNers with similar experiences? I'm at a bit of a loss here - clearly I can't be the only one in this situation, but it seems odd that we allow this gigantic social hole to exist. Am I missing some dynamic of "being an adult"?

The fact that I'm getting upvotes and no solutions is somewhat telling, and very depressing :S Is this really one of those problems that we have no solution for?

Shoulda stayed in school...

This is probably why PG keeps putting "a dating site that doesn't suck" as one of the ideas they'd like to fund... ;-)

I've been toying around with an idea about that... guess I should get work on it ;) While in college I never truly appreciated the kind of massive ache we have in the market for a dating site that works...

I've heard good things about coffee shops, but I haven't tried them yet. According to a recent article on YC, this is a "third place." (The article was about MMOs.) Pubs and bars are also "third places."

Essentially, though, yes, there is no solution that rivals college. Often people say that their college years were the best years of their life - I wonder if this is a leading factor in that decision.

Maybe some day the culture will be right for most people to find one another online. All of our metaphors for it will have to break first, though.

Also, I guess it makes sense to say that college is like a clean slate - no one (well, mostly) really knows you, so it's a good time to reinvent yourself if you feel like it.

Slightly off topic I suppose, but makmanalp is making an AWESOME point here. No one knows you and it's your chance to get out and do what you really want to. I was in the closet for all of high school and fairly miserable because at the time I thought my friends would stop hanging around me should they find out. This fear kept me from making a lot of new friends in my first year, especially since one of my friends from high school was my roommate. It kept me from joining the GBLT club which would have made my transition to university much easier, and let me interact with more people like me.

This is your chance to meet new people who have the same interests as you. Changing from a high school where very few people are interested in technology to a college where your entire program is filled with people who share your same general interests creates an awesome environment to grow and share ideas. The group of friends you meet in classes the first year can lead to an awesome experience in the second year, as you find people who you work well and agree with who will want to be roommates in later years. Can anyone say hacker house?

You might ( won't say will) end up in business with those people too!

Agreed, although it's easier to reinvent oneself shortly after college (in my experience) than in college.

Socially, college is very similar to high school. Real life is radically different. In some ways, it's worse. In others, it's better.

I think the best social experience can be had in late college, when you're old and mature enough to reject the bullshit (hookups, binge drinking, gossip) and still surrounded by brilliant, interesting people. My hope is that the OP will be wise enough to skip to this phase, which is "late college" for most of us, much earlier than the rest of us did.

College provides you great opportunities to meet fascinating people, if you're wise about how you do things; if you're not, you just end up expensively wasting time.

Point: You will be utterly lost. Counterpoint: So, too, will everyone else be lost.

Use your time to maximize your experience as best you are able. If you are studious, study your brains out. If you are a doer, find a lab and camp out there until someone asks you for help. If you're a drug user of any kind, walk around the on-campus/near-campus housing until you hear a party, then crash it. If you like guys/girls more than anything else previously mentioned, put some ice down your pants and concentrate on school for a few semesters. When you're confident and familiar, it'll count for a lot more in the long run (plus the available dating pool will have mellowed out by a lot.) Get off campus eventually, don't be a shut-in, don't think of the campus as your only safe harbor.

Point: Younger people at your school are still hormonal, just like high school. Counterpoint: When everyone's lost, it's good to be found. Find yourself -- not just within you, but in others. Independence is not overrated, but it is often ignored.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact