machine learning等会需要些数学(如微积分,概率,线性代数等)。我有一次问我的一个同事(他天天写程序,能力很强),x^2的导数是什么,他摇头,说数学他都忘了。我看很多EE的课程(如控制论,信号处理,电磁场方面的等)需要不少数学,大学的CS课(大部分)要求不需要那么多数学。当然有的学校CS课会有scientific computing方面的课,基本是数学课,但我感觉这种课不一定是必修课(即使是必修课,也不是太难)。基本上普通意义的CS没太多数学。对数学不太感兴趣选CS是很好选择。你家老大的选择完全正确:)。往往很多数学好的并不太喜欢编程,他们更喜欢去想,去研究。
如果某个课程感到吃力,可以选别的课。如果是必修课可以等基础打得好点后再修。