I'm in the final semester of my math major and I'm torn between three classes, they all seem fun as fuck but I can only choose two. My options are a course on group theory, an optimization course, and mathematical cryptography. The optimization course and mathematical cryptography course are both special topics courses, the mathematical cryptography being taught at a nearby university which is ivy league tier, and I've always been super into hacking and cryptography so this is super unique. I also absolutely loved the tiny bit of group theory I've been exposed to (mainly in the context of topology) so this is my only chance at formal education in the area. The optimization course seems like a really comfy course (assignment every 2 weeks) and apparently you get into some machine learning stuff, which is also really cool and feels like it could be the most directly useful to a job in industry out of the three classes. What do you think, what should I take? What would YOU take?