Tuesday, May 18, 2010

The Test

So, do you remember the specific details of things you learned 3 years ago? I ask because that's what I had to do for the comprehensive exam I took this morning out at UCSB as one of the last remaining requirements of my master's degree in computer science.

In the UCSB computer science master's program, you have three "tracks" you can take to earn your degree:

  • Thesis - lots of original research, minimum amount of classwork
  • Project - some original or continued project, average amount of classwork
  • Exam - no research, maximum amount of classwork
Now, don't let it fool you -- even though there's more classwork in the exam, it's my belief that the project and thesis tracks require more work overall, it's just done on your own time, outside of classes. That's why I chose to take the exam track for my degree.

For the exam itself, you (the student) nominate four graduate level classes you took as a part of your studies in the program. The professors of those classes create a "single" question for your exam. When you take the exam, you're given two hours and fifteen minutes to answer three of your four questions (for an average of forty-five minutes per question). At the end of the exam, you turn in your responses and go home and wait.

That's what I'm doing now... waiting.

Over the next week, the faculty that created the questions will grade the responses on a ten point scale and decide if I successfully answered their question or not. (I'm not really sure why it's a "ten point scale" if the professors decide what "passing" is -- it doesn't really "standardize" anything...) Next week, any professors in the department that are interested (apparently it's usually only a handful) will get together and discuss the exam results. Once they're done, the results will be voted on and finalized. After that, I get to find out whether or not I passed (and thus get to graduate this quarter or not).

The four classes I chose were:
  1. Advanced Networking (Fall '07)
  2. Advanced Security (Fall '07)
  3. Program Analysis (Winter '10)
  4. Multimedia Networking (Winter '10)
(Notice the bookend-ish nature of those classes -- those were the first two and last two classes I took at UCSB. I chose those classes mostly because they were my favorites during my time at the university.)

Typically, I don't study all that much for tests -- usually only an hour or two. However, given the importance of this test and the breadth of material it covered, I devoted the bulk of a weekend to studying for this one. I think one of the reasons I typically don't feel the need to study much for a test is that I'm fairly good at predicting what material a test is going to contain and the types of questions that are likely to be asked. Knowing that, it's fairly simple to be confident about a test and not need to study for the test. 

In this case, while I was fairly well prepared, I anticipated the questions on the test much more poorly than usual. Maybe it was because the test was written by four different professors that hadn't just taught the class to me or maybe it was because the professors thought that this test should be particularly difficult -- either way, I misjudged the test content.

I was worried most about the Advanced Networking question going into the test, since that class covered a ton of material. (Seriously, I have like 500 pages worth of papers in my notes from that class!) When I read the question for that class, I sighed and put it down. I hadn't expected the professor to question me about minute nuances of specific implementations of protocols that we talked about in a single class session three years ago. The "single" question consisted of 5 or 6 sub-points discussing the inner workings of various internet protocols, of which I thought I could successfully answer 2 or 3. Ouch.

I next looked at the Advanced Security question... and thought I might succumb to panic. Another multi-part question and I didn't think I could answer the first part ("Describe a return-to-libc attack..."). The second part ("Describe a SQL injection attack...") I knew quite well and I could get through half of the third part ("Describe three ways to attack this SUID program..."). Since I had already given up on the networking question, I didn't really have a choice: I had to attempt this question. So I wrote down my answer for the second and third parts and set the question aside. 

I'm now somewhere around 30 or 35 minutes into the test, so despite having already used up my "pass", I was right about on schedule (since I still had to come back to finish parts of this question).

Next I picked up the Program Analysis question and nearly cheered -- there were 8 parts to the question, covering nearly 90% of the material in the class, but I knew all of them cold. I spent the next 45 minutes writing out my answer to this question in complete confidence.

One more question to go: Multimedia Networking. In hindsight, I should have realized that this was going to be an extremely vague, open ended question that tracked academic thought more than a particular topic or set of facts -- the entire class was like that, so why wouldn't the test question be like that. However, upon seeing the question I wanted to give up and walk out of the room -- it felt completely unfair.

To give myself time to think, I returned to the question for Advanced Security. To my surprise, I now knew the answer to the first part and knew how to finish the third part! Happy days! I quickly jotted down those answers and returned to the Multimedia Networking question and started writing...

...and writing...

...and writing...

...for the next 45 minutes. 

I think I filled 7 or 8 blank pages with writing pounding out a half-thought-out, linear essay describing research issues in the peer-to-peer streaming area and future directions and issues that research in that area will face.

And then I was done, with a couple minutes to spare.

All in all, I'm happy with how the test went. I'm fairly confident that I passed and relieved to be done with it all. Here's hoping that next Tuesday I receive the results and go out to celebrate.

1 comment:

  1. I'm so proud of you! It terrifies me to know end that YOU got scared by a test. >.< I can't wait to celebrate with you and put all this school business in the past! :D