I'm paying $10k a semester to learn THIS in computer science class

I applied to CMU but, honestly, I was glad to be rejected. Tuition was $25k at the time and that was simply too much. Awesome school though, if you had a chance to go, especially if you're into AI or robotics. It's the MIT outside of MIT. I also applied to George Washington University but I settled on the school I went to.

Advice.... let's see... be patient with yourself but you have to like this stuff. Writing code is a lot of fun - you're creating something out of nothing - but it's pure hell to debug it. Definitely learn either C or C++ because you'll then know the basics of most other languages, including Java.

Here's a huge tip: don't be like me and waste $500 in buying computer books (in addition to class work). They're worthless, heavy, and become dated real quick. Online resources are best, bookmark a few sites you like.

Whatever you do, use good commenting style even if it's something obvious. There are times that you'll go back to your code in 5 years that you thought was awesome when you wrote it and it'll look disgusting later. Comments help explain what the heck you were thinking. Think of it as an artform - you're getting better and better.

Never stop learning, keep looking at what's going on in the industry and in related industries. If you're coding, so what, follow hardware advancements, look at apps, websites, embedded systems, everything. You never know what you'll be doing or where your career might go.

Few other tips that aren't as obvious... try to stay in shape. Work out, move around. Develop a mental tick to get off of your chair at least once every hour if not once every half an hour. Walk around and take care of your fingers and eyes - let them rest. Don't eat much junk food. I'm in OK shape but most of my CS friends are pretty heavy.

Make sure you save your work often and create backups. There's no reason not to add an essay on top of your code explaining where you're at.

Best thing about code is that there is rarely only one solution. Work on solving the problem first and then try to optimize it and then secure it. With experience, you'll eventually write optimal, secure code from the get go. A solid chunk of my code - we're talking about 40+ pages of code, excluding database work - is often written without bugs.

It might not look like a big deal but when you see other people use your code... you'll feel like a proud parent and you'll get that grin.

Also don't approach software from a technical point of view, write code as if you're the person using it. I consider myself very good at UX. Write good, intuitive, and usable applications - ones that don't need instructions or manuals.

I'll also leave you something that's stuck in my head all these years from my computer ethics class (which you should definitely take). You have the power to do evil things, very evil things. You can erode privacy, steal information, and do a lot of unethical things. Some of these could be part of your job requirement, particularly the privacy bits. Check everything against your morals and do what you feel is right. Just because it's cool to run a keyword search through each employee's email accounts to get the top 10 words they use, it doesn't mean it's not an awful thing to do. "With great power comes great responsibility" and all that. It's the downside of our industry - look at some of the privacy issues our code has caused for literally billions of people. Keep an eye on that.

But otherwise good luck, don't take on too many courses. Remember: graduating with great grades is better than overloading yourself and failing everything. It's cool that you took this awesomely hard class but if you got a C+ on it, it's much worse than a slightly easier class you can get an A on.

Keep an eye on the ball: graduating with honors. Also keep an eye on student loans. They suck and you'll feel awesome when you pay them off. Good luck in school, good luck in the field, and life in general :]

No matter how bad it gets, here's what happened to me when I graduated... it was a few weeks before 9/11 when the economy already tanked. Nobody was hiring and someone wanted an entry level employee with 10 years of XML experience (lol)... so I became a cashier at a computer store. Sometimes, things don't work out but you need to make money and keep moving. Don't let the crappy stuff in your life get to you, plough through! Have faith in yourself and in your abilities! You rock, you frigging rock! You're awesome and nobody can tell you different, ever! Now go get em and do your best!

/r/pics Thread Link - imgur.com