, ,

Hello friends, Sorry about the massive lack of posts from yours truly (Thanks for keeping us going Nick!). I’ve been over my head with school work lately, and that’s what I want to talk about today.  I’m currently taking both the most and least frustrating computer science classes I have done thus far.  The good one is Programming Paradigms, and the terrible one is Software Engineering one.  Besides the fact that SENG is a bunch of management bulshytt, and functional programming with Haskell is a glorious and lovely excercise, there are some fundamental differences that make the one class a joy to take, and the other is like having bamboo shoots driven under my fingernails.  Let me begin with how to teach a class right.

CPSC349: A perfectly run class

  • The well-chosen textbook with clearly defined chapters and sections for reading after each class. Wonderful!
  • Informative, useful, easily understood lecture notes posted online, so that I can actually listen in class rather than try and scrawl down what is being written on the  blackboard.
  • Past midterms for 3 terms posted to help study for the midterm!
  • A clear description of what will be covered on the midterm.
  • Assignments which have clearly described requirements, and a finely detailed marking scheme, even down to a description of what type of work will get each grade!
  • Interesting assignments that need more time spent thinking about the problem than pounding out code

SENG301: What NOT to do

  • Don’t even have a textbook! To make matters worse,  post lecture slides that are incomprehensible 3-line messes of powerpoint crap.
  • Don’t give out anything close to a study guide, or even a review session for the midterm
  • Make each assignment a mystery as to what is expected, how it will be marked, and provide contradictory tips as to how to do it right (In other words, have NO communication between the professor and the TAs)
  • Make each assignment a banal exercise of code monkeying which takes 10 times as much time to figure out what the hell I am supposed to be handing in than actually producing what I am going to hand in.

If you want your students to be happy, intellectually stimulated, and love the subject you are teaching (and your teaching ability), follow the CPSC349 model.  If you want your students to be neurotic and bored cynics who hate your subject because they are too busy figuring out how to get an A without learning how to read minds to actually grok it, I would recommend following the SENG301 Model.