I learned computer science and programming together, right before the PC was created. Learning the science makes you a much better programmer.
Though I never wanted to be a programmer in the end, it was integral part of the degree of study, which actually called Computer Science for Business degree. Anyhow, I ended up learing several languages beginning with BASIC, Assembly 370, RPG II, ending with COBOL I & II.
Assembly language being the best thing I could have learned as it is machine level language. Had to learn hexadecimal and code in hex. You can to think at what actuallyhappens at machine level, no ccompilers.
We were taught the 10 steps to writing a program. The 10th being coding the program. I won't explain all ten, but the key to creating any efficient program is to start at the end and work back from there. "What is your end result? Then figure out how to get there."
I didn't end up in the computer science field, but I understand and know how every program and computer that has been made works. I know what is going on in each program as I use it, along with how the device is dealing with the code too.
My two on the questions is: Only code, and only science is okay; but learning booth gives a better edge and will help you understand both coding and the sciences much better. Teach both, simultaneously.
Btw, to the affect of learning of each (coding/science) this will carry on with you throughout your life. I am an example of this. In everything I do, I perform in the most efficient manner timewise, cost wise, energy(physical) wise. And my analytical skill is very high, so I always over examine things.
All in all my education has put me at an advantage in life.