vectors & Geometry and calculus in computer science? any good reason why instructors have to force this boring math down a computer science student's throat?

Computer science is understanding a computer system at an intimate level. However to solve "real-world" problems that make use of computers requires an understanding of the problem and how a computer can solve that problem. For example, you may not be currently thinking about the mathematics or physics involved with jet propulsion or missile guidance systems but would you rather be actively involved in the design and creation of the system or given a design document and told to program the objects and procedures as specified within that document? Do you aspire to go from being a programmer early in your career to Chief Architect?

All college class studies are important - Science//Math/Language/History/Arts. Together they make you well-rounded individual and better prepared to take your part in helping shape our world...

Well, the most simple explanation I can think of is this: Math is all that computers can do.

Any problem you want to solve with a computer, comes down to modeling the problem with mathematical equations.

Since computers can generally only handle discrete/numerical mathematics, rather than analytical solutions, in a lot of cases you will find yourself using vector and matrix math to solve mathematical equations (iterative approximation methods such as Newton-Raphson, or differential equations of all sorts etc).

I'd say that's what computer science is all about. Using APIs or high-level languages to 'solve' a problem (eg SQL, PHP scripts etc) may work in practice, but that's mostly 'just programming'. People have also written the SQL language, the PHP interpreter and various other languages, libraries etc, which do the actual processing. Computer science is about understanding the 'whole package' and being able to produce such tools yourself, rather than just having a superficial understanding of computers and only being able to use tools made by people with more knowledge about computers than yourself.

Any problem you want to solve with a computer, comes down to modeling the problem with mathematical equations.

Since computers can generally only handle discrete/numerical mathematics, rather than analytical solutions, in a lot of cases you will find yourself using vector and matrix math to solve mathematical equations (iterative approximation methods such as Newton-Raphson, or differential equations of all sorts etc).

I'd say that's what computer science is all about. Using APIs or high-level languages to 'solve' a problem (eg SQL, PHP scripts etc) may work in practice, but that's mostly 'just programming'. People have also written the SQL language, the PHP interpreter and various other languages, libraries etc, which do the actual processing. Computer science is about understanding the 'whole package' and being able to produce such tools yourself, rather than just having a superficial understanding of computers and only being able to use tools made by people with more knowledge about computers than yourself.

If you interested on game programming, youll see how usefull it was.