Toda base matemática, sem tirar nada. Tem que entender a matemática no seu fundamento, de como os números funcionam, a relação entre eles, como pode manipulá-los, como tem consequências no que faz, como faz composições para obter resultados. além de saber os conceitos que são, ou deveriam ser, ensinados na escola, como aritmética, álgebra, conjuntos (em geral a escola ensina menos do que deveria ou que é necessário para a programação), regra de 3, equações, análise combinatória, funções, vetores, notações, só para citar o mais importante e não entrando em outros conceitos da ciência que são necessários para entender bem a matemática.
A programação exige muita lógica. Não é lógica de programação, é lógica, que é matemática em sua essência. Em programação manipula-se dados, numéricos e em outros formatos, em geral em grandes volumes, inclusive classificando-os, então tem que ser bom nisso, não tem como escapar. Em programação você cria fórmulas o tempo todo. Fórmulas que, se tudo correr bem, não existiam antes, você criará. Eu costumo dizer que se está usando só coisas prontas não está programando, está brincando de Lego, que também exige matemática, até para uma criança. Se você acha que não é assim, você não entendeu o que é matemática. Comece correr atrás do prejuízo.
Precisa decorar fórmulas? Precisa saber aquelas coisas avançadas, precisa daquela coisa chamada cálculo? Não precisa para quase tudo o que for realizar. Mas precisará para alguns domínios específicos. Alguns que pessoas gostam muito ou entram em moda, como jogos e IA.
Dá para ir fazendo gambiarras, ficar recorrendo a outras pessoas para ajudar porque não sabe matemática? Sim, dá, muita gente trabalha na área assim. Acha que algum deles consegue vagas facilmente e ganha bem?
Programação é matemática, ambos existem para dar soluções para problemas, e em programação em domínios mais diversos com dados mais complexos que a matemática. Se não gosta ou não se dá bem com isso, foge! Quem acha que não precisa de matemática para programar é um lunático. Falo isso com absoluta tranquilidade.
Comunicação e expressão, além de ciência, já falada, também é necessário. Menos, mas é. Você usa uma linguagem o tempo todo. Se usa na intuição e não entende o porquê de tudo, até do espaço em branco que usou, você está fazendo gambiarra, mesmo que ache que não está. Isso é a definição de gambiarra.
A faculdade não pode exigir nada que não tenha sido ensinado antes. Mas ela pode exigir tudo o que deveria ter sido ensinado até o ensino médio, ela não tem a obrigação de consertar o erro que a escola cometeu com você (se ela deu um certificado e você não sabe, é culpa dela). Álgebra booleana, ou relacional, teoria dos tipos, autômatos, algoritmo, estrutura de dados, e uma série de outras coisas você verá pela primeira na faculdade, se não procurar antes, o que não precisa, mas algumas pessoas gostam.
Faz sentido?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).