Iasonas Petras

Dec 2009

This class is billed as "practical methods in linear algebra for computer science". It is, without question, the least practical course I have ever taken. We've all taken Calc III, so we've all seen a class without content before (and let's be honest -- unless you plan to pursue a graduate degree in vision or graphics, all the linear algebra you need for a CS degree fits on the front and back of a sheet of paper). So Prof. Wozniakowski does what any reasonable theoretical mathematician would do, and turns this into a class about theory instead. This is not the problem. The problem is that his "theoretical" approach to linear algebra essentially consists of stumbling into class, drawing an arbitrary matrix on the board, and proving its special properties. Do not expect any discussion of the usefulness, significance or relationship of any of the topics you cover. Everything turns out to have very important practical implications, but Wozniakowski will not teach you about them. Unfortunately, you also wind up without the tools to do theory yourself. So when his exams ask you to prove new, different things about special matrices, you, and the rest of the class, will fail. The average on the midterm was below 50%. You will come out of this class knowing more things than you ever cared to know about Householder matrices and eigenvalues and the infinity norm and the spectral radius, but you will be able to do exactly nothing with that knowledge. Advice: -- Don't buy the book. Gilbert Strang's canonical linear algebra textbook is generally not very good, and it is absolutely useless for this course (every time you go to look up something we discussed in class, Strang simply says "we won't bother proving this right now"). One of my classmates remarked that his still has that new-textbook smell because he hasn't opened it. -- The TAs were atrocious. Whoever it is next semester, make sure to interrogate them about every homework assignment (this will entail 10 visits to office hours) or your grade will suffer. Over the course of the semester, I was deducted points for such offenses as writing my answer in the middle of the page where the TA couldn't see it, providing a python script that ran normally under CUNIX but not with the TA's fucked-up $PATH, and having the same first name as another student in the class. Be vigilant. At the end of the day, I don't feel like my time was completely wasted, simply because the material we're actually supposed to cover doesn't merit its own class. I feel like things make more sense now that I'm connecting the dots on my own (protip: your enjoyment will be greatly increased if you wiki every word that comes out of his mouth), but I can think of many less painful ways of learning this material, and in the end I'm not sure I really needed it in the first place.