It's undeniable that Computer Science is a mixture of disciplines including science (the scientific method, some physics needed to truly understand how computers work at all levels, testing methodologies etc etc.) and maths (theoretical computer science, programming is essentially logic puzzles that equate to mathematical proofs - at least complex ones, algorithm analysis etc. etc.) and to some extent it's created it's own discipline in programmatic thinking and the learning and analysis of programming languages. - What are the disciplines of computer science/how important is maths in computer science/is it really a science? - are not the questions to be answered here.
Assuming Mathematical and Scientific knowledge are both important in computer science (which they are) - which do we train students to become principally? Is it most important for computer science students to be first and foremost scientists or mathematicians? e.g. in the first year of a CS course is it more appropriate to teach The Scientific Method. Structure of a scientific investigation. Hypotheses. Occam's razor. Controls. Correlation vs causation. Falsification. Examples such as intention to treat etc etc. Or is it more appropriate to teach Mathematical topics - matrix operations, algorithm analysis, complexity, logical expressions, etc etc.
Or maybe a mixture of both? Maths is inherently important to science - but to what degree should budding computer scientists be taught mathematics.
Which skills and talents in the field of mathematics are beneficial to Computer Scientists?