Software Engineering – Week the Seventh
The syllabus is a piece of paper. A description, a schedule, a grading overview. Very little information about what a course is really about is conveyed. Perhaps the most important part is usually left out and leaved to be inferred by students during the course of the semester: what does the professor value? This inference starts slow: quizzes and homework show a small emphasis on content and methods valued by the professor. However, nothing shows what the professor really wants students to get out of a class until the first exam. This past Thursday I took my first midterm for Software Engineering and was happily surprised.
In my view, programming is about two big things: knowing useful information, knowing enough about the past to avoid repeating mistakes, and finally, and most importantly, being able to code up some stuff. Downing hit all of these with the midterm. This is not to say it was a really easy test–that would be boring and dull. The facts were interesting and the coding was puzz-tacular (look, I just made a portmanteau and it was terrible).
“How would you feel if you were Robinson Crusoe on a desert island and had access to a Walmart, duct-tape, and an unlimited supply of KFC?”
Since most classes involve interesting trivia questions, I’ll focus on why the coding questions were good. Programming is less about knowing stuff and more about figuring stuff out. When people tell me: “I don’t know what I’m doing on this programming assignment.” I mutter to myself “good!” This is not out of schadenfreude. Rather, it’s about the quality of the computer science course. If you know what you’re doing at every step of the way, how will you learn? Did Mark Zuckerberg know exactly how to code Facebook (or even the details about how it would be profitable)? No! In my opinion, the point of doing anything interesting is the thinking involved. How would you feel if you were Robinson Crusoe on a desert island and had access to a Walmart, duct-tape, and an unlimited supply of KFC? Pretty bored and fat probably. And that’s why I like coding questions on exam: it’s about the adventure and the excitement. That pillar of programmer-culture embodies this course. That is why this class is fun.
3/2/2014