What electives should I take?

<p>To graduate I need 120 credits but for my comp sci degree I need 108 credits. I'm pretty sure thats right but I may be wrong.</p>

<p>This gives me 12 credits, essentially 3 classes to take in addition. What kind of classes should I take to be beneficial? My concentration will either be mathematic or cryptography. </p>

<p>Off topic q: when higher level courses are reached such as 300 or 400 leveled, is it normal to take four of them and be at ~12credits (just barely full time) then take an additional course incase you have to drop one? Isnt that a heavy work load?</p>

<p>Higher level courses are not necessarily more work. Courses like math and CS theory tend to be less work than CS courses with programming, whether they are lower or higher level. (So carefully balance your course load so that you do not take too many CS courses with programming, or courses with labs, or big term project courses (including humanities and social studies) at the same time.)</p>

<p>If you want to do more cryptography, additional math courses in abstract algebra and number theory will likely be helpful.</p>

<p>I agree. Abstract Algebra, Number Theory, and Combinatorics are the main three that can assist you with knowledge or further research in Cryptography. And maybe even land you a minor in Math.</p>

<p>I can also definitely recommend taking more math courses. You have lots of options here: information theory (algebraic coding, compression, cryptography, etc.) combinatorics (graph theory, enumeration, designs, etc.), numerical analysis (numerical methods, modeling, scientific computing, etc.), optimization (linear, nonlinear, combinatorial, etc.), statistics (stochastic, regression analysis, models, etc.), etc. You could always take courses in more traditional “foundations” courses in algebra, analysis, topology, geometry, etc.</p>

<p>Another option to consider is loading up on hardware courses in the EE/ECE department. Your department may have courses in computer architecture, high-performance computing systems, networking, advanced interconnect networks, computer security, etc.</p>

<p>If you’re interested in other areas, you might be able to talk your way into some advanced courses. For instance, you might be able to take a few courses on computational fluid dynamics, or computational finance, or computational linguistics, etc.</p>

<p>Finally, consider using the credits to take something you’ve always wanted to explore. Philosophy? Political science? Religion/Mythology/Occult? History? Communication? Literature? Rhetoric? Music? Art? Theater? Education? Architecture? Sports? Lots of options here and potential for low price/earnings (lower-level, introductory material is generally more useful over a lifetime than is high-level, niche material… e.g., your introduction to logic vs. your 2nd semester of research topics in computational issues surrounding experimental combinatorics on partial words).</p>