Ask HN: Advice for freshmen entering college
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.
Thanks!
__ * Olin College, for what it's worth.
(
149 comments
| 49 points
| on HN
)
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.
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 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.
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.
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.
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.
This makes sense. Data point of one, I grew more by living overseas after college than I did by working my way through college.
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.
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.
MBA's are more a function of whether or not you can pay for the program than your undergraduate grades really.
another example is that there is a well known preference inside of google for PHDs from a specific set of schools.
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.
the point is that the name on the PhD matters. and it does. it doesn't ALWAYS matter. but it does matter.
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.
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.
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.
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 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.
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.
Never underestimate the effects of being fit and well rested on your ability to think clearly.
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.
Therefore: ask around to find out who the outstanding professors are, and take whatever courses they are offering.
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.
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 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)
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.
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.
> 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.
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
WTF?
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.
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.
That's what college is about: figuring out how you learn best. If you know that, your school/major/etc. don't matter.
http://news.ycombinator.com/item?id=756811
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.
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.
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.
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.)
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.
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]
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.
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.
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.
- 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.
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.
- 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.
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 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.
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.
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.
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.
The goal is not to meet a soulmate at 18, but to become comfortable interacting with potential soulmates.
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).
I don't know what to say other than to quip: you're doing it wrong.
Get involved in stuff. Don't spend all your nights indoors hacking!
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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!
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.
He might also decide he wants to go to law or business school, in which case undergraduate GPA is a significant selection criterion.
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.
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 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?
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.
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.
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. :)
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.
Also, I'd take some graphic design classes because user interfaces matter.
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.
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.
FWIW, it's been awesome having you around at work, and I wish you the best of luck at Olin.
2. Learn at least one foreign language well.
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?
Money:
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.
Fun:
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.
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.
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.)
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"?
Shoulda stayed in school...
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.
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?
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.
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.