I would certainly like to see more emphasis on dsicrete mathematics - the mathematics partially behind computer science, and less on analysis in the undergrad courses, before you accuse me of being anti-CS, Crosson.
This is a great conflict in uni math education --- teach analysis for physics and engineering, or teach discrete math for CS and pure math students. Many (weak) math majors feel deceived when they first enter a discrete math/ proof techniques class, and rightfully so after two years of skills based calculus.
And Matt, your record shows you are far from the anti-CS category. You have clearly used several research-level computational packages, and even just using a LaTeX distro to typeset your own papers for the ArXiv shows that you embrace computers in your career.
When I talk about computers displacing traditional mathematicians, I don't mean proof checking or proof writing. I am talking about education, and the increasing use of computers in math education. For the vast majority of math majors who will not be getting a PhD, computer training is essential for them to be able to apply their skills in a job. Only elite universities can afford not to care about teaching, so their will be a push in most universities to only hire computer competent people.
So as you can see, the math majors who should worry are the ones with little to no computer skills, or who even put down computer to make themselves feel "pure".Edit --- Combinatorics is a great example of a class that benefits from the use of software, because otherwise most of the examples use very small numbers. Imagine wanting to teach the greedy algorithm for coloring graphs (which won't work for graphs which contain a 4-cycle). This sort of thing needs a good example, so here are the choices:
1) Use a small random example graph with 6 vertices or less.
2) Carefully redraw a graph with more then 6 vertices which you are pretty sure worked (has no 4-cycle) when you made up your lecture notes.
3) Randomly draw a graph with more then 6 vertices, waisting time trying to avoid four cycles, and then start the example sure to encounter an "oops this one won't work" and make a messs trying to erase rogue edges.
4) Type a command to generate a random large example in front of the class.
Now let's evaluate each of the choices:
1) Misleading, students need to see examples of large graphs to appreciate the "combinatorial explosion". Pity the student who, when ask to produce a random graph after a semester long course, produces one of order 5.
2) This means a lot of work preparing for the professor, which is unrealistic even for those with good intentions. Also, students are punished when they have to wait 60 seconds for you to draw a diagram from your notes.
3) This is the most common choice, and obviously it will quickly lose the students attention and respect.
4) This is the most efficient choice, and the one that is most likely to motivate students to learn what you know.