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.
150 comments
[ 8.0 ms ] story [ 258 ms ] threadAnd 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.
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.
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.
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.
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)
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 ...
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
Get involved in stuff. Don't spend all your nights indoors hacking!
- 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.
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.
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.
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.
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.
We can give as much lip-service as we want to not caring about pedigree, but the prejudice is always there.
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.
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.
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.
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.
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.
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.
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.
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.)
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.
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?
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.
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
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.
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.
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.
It's good that you want to get good at hacking. Working on Open Source projects every once in a while will help you with that.
Learn to be disciplined about studying. Study hard but not harder - only you know what hard means, or you will have to learn.
Take time to learn something else besides hacking, maybe dance, or play an instrument, I don't know, maybe painting.
Use at least one summer to travel abroad, it will give you perspective.
Try to get along with the professors that you find are the best at teaching, maybe do some research with them. You might learn more than you think from them.
Finally, I will repeat it again, have fun more than anything. Make college a series of memories and not just one big race to the finish line trying to get good grades. I've said it before and I will say it again, the goal of college should be to help you become a well-rounded individual with knowledge that its balanced between different topics, not just computer science.
- Make 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.
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.
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!
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.