A ver, te explico un poco.
Primero las matemáticas y la física. Yo también soy de los que pensaban que no sirven para nada y que solo las poner para molestar. Ahora que llevo un tiempo trabajando como programador y que empiezo una ingeniería dentro de unos meses, he entendido porque lo hacen así.
Las matemáticas son elementales a la hora de resolver todo tipo de problemas. Es un campo muy extenso y dependiendo de lo que programes te servirá más una cosa que otra, pero servir, sirve, y mucho. Cuando programas te encuentras en todo momento pensando en como crear X función que haga una tarea de la forma más rápida y eficiente posible. Te verás haciendo cálculos de todo tipo para que las cosas vayan. Ahí es donde la matemática ayuda. Además, estudiar matemáticas te ayuda a ser capaz de abstraer muchos conceptos y esto cuando programes cosas avanzadas te será de gran ayuda.
La física también tiene su punto. Primero se estudia porque es necesario tener unos fundamentos físicos bastante fuertes para entender como funciona un ordenador, por ejemplo. Para entender como funcionan cosas como el procesador hay que entender un poco la física del último siglo. Si a todo esto le añades que te gustaría programar videojuegos, la física ya se convierte en algo fundamental. ¿Has oído hablar de la física de los juegos? Al programar un juego tienes que hacer que los objetos se comporten de una forma determinada. Imagina los siguientes casos. Tienes que programar el comportamiento de una bola de 1000kg empotrándose contra un muro. ¿Cómo lo haces? Pues con física. Calculas su velocidad, su masa, la resistencia del muro con el que choca, etc y con todo esto sabrías que le muro ha de destruirse de una forma predeterminada...o en caso de ser muy resistente no romperse. ¿Y si la bola es de esponja y pesa 1kg? Ya cambia todo. Esto es un ejemplo bastante básico, pero creo que te puedes hacer la idea.
Luego tienes que tener en cuenta que la carrera no te va a enseñar a programar. Te van a enseñar las bases de la programación y muchos conceptos teóricos que suelen ser aburridos, pero te darán la base necesaria para poder estudiar la tecnología que quieras.
Algo sumamente importante es trabajar por tu cuenta mientras haces la carrera. Cuando te enseñen a programar en X lenguaje, no lo dejes ahí, sigue haciendo cosas por tu cuenta. Cualquier bobada que se te ocurra. Hay libros de ejercicios a montones. Cuando tengas cierto nivel puedes incluso aportar tu granito de arena a proyectos de código abierto y así, poco a poco, mejorarás muchísimo y además te harás un buen currículum. Cuando controles un lenguaje, intenta hacer lo mismo en otro. Aprende metodologías de desarrollo diferentes. Mira que es lo que usan las buenas empresas e intenta aprender las mismas técnicas. En definitiva, no esperes. Si quieres ser buen programador tienes que ser una persona activa, no hay otra forma.
Así que ni lo dudes. Entra en la carrera. Estudia, programa y dale caña. No te quedes haciendo el tonto como muchos otros que acaban la carrera y no saben casi nada.