2009-06-08

Most Useful Undergraduate Classes

Today I was thinking about how small the knowledge intersection has been between my undergraduate courses and my jobs. I made a list of all the classes I found directly useful at either of my two jobs, and it was shockingly small.

Classes I found useful at my previous, finance job (in order of usefulness):

1.  6.111 - Digital Design Lab / FPGA-based design lab
2. 6.001 - Intro to ComSci with LISP


Classes I've found useful at my current, graduate school job (in order of usefulness):

1.  6.111 - Digital Design Lab, or FPGA-based design lab
2. 6.004 - Computation Structures, or Build a CPU
3. 6.002 - Intro to Circuit Design
4. 17.477 - Technology and Policy of Weapons Systems
5. 6.001 - Intro to ComSci with LISP
6. 6.041 - Intro Probability


I think a lot of the other classes I took, such as the math classes and signal processing courses, have had a large impact on how I think and approach problems, but I haven't used this knowledge directly in my day to day life. I was shocked that 6.046, my algorithms course, isn't on the list. I haven't used any of the important concepts from 6.046 in either of my jobs. Just the other day I wrote a one-liner for bubble sort when I needed to sort data.

I'm not sure why there are so few classes on the lists, but I was thinking yesterday about why my design class, 6.111, was so high on both lists. I think it has to do with the design project, which was the first "real" design project I ever had. In 6.001, the programming introduction course, there was also a design project, but 6.001 worked on the principle of building up proven components. You wrote something and checked that it worked. Building bigger things meant building up the system one proven component at a time. When you were handed code, you read through and tested the code to check that it worked.

Unfortunately real life is more messy than this. Components are usually too complex to verify for yourself, and sometimes you have to work around interfaces that were designed for another task. My 6.111 project had to deal with these issues, along with the issues found in building up a proven and known system. My team created an electronic version of Labyrinth, the old tilting maze game wherein one tilts a board to guide a ball through a maze to a goal, avoiding hole traps along the way. Not only did we create a pretty big custom system, we also had to interface our system with a lot of 3rd party components, including tilt sensors, circuits that converted the tilt sensors into something understandable, a VGA controller and an LCD.

This was the first time that something I created had to work with sloppy, complex components. The components we interfaced with included complex but standard interfaces, like the LCD, and sloppy and non-standard ones, like the components written by the teaching assistants for the course. I still remember, four years on, that the tilt sensors could enter an error state during the read-out. This error state required a lot of hand-holding to work correctly. I also remember fighting for a week with the start-up sequence because of nuances with the timing.

It makes me sad that none of the theory courses I took actually have anything to do with my job, but the theory courses that I took don't really have much to do with anything. I indirectly use this theoretical knowledge every know and then, but rarely directly. Whenever I do digital circuit design, for example, my tools use the graph algorithms that I learned in 6.046, but this is abstracted away from me. I don't think I've used a single academic thing I learned in my senior year. What a waste of money. Sigh.

16 comments:

JD said...

for a robot youre pretty emo. also id have to agree 6.111 was the most useful class followed closely by medieval economics. also im trying to craft a pickup line involving electrons and gamma rays. any help would be appreciated.

oogRobot said...

"With all those electrons you're a pretty charged person, but I bet you've never felt what an uncharged gamma-ray like me can do." (alternate: how far a gamma-ray like me can go)

"How about your electrons and my positrons get together and make some 511 keV gamma-rays. Three of them."

After you see a girl shoot down a guy at a bar:

"Why did you stop interacting with him? At the very least he would have freed one of your electrons with a gamma-ray."

"Are you a gamma-ray? Because I think you've just scattered my electrons." (I think this one is the least likely to work)

"Hey good-looking, how about I help you lose a little weight by letting my gamma-ray free an electron from your influence."

I'll let you know if I think up any more.

JD said...

"Its not the wavelength that counts, its how you diffract it."

"Did it hurt when you fell from your excited state? Let my gamma ray help you get energized."

oogRobot said...

"Its" is a possessive pronoun, "it's" is a contraction of "it is." You're killing me slowly here.

And the wavelength does count, that is why it's a gamma-ray. If this is an issue for you, I can point you to a few mediums to help you improve your wavelength.

JD said...

i find most forms of punctuation overrated. for instance the apostrophe--if its existence clears any ambiguity, the sentence itself is poorly formed.

oogRobot said...

While your statement about the meaning of a sentence is arguable, poor punctuation and grammar hampers reading speed. See the paper "How Important is Punctuation?" from Keeble and Hazel. I cannot find an ungated version of the paper to give the exact results.

Proper use of language is important for efficient reading, but this is especially true for mixed case letters. The government usability overview cites a list of studies that show the importance of mixed-case letters in sentences. The usability guide is a treasure trove of information - did you know that people can read black text on a white background thirty percent faster than black text on a light background? Definitely great bed time reading.

JD said...

very interesting, but perhaps reading speed and comprehension are negatively correlated? i like people to struggle when they read what i write. it makes the experience more memorable.

oogRobot said...

That's what she said?

JD said...

youre the one living in amsterdam...and if theres one thing i learned from eurotrip....

btw dont your parents read this?

oogRobot said...

No. Do yours?

JD said...

my parents were harvested before i could ever meet them. unless you see hits from delaware?

oogRobot said...

You track hits to your blog? Zuh?

The only thing that would tell me is how tiny my readership actually is. Plus I've done my share of log tracking in the past, and I don't like it.

JD said...

my readership is concentrated in nyc and india. i used to have a sizable chinese contingent but they were lured away by dogmeatandrice.com

oogRobot said...

Has the Chinese government ever censored one of your posts?

JD said...

only the puppy pancakes post...they said it mocked their primary food source. you double-fisting on the other hand has received much publicity as being wholly representative of the ills of capitalism.

Liz! said...

I love you people.

and my mom might read your blog.

<3