Ask Slashdot: How Important Is Advanced Math In a CS Degree?
AvailableNickname writes "I am currently pursuing a bachelor's in CompSci and I just spent three hours working on a few differential equations for homework. It is very frustrating because I just don't grok advanced math. I can sort of understand a little bit, but I really don't grok anything beyond long division. But I love computers, and am very good at them. However, nobody in the workforce is even going to glance at my direction without a BSc. And to punish me for going into a field originally developed by mathematicians I need to learn all this crap. If I had understood what I was doing, maybe I wouldn't mind so much. But the double frustration of not understanding it and not understanding why the heck I need to do it is too much. So, how important is it?"
Programming is one of the most difficult branches of applied mathematics; the poorer mathematicians had better remain pure mathematicians.
Mathematics is highly important in computer security, software engineering, and network engineering. I started writing an access control system several years ago; the first thing I did was ingest an 18 page international standard describing the proper implementation of role-based access control systems. It was a *lot* of mathematics describing the relationships between security contexts--between objects, between accounts, between roles.
Networking seems pretty straight forward; but try bringing graph theory to the table once. You'll suddenly have a lot to say about the wonderful, efficient network you designed and how it's not your fault it's not meeting performance requirements because the technology just doesn't exist yet.
Software engineering is the practice of turning a project plan (a scope, work breakdown structure, design considerations, requirements, etc.) into a finite state automation. Program control flow and algorithmic efficiency are highly relevant in all cases. You're not writing an LZ77 encoder, just a PHP application? And how are you passing data from your Ajax application through JavaScript? And it doesn't work all the time? Why, that's because you've missed a critical race condition in this section of the flow; and besides, if you handled this action in this way instead it'd be 1000 times faster.
Support my political activism on Patreon.