<p>What are some recommended electives in terms of usefulness in the workforce? What do employers look for?</p>
<p>Here's a list from which I can pick 5 </p>
<p>Computer Graphics
Compilers for Algorithmic Languages
Artificial Intelligence I
Artificial Intelligence II
Modeling and Simulation
Software Testing and Maintenance
Software Project Management
Quantitative Computer Architecture
Database Implementation and Theory
Data Mining
Mobile Systems Engineering
Computer Network Organization
Computational Methods in Computer Engineering
Advanced Computer Networks
Multimedia Systems
Parallel Processing
Autonomous Robot Design and Programming
Software Design Patterns
Information Security
Object-Oriented Software Engineering
Introduction to Signal Processing </p>
<p>Most software jobs will revolve around the processing, distribution and storage/retrieval of data. You could equate “processing, distribution and storage/retrieval” to programming, networks and databases. On top of that, all 3 areas NEED an operating system…so there are 4 important CS courses right there.</p>
<p>Database Implementation and Theory
Advanced Computer Networks or Computer Network Organization
Information Security</p>
<p>Since you were in the software engineering major initially, you don’t need anymore of those courses. You can pretty much pick any for the last 2 but I will put my biased selection. With all of the data-science stuff going on, add on Data Mining.</p>
<p>Yes, you are in correct in your assumption that algorithms/complexity and operating systems are required courses. I’m actually taking OS right now and have an exam there in a couple of hours</p>