Up until yesterday, I had been basing my concept of computer science grad school on the way the University of Chicago does it. What's wrong with that? Nothing, except that the U of C doesn't offer a graduate program that's intended for people like me. They have the master's program, which is designed for computer professionals with no formal background in CS, and then they have the Ph.D. program, which is for people with a very strong formal background in CS/math/linguistics who want to do independent research in a highly competitive environment.
Up until yesterday, every time I've thought about grad school, I've tried to fit myself into one of those two compartments. And I never quite manage to fit into either, so I just get all freaked out and start thinking that grad school is just wrong for me, and forget about it for a while...until a few months later, when the whole cycle begins anew. I finally realized yesterday that instead of trying to fit myself into a system that is wrong for me, I should find a system that fits me, that lets me do what I want to do -- namely, just take classes and learn stuff that builds on the stuff I learned as an undergrad. A system like this one.
I feel like I missed out on a lot, slamming through the Grinnell CS program as fast as I did; I spent so much time playing catch-up and trying to get through the prerequisites (to the prerequisites to the prerequisites to...) that I hardly ever had time to explore something in depth. I remember sitting in Operating Systems, not understanding a damn thing because I hadn't had the math yet, but I wasn't going to be the kid to raise my hand and say "What's a digraph?"
There was only one time that I felt I really had a chance to study something for a semester, let it sink in for a while, and then come back to it and study it more later. It was program verification, and by the time I was done with it the second time, I fully rocked the verification show. Unfortunately, by then it was time to graduate and leave. That's what I want out of grad school -- the chance to come back to things and study them more. Imagine what might happen if I could do algos again!
If I did the master's program at PSU, I could finish in three and a half years, taking one course per quarter and continuing to work. (I could finish in a year and a half if I went to school full-time, and maybe that's an option for later, but for now I want (and need) to keep working.) I wouldn't have to do a thesis if I didn't want to; if I felt I wanted to continue and go for a Ph.D., I'd want to do the thesis, but I wouldn't have to make that decision right at the start. And (unless I forgot to carry the two) last night I figured out that I'd be able to do all this for about $300 a month. Which isn't pocket change, but to someone coming from Grinnell, that's an amazing deal. I might have to stop saving, and I probably don't get to buy any more instruments for a while, and the PowerBook's going to have to last for the whole time I'm in school (what up, AppleCare warranty). But I can totally swing $300 a month. I can totally do it.
This is amazing -- two years of freaking out about grad school, over. Yesterday I went from "Holy crap, what I am I going to do?! Should I go?" to "Here's where I'm going to go, here's how much it will cost, and here's how I'm going to pay for it." It's just another example of how much easier it is for me to do things here. I'm finally getting things done -- not in the Merlin Mann sense (sorry, Will, Matt, and Jim!), but in the starting-a-band ("Recent Scars": better with Ariel Godwin), learning-to-cook (stir fry: better with peanut oil), figuring-out-grad-school sense. Or actually, maybe that is the Merlin Mann sense.