Why I love teaching flying more than software engineering

Recently, I’ve done three kinds of teaching:



  • how to fly airplanes on instruments and helicopters VFR
  • third grade mathematics (to 11th graders at the local high school)
  • software engineering for Internet applications

I’ve got an S.B. in math from MIT and I’ve built dozens of RDBMS-based Internet applications, so my comparative advantage is largest in teaching math and teaching software engineering.  Yet I enjoy flight instruction the most, even though I can give any of my students a list of 10 better flight instructors.


Why?


I figured it out today.  The students at the local high school aren’t interested in math.  They don’t care that an equation corresponds to a set of points in the x-y plane; they just want to graduate and/or pass some sort of test.  Most computer programmers, including a fair number of my students, aren’t that interested in a code review from an expert.  They are satisfied with mediocrity, a warm cubicle, and a steady salary.


Pilots, on the other hand, want to be better.  They understand that being better means staying alive, they recognize that they could do better, and they are eager for feedback and suggestions.  So even if I’m not a great flight instructor, the students’ desire to learn makes it a great experience.


I can understand why high school students don’t care.  Having looked at the curriculum, it is hard to imagine why they would care given that the unionized civil servants (teachers) don’t bother to motivate the material in any way.


Why doesn’t the average CS major or software engineer care, though?  Confronted with an expert such as Jin S. Choi, author of http://philip.greenspun.com/ancient-history/webmail/ (a one-month part-time project), you’d think they’d say “I will work day and night until I am as good as that guy.”  But they seem to think that they can get by on 1/10th of Jin’s capability, which has historically been true though with offshoring might not be anymore, and they are more resentful than grateful if you try to push them in Jin’s direction.

18 thoughts on “Why I love teaching flying more than software engineering

  1. Sort of unrelated: isn’t that conception of ideal WebMail pretty close to gmail? Though I guess it doesn’t have SMTP yet…it’s pretty close!

  2. Jin’s system, which predates gmail by 5 years, had the very nice advantage that you could click on a sender’s email addr and see all previous messages from that person.

  3. You can sort of do that now: any person on your “quick contact list” you click on, gmail searches for all e-mails and chats from that person.

  4. Might this have something to do with the fact that flying itself is more enjoyable than math or software engineering?

  5. I suspect if you took the set of programmers who have paid thousands of dollars of their disposable income to learn the fine points of computer science then you might greater similarity with the set of pilots who pay for their own instruction.

    But I must confess I program for a living so I can afford my share of my Cardinal.

  6. Way too many people in computer science get pushed in that direction by school counselors, potential wages or fill-in-the-dot aptitude tests… I would bet that if you could isolate the cis students that really enjoyed programming, then you would really enjoy teaching them.As it is, the common denominator of poorly motivated students make the entire cis class seem like a bunch of disinterested dullards.Flying a small craft (and I base this on limited experience) involves a good amount of risk, cost, etc…, which nobody would set themselves up for unless they really wanted to (or their uncle owned a plane and felt that impromptu flying lessons were the norm).Personally, I find ‘experimenting’ with an api about as exciting as closing in on thundercaps while crossing over some mountin peaks…But that is probably not the norm.

  7. Gary wrote: I would bet that if you could isolate the cis students that really enjoyed programming, then you would really enjoy teaching them.

    Being an instruction-approval-required course at MIT, I would like to think that Philip’s class is some of the best, most interested computer science students in the country! You’ll find at least a few truly interested CS students even at relatively unknown public universities (e.g., the University of Iowa)… wouldn’t the number be much higher at an internationally known engineering school?

    Based on Philip’s writings here, maybe not. Philip: is this the norm for CS students at MIT, or did you somehow end up with an unusually disinterested class?

  8. maybe teaching 11th grade math to capable 3rd-graders could be more enjoyable than trying to stuff 3rd-grade material into the 11th-grade geniuses…

  9. Funny you bring this up Phil. Six years ago, one of your Ars Digita interns disliked my AD Problem Set #1 for having “too many little functions”. He was equally unimpressed with my having TA’d 6.001 six times. Oh lord, it’s hard to be humble when you are perfect in every way.

  10. I can only see this situation getting worse as “No Child Left Behind” tightens its grip on the American educational system. Bringing the MBA approach to education, with its exclusive focus on metrics and status reporting, can only make experience of education a completely sterile and joyless one motivated only by “making their numbers.” It’s perfect preparation for a sterile and joyless life in a cubicle, which apparently is what life in the 21st century is all about (for those fortunate enough to have a cubicle).

    You might well be glimpsing the future. It’s a sterile and joyless future to be sure, but it will likely achieve impressive productivity metrics (and yield even more impressive compensation entitlements for those in the Executive Suites).

  11. Email and logarithms don’t quite inspire one the same as flying.
    Also one group is paying hundreds if not thousands of dollars to hear you speak. Most of the other group is being funded by taxpayers and/or loans.

  12. fwiw, I think that a great number of motivated college students are pursuing the ability to earn money. Attending an ‘instruction-approval-required course’ at any university is, primarily, a means to increase income.This does not promote a love for good programming, just a tolerance for meeting the requirements of the class.When I was first inspired to write some code, I wanted to learn how to program because it made my job easier (primary motivation was laziness). Once that I got into it, I fell in love with the power that it gave me.Fifteen years later I got a degree in cs, the classes that I took (admittedly at an average school) offered me little stimulation, just the means to an end…So what is the point? In order to gain an involved class of students, the instructor (and institution) has to develop a personal level of involvement that grabs the students imagination and gets them involved at an emotional level. I believe that a student that develops an emotional attachment to programming will develop into an excellent worker, regardless of what cube-farm their body sits in.

  13. It’s unclear that learning internet engineering skills will actually be useful to something they might care about. The most enagaging classes at Stanford for me were project classes where I picked the project. I know you have a project and client in your class but it’s still the client assigning work, and clients are unimaginative. I’m sure you have classes like I’m talking about at MIT, they’re the ones where people are building robots to climb buildings or create some original software project. They are all bleary eyed because they have spent all their waking time on it. The are also laughing and alive because it’s the most school fun they’ve ever had.

    A 20 year old student has been sharpening their saws for 15 years without getting to see a tree. They are probably not totally thrilled with “if you learn to be just like Jin” why in 2 years you could actually do something cool.

    And professors aren’t that excited about the class they are teaching because it’s so beneath their current expertise. There is literally nothing the students can do to surprise them with originality. Is there anything at all the students could do to make you think “wow, I never would have thought of that”?

    It’s also the kind of product design and creative engineering work that won’t get offshored to India. None of your current student’s is following the arsdigita path are they? I mean none are going out and building websites for companies when they graduate, especially not the superstars.

  14. What’s up with blog software so dumb it doesn’t turn two newlines into a paragraph break.

    Blah

  15. Josh: The blog software that Harvard runs was written by Dave Winer. He did not take my class.

    “Unclear that learning engineering skills will actually be useful”? “None [of the students from 6.171] going out and building websites”?

    You’re probably right that for the average C.S. major there is no point in learning how to build Internet applications. A lot of our 6.171 graduates, however, have ended up at a small young company in Mountain View, California and I think they actually do build some Web apps there. I forget the name… “Doodle” or “Booble” or something like that. Anyway, they keep offering me rides in their private jets, so I assume that they have been doing pretty wel….

  16. I could easily relate to Philip’s frustration about software engineering students lack on enthusiasm in becoming better… I found this post so interesting that I put a link to it from my blog (http://damith.blogspot.com)

  17. It’s clear to me and clear to you that internet engineering is useful. I’m working on a web startup right now. I was saying that to about half your students it’s not clear, which is why they aren’t as attentive as your airplane students. The one thing most students lack is perspective. I did at 20.

    They are getting a good basis for future work, they are doing the work, and I’m sure they are learning the material so it’s successful class. However you blogged about them being unengaged.

    If they aren’t paying attention, how about opening up the projects and letting them write software they think is interesting? I worked very very hard on my senior project. About 10 times harder then I worked on the unix clone we built for Operating Systems or the “MacDraw” program for object oriented development.

    The most interesting won’t come out of working for clients. Right out of school in ’96 I went to work for a web development house similar to Ars Digita doing original work for big clients. It was great, but I wouldn’t recommend that for a graduating senior today. The work is easier and there are plenty of people doing it cheaply so it’s time to move up the food chain.

    Is working for google more like doing a project for a technically unsophisticated client or like trying to impress the other students in your class with a great solution to a hard problem?

    Here’s some of the things students choose in the 10 week senior project class:
    http://www.stanford.edu/class/cs194/faire/projects.html
    A couple of these have become successful startups too.

    And sorry about the blog software comment, I wasn’t trying to slam your students, just the software. I’ve looked at their sites, they do awesome work.

    To focus my comments: how can you make it so the students can surprise you? If you do that, you might like the class more.

Comments are closed.