I am a freshman math/cs major who hopes to go into cryptography/cryptanalysis (will go to graduate school). For fall, I am choosing my classes soon, and I cannot decide between two courses. I have taken Calc 1-3, Linear algebra, and am currently taking a proof techniques class (prereq for upper-level math courses). I am definitely taking complex analysis in the fall (assuming I get in to the course).
For my second course, I can either take Operations Research or Number Theory. I don’t really know much about Operations Research but it seems like a course applicable to computer science. The course description is “Linear and Integer Programming: algorithms, complexity, sensitivity, and duality. Applications such as assignments, networks, scheduling.”. Number Theory is with the same professor I had for linear algebra, who I loved.
I should also mention that Operations Research is only offered around once every two years and Number Theory is a special topics (not part of the regularly offered courses), so I have no clue when its being offered again. I don’t think I’d get the opportunity to take whichever one I don’t take in the fall. Im currently leaning more towards Number Theory.
Which course would you recommend I take with my interests and intended career path?
You might talk with both professors to get more detail on the topics covered, the approach to the class, and the applicability to cryptography/cryptanalysis.
Number Theory will pair nicely with your proof-based class. I would look to take that one. Operations research is interesting, but it will also be interesting when you are a Junior (perhaps more so). Looking at how to optimize the “traveling salesman problem” and going a bit deeper into algorithmic implementations of problems with singular points or non-unique, non-monotonically-converging problems is something that you may better appreciate after a bit more practical academic experience. It looks like you will solve problems like how do you send elevators if you control a bank of 8 elevators in a 50 story building and 3 people call for an elevator simultaneously. It looks like you are on a fun path!
Frankly, I do not see Operations Research directly mapping to Cryptography/Cryptology. It is in the same general area, but number theory is more along the direct path.
If you want to to cryptography, you should take Number Theory. That is about the only field it is directly relevant to. Operations Research is not directly related to software. It deals with making business decisions to maximize profit and so on.
@ItsJustSchool Thank you for the details! Its nice to know what these courses really are, since the course descriptions aren’t always easy to decipher.
Thank you everyone for your responses. Unfortunately, complex analysis is also only offered once every two years and, although its considered a math elective here, I want to take it and cover most of the traditional math classes too (like diff eq, no idea why its an elective here). Because I have two computer science classes next semester (coreqs) and a musicology class (required for my music major/minor scholarship), I am limited in how many math courses I can take. Between the three math courses, I can only take two.
It looks like I should take Number Theory- that is what my dad (software engineer with a government contractor) recommended also, but he didn’t know much about operations research (other than it had business applications to optimizations). I can always look into taking Operations Research senior year (i think that’s when its being offered again), if I have the space. Unfortunately, I’m dealing with three programs here that are on two year rotations, so its hard to fit everything together (especially because the music department doesn’t publish their rotation). I also don’t have a math/cs advisor because we aren’t allowed to declare our major until the end of this semester.
Integer programming is usually taught at the graduate level. Operations research is much more practical than number theory. If your focus is more towards applied math you may want to go with the operations research class. Number theory can be taught at many different levels from easy to hard. Andrew Wiles a number theoreticist solved one of the hardest problems in math!