Huh, timely question as I help my son pick an undergrad school.<p>I'm of the opinion that you pretty much want a grad degree these days, undergrad has become sort of like high school 2.0.<p>A masters in CS is a great idea. It's where you sort of dig in and find some depth. I went to a hacking school (UW-Madison back then really pushed you to code, we did a pretty big subset of ADA for the compiler class); that turned out to be good. I also took all the classes needed for a minor in Computer Architecture; that turned out to be super useful over the years.<p>If you get a TA/RA job, at least back then, they gave you enough to pay for school and housing. Anyone know if that is still true? Even if it is not, I highly recommend teaching. You get a deeper knowledge of the topic when you have to organize it enough to teach it. And teaching is practice for conveying your thoughts, something you'll do a lot if you want to be a leader in your job.<p>Take two years if you can. I know you can do it one but it's more fun if you take two.<p>Be willing to be a grunt for some professor if you can be a co-author on a paper. Getting practice at publishing is useful. Again, it's conveying your thoughts, the more practice at that, the better.<p>Try and step up from your undergrad to a better school for your masters. I taught masters students at Stanford, Stanford loves masters students, they are a big source of money. At least back then, Stanford was pretty liberal about letting in masters students (more so than undergrads).<p>Have fun, learn, network! Don't forget to sleep and have a beer once in a while :)<p>Edit: I see that other people are saying it's not worth it. I've got a masters and I absolutely think it was worth it for me. But it was "free" in that what they gave me as a TA/RA was enough to cover tuition and housing, it was about $16K. Times have changed, if what they give you as a TA isn't enough, if you are going to go an extra $100K in debt, yeah, I can see why people would say it's not worth it.<p>Personally, I loved grad school. If I hadn't been so scared by the qualifiers, I'd have a PhD. If the money part works out, I can't say enough good things about grad school. More learning, more networking, and hey, more summer vacations. You'll be working for a long time without those vacations, enjoy them while you can.