They just need Automata, Grammars, and Computability, one of the "classical" courses in CS theory to complete their collection. That course really makes you a better programmer in being cognizant of the shear size of problems that can't even be solved (as well as forcing you to think in terms of using tricks to bring problems into decideable space). For instance, if you ever plan to write navigation software or travel/price routing software (a la Orbitz/Hipmunk/ITA Google), computability (as well as algorithms) should be a must-know (for example, every automata course will introduce you to TSP).