to add to what was said above, its typically an interdisciplinary focused on applying computer simulations to another subject field(linguistics, psych, physics, ai, applied math, chem, bio, econ, 3D entertainment media etc ). Some programmes will neglect the other subject field part...and focus on the algorithms used to help you in these fields(ie numericals only with detailed analysis of numerical stability and robustness). Either way such a program implies a strong demand on math and programming(ie. numerical and typically in coding language: C/C++/F though some schools will use only MATLAB =[)
typically the simulations involve thread or cluster programming (HPC-high performance computing) along with N-D vector-based coding (linear systems) such as using packages like blas or lapack or cfd. One would also use either coding packages: openmp, mpi, charm++ or a native threading library(pthreads, win32).
As for mathematical grades...it depends on the math class. For any scientific-based specialty (chem, bio, phys) or engineering, one needs a thorough progression through differential equations & vector calculus. In cryptography/number theory or linguistics, it may be less so but still usefull to have.
Personally I think 3D mathematics and programming should be included as most HPC are spatially oriented and require some form of visualization but that is my own opinion.
Take a look at any numerical methods/analysis book to get a general view of the types of algorithms you'll be learning("numerical recipes" is always a good place to start). Then look at a professors website in your area of interest...one who specializes in computational science or computer simulations in that field.
--------------------------------
Things you would aim to learn aside from basic programming:
[math topics]: Numerical stability & robustness, root finding/extrema, QR algorithm, FFT, wavelets, FEM/Finite Diff/ Finite Volume, Runge Kutta, ConjugateGradient , Multigrid, Markov
[cs topics]: threads, network communication, nearest neighbour/spatial partiioning
[packages]: c/lapack, c/blas, mpi, openmp, charm++, standard network send/recv, standard threads,
PersonallY: some GUI package to carry you from 2nd to 4th year. and opengl
---------------------------------
PROS & CONS
PRO: if you hope to end up in sci/eng industry and you fail...your skillsets in such a programme can be utilized in the 3D digital animations or game dev industry =]. If you also
incorporate 3D math/graphics/physics then you can get into just visualization.
PRO: skillset development in math/programming
CON: can't think of any but the one about programming time required above would be the only one. I guess also the naivety of the field may result in weak curriculums depending on your university (ie just slapping math and cs classes together with know congruity)