If the boss is a decent guy/gal just mention it to them that we have a corporate policy regarding xyz. Don't mention they implemented it. Don't say the words 'against xyz' Your goal is to get them to comply. Not point out they are wrong.
The other avenue would be to talk to the Secretary/Administrative Assistant. Bosses don't want to listen to peons. That's why they are the boss. However, they will usually listen to their most trusted confidant - that is usually the Sect/AA. They point you want to make to the AA isn't that the boss is wrong (see a trend here?) it's to change their behavior to be in line with corporate policy.
If the boss is a bonehead - talking to them won't solve anything. If the transgression will torpedo the company, go look for other work.
In any event, none of these conversations should be in public (your not out to embarrass the dude) and be careful if you tell someone else that they don't go spreading it around.
Remember - you are trying to get them to stop what they are doing not get them into trouble.
Another avenue is to speak with whomever is incharge of security. In a small shop it may also be the CIO and a really small shop the CIO may be 'Frank - he fixes our computers.'
Graph theory underlies every datastructure ever designed - link-lists, trees, etc. It is also how you build the schema map for a RDBMS and remove redundancies through normalization*. It is also needed for modeling program, data, network and other sorts of 'information flow'... including recursion.
* Yes, Dorothy, most databases in the business world are RDBMS as most systems do not benefit from the obtuseness of object based DBs.
Discrete is very handy when you have to convert from one number space to another. Not all systems are UNIX/ASCII based. I do a lot of work in the print industry - the core of that is still built on OCTAL character representation and a great deal of EBCDIC.
Combinatorics - Basically, how do you count. Again, you need this to know if your elementary math is giving you the correct numbers. A lot of things have been automated (BCD and the like), but that doesn't mean you will be working on a 'new' system when you graduate. There is still a lot of COBOL out there. It's not sexy, but it pays well and is generally a stable gigl
I would also suggest you take a course on Linear Algebra. Again, I'm in print and so use it more than most, but any time you need to lay something out in 2-space (e.g. a web page) and you need to translate that space to another (e.g. iPhone) LA will come in handy to fine tune the output.
Calculus, IMHO, is only good for the rigor unless you get into engineering, graphics or physics. It's still good to have.
Lastly, Take at least two classes in communication. One on public speaking (your in meetings a lot and have to learn to communicate what you know to someone who doesn't - e.g. your boss). The other on writing - you will be writing a lot of system documentation, proposals, e-mails and the like. Other than your core CS/Math, I would say to have very, very solid communication skills. They never hurt.
Enjoy!
There are two ways to write error-free programs; only the third one works.