

Ask HN: What is the importance of Math in Undergraduate CS? - samirmenon

I am a high school student (11th grade) and I am considering graduating high school early to head off to college. I want to major in Computer Science, and I&#x27;m considering some sort of minor in Computational Biology. I&#x27;ve wanted to do computer since I was a little kid, and have a decent collection of published apps and software I&#x27;ve built.<p>I visited the Carnegie Mellon CS Department, and when talking to the program coordinators, they told me that they are specifically looking for students more experienced in discrete math.<p>I have done a lot of work outside of school on building my own applications, and I got the sense that they had essentially no value for that. They also didn&#x27;t seem to care about my 2 years of work experience at local web development time. They just wanted someone who did a ton of math.<p>I will finish BC Calculus before I exit high school, and I am pretty good at math. But the fact that CMU didn&#x27;t really seem to value (they said, &quot;it won&#x27;t hurt you&quot;) any of the other stuff I&#x27;ve done really disappoints me.<p>Is it different at other universities? Is it a bad sign that they focused on math so heavily?
======
USNetizen
I got my CS degree a few years ago and, yes, they focus rather heavily on
math. I had to take three semesters of calculus, but only one or two semesters
of discrete math (which I personally enjoyed a lot more actually and found it
easier than the calc). However, a lot of the 300 and 400 level CS classes are
about algorithm design and function, so that math background is crucial. Other
"core" courses focus on image/signal processing, electrical component
engineering, data analysis, compiler design, data structures, etc. which is
also where the background in discrete math comes into play.

Though programming mobile and web apps doesn't necessarily compare to the
array of materials you study in a good CS program, I don't understand why they
would feel you need to have discrete math under your belt already before you
start the program. You learn it there, from them, thats what college is for.
If you can do calculus relatively easily, you can definitely do discrete.

That being said, becoming a programmer/developer does not necessarily require
a lot of math skill. However, becoming an ENGINEER, or someone who understands
the theoretical foundations of the underlying systems and can maximize them
for performance/scalability/reliability/etc., requires a good amount of
mathematical knowledge. That is the type of experience they are most likely
seeking because it is what a CS program is supposed to teach you - how to
engineer scalable, reliable and efficient software and systems, not just how
to make apps.

------
ekm2
Mathematics improves your capacity for logical reasoning.

