When I think of the theoretical CS stuff that I learned, it didn't even bother itself with the algorithms so much as the set of inputs, the set of outputs, and the set of machines that could transform the input to the output - the existence of an algorithm rather than an actual implementation, which seemed more like set theory to me, though I'll admit that I'm not familiar enough with where different disciplines fall within math to actually make that judgement.
Weeeell, I was thinking more of applied computer science in that instance, actually, because if Dude is considering a background in engineering and talking about job markets it seems more likely that he just wants to code.
Certainly, there is some dealing with the set of all functions going from one set to another set, but again, in set theory that is just established as a tool--because sets have only size, not structure, and mathematics is fundamentally about structures. The problem "find all functions from A to B" is very trivial, and is usually left as an introductory exercise for the student upon defining notation B
A. The problem of finding all homomorphisms from A to B, though... well, that is not easy, especially if one is working with non-cyclic groups.
Similarly, counting the number of topologies definable on a set is difficult and highly non-obvious.
In any case, what I'm basically saying is that if you're talking about specific inputs and outputs and existence of functions, that is really... pretty much what mathematics does, over and over again, but in a more generalized way than computer science seems to. There is no specific discipline, but abstract algebra is notable if only for getting to the concepts first.
Well, and order theory. But that is just my pet subject.