colors ↓

:: blog

March 30, 2008

(the) Need to Know

by rz

I'm not half as cool as to have Greek heroes and turtles, so I'll introduce Steve in their stead. He is a real person. He goes to graduate school with me. But, otherwise he is my diametrically opposite evil twin. We've had almost-heated arguments on things like public health care, US foreign policy, ethics, economics, and we always seem to take opposite sides. Maybe I exaggerate. Whatever.

Steve: May I ask you a philosophical question?

rz: Are you talking to me? Oh dear lord. Only as long as you promise me that I'll be done "answering" before tomorrow morning.

Steve: So I was tutoring this girl for one of her engineering classes, right? CS 111, I think. She was having problems implementing a list in C++ which grew in size if you stored beyond its capacity. And frankly, I wasn't really sure how to do it either because I always just use a vector and be done. Why do they teach stuff like that?

rz: Did that stop you from charging her? Wait. Don't answer that. Well, assuming you are asking me why isn't she learning more about practical, real-world, off the web-shelf, open-source library based programming, it probably has to do with the CS department's need to balance between teaching practical tools and teaching computer science in the "it is as much about computers as astronomy about telescopes" sense. It is a mighty difficult challenge because both tend to be called "computer science" for undergraduates, but both are fields in which you can do research in and they are quite separate from one another. In any event, it is probably good for her to understand how to build such a thing because a) you learn by examples and b) it is good to understand the most common tools to use them properly. By having her do it the teacher accomplishes a) and b) in one fell swoop.

Steve: Whatever. This girl is an industrial engineering major. She'll never have to program again in her life. Why should she have to deal with such mundane stuff as pointers and memory allocation to implement something that is in the standard library?

rz: First off, why is she even in the class if she is sure she won't ever need to program again? If it is required there probably is good reason for it. For example, if you are engineer you'll probably program at some point in your life. Secondly, she should learn in as much detail as possible. That's what we mean by "education". Maybe by doing that she will learn that she likes programming better than industrial engineering. Maybe to learn how to write elementary programs will save her a ton of time later in life. Maybe she should just do it for the joy of learning and broadening horizons. Which I thought was the other reason people came to college, by the way.

Steve: Whatever. I take a more practical approach: figure out what I need to know and move on.

rz: Uh... If you think like that why do you need to know anything? Why do you study physics? You could get by (and probably make a lot more money) without finding this higgs thingie you'll spend the better part of the next five years looking for. Of course, the only real proxy for what to learn in depth and what not is your interest, but for someone who is in the first couple of years of her education it seems important enough to try subjects even without having interest in them just for the sake of finding what she is actually interested in. Heck, exploring is probably good even for people at the stage we are at and even later on. I think a fundamental problem with the education system is that education is treated as if it was a mean to an end rather than a self-exploratory adventure of its own worth.

Steve: Pointers in C++ are not that deep.

rz: Sure, sure. I like practicality as much as the next guy. Well fine, maybe that's not true. Anyways... practicality has its place. I'm not suggesting that she goes to learn about functional programming when she has a multi-part project due in two days for the joy of exploring, but in general learning new things just to know them or just to try them is half the reason to go to college or pursue any type of education. Let me rephrase that. Learning new things for their own sake is one of the things we mean by education. Wait. One more time.

Learning new things for their own sake is one of the things we ought to mean by education.

April 14, 2007

10 Pieces of Advice I Wish Someone Had Given Me When I Was an Undergrad

by rz

Like with any advice, the best advice I can give you about it is that you take what you feel applies to you and toss the rest. In any event, here it is...

  1. Explore and get to know yourself, then establish your long-term goals as early as possible. Establish intermediate goals to get you there. Formulate the immediate plan. Execute it. Revise your goals. Redo the last three steps over and over.

  2. Lead a healthy lifestyle both physically and mentally. Eat good food, exercise, go outside. Broaden your horizons. Meet people. Learn things unrelated to your field.

  3. Get rid of your television.

  4. You are too young to be bored. If you are bored it either means you are not pushing yourself enough or not living enough (or both). Don't let yourself be bored. Keep busy. Push yourself.

  5. Make the most out of your summers. 15-week vacations will be a lot less frequent later on. A summer without learning or experiencing something significant is a wasted one.

  6. Have an independent project in the back or front burner at all times. Have a book you are reading in your off-time (e.g. while riding the bus). Podcasts and books on tape make for great workout music. Finish one such book every few weeks.

  7. Read the textbook from cover to cover. Do every problem in the book even if that is not required. It is a pity to pay over $100 for a book you never read. Well... there are some books that are just not worth the effort, but at least do this with the ones you know are important.

  8. Be dedicated but make sure you live. You only get to turn 21 once. Make sure your friends tell you what happened. Never spend more than 3 weekends in a row without going to a social gathering and having a great time. Get hammered.

  9. Travel.

  10. Take your education into your own hands. Don't expect that you will learn by just following professor's, university and program prescriptions. Pursue your interests on your own in as much depth as time allows. Then pursue them some more even at the expense of some schoolwork.