'nuff said.

This is exactly why it is beyond comprehension that Apple, of all companies I might add, has introduced the faux-leather calendar and the address book that looks like a paper book in Lion. After they spent several iterations of OS X to arrive at the beautiful uniform sleek look of Snow Leopard WHY did they regress to using a real world metaphor that makes no sense to half their users?

Pick the Discrete Math course. Really.

Consider this: first of all. there is plenty of software engineering to be done that doesn't require mathematics at all (web development, administrative systems, etc.). Second, for the jobs that require math from your second category (i.e., calculus and linear algebra), you almost always require the first category as well, lest you want to become one of those scientists who write unmaintainable scientist-code

Background: I have an MSc in Computer Science (we don't have a major/minor system in The Netherlands) and I've always had a strong interest in mathematics, so I'm not afraid of either topic. I currently develop software for scientific applications in various application areas, where both these fields of mathematics are very important. My job is relatively rare compared to what most of my former uni-mates are doing. Most people I know have jobs which require algorithmic knowledge, but not calculus or linear algebra.

I asked Tanenbaum this question at a lecture he gave on Minix 3 earlier this year. He responded that he changed his mind somewhat about the education-only issue because he felt that, to prove a point about the superiority of the microkernel design, you need to get it out of the lab and into the real world. He also felt that he could do this without hurting the simplicity of the system as a teaching tool. Incidentally, his intention is not to compete with Linux or Windows on the desktop, but rather to make a robust OS for embedded applications.

Science is what happens when preconception meets verification.