

Ask HN: Advice for freshmen entering college - noahlt

Hi Hacker News, I'm going to college* in two weeks.  I've read &#60;http://paulgraham.com/college.html&#62; and right now my two main goals are: get really good at hacking, and do well enough academically that grad school is an option.<p>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.<p>Thanks!<p>__
* Olin College, for what it's worth.
======
karamozov
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.

------
charlesju
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.

~~~
run4yourlives
_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.

~~~
nostrademons
"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.

~~~
hyperbovine
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.

~~~
nostrademons
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.

------
akeefer
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.

~~~
potatolicious
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.

------
michael_dorfman
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.

~~~
peregrine
<http://www.ratemyprofessors.com/>

~~~
smokinn
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.

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

~~~
gdp
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.

~~~
makmanalp
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.

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

------
gdp
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.

~~~
splat
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.

------
makmanalp
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.

------
cperciva
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.)

~~~
nostrademons
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.

------
lallysingh
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]

~~~
lutorm
1\. No they're not.

------
JimmyL
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.

------
noodle
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.

------
grosales
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.

------
felideon
\- 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.

~~~
JeremyChase
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.

------
jameskpolk
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.

------
grandalf
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?

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.

------
bbuffone
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.

------
krschultz
\- 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.

------
Femur
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."

~~~
pwnix_rising
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.

~~~
rikthevik
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.

~~~
pwnix_rising
_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.

------
gdp
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

------
jlees
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!

~~~
JeremyChase
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.

~~~
burke
2.5 here :/

------
vaksel
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.

~~~
JimmyL
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.

~~~
vaksel
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.

------
JimmyL
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.

------
rguzman
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/>

~~~
euroclydon
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!

------
dusklight
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.

------
tocomment
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)

~~~
makmanalp
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

------
Oompa
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.

------
alexgartrell
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.

------
phicou
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.

------
limist
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.

------
mgrouchy
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.

~~~
californiaguy
> 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.

~~~
nostrademons
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!

------
dsteinweg
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.

------
maximumwage
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>

------
gms
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.

~~~
pwnix_rising
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.

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

------
RK
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.

------
aplusbi
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?

------
pmb
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.

------
yef
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. :)

------
cschmidt
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.

------
carterschonwald
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.

------
larrywright
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.

------
alain94040
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-...](http://blog.fairsoftware.net/2009/05/13/being-a-new-cs-grad-in-this-
economy-sucks/)

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.

------
tedshroyer
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.

------
helveticaman
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.

------
javanix
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.

------
ganley
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>

------
justin_vanw
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.

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

------
iterationx
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.

~~~
RK
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 :)

------
dmpayton
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.

------
edw519
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.

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

2\. Learn at least one foreign language well.

------
pwnix_rising
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.)

~~~
makmanalp
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.

~~~
pyropenguin
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?

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

------
electronslave
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.

