¡Maravilloso! Enhorabuena por decidirte a quitarle algo de misterio a la informática, y bien hecho por tener ya Linux funcionando.
En este punto creo que podrías querer reducir tu enfoque --- mucho. No te preocupes por las matemáticas; estás muy, muy lejos de necesitar algo más allá de la aritmética básica. Lleva los libros que has comprado a tu mesilla de noche y ojéalos cuando te cueste conciliar el sueño; no intentes leerlos hasta el final. (El tipo de libros que necesitarás al principio tienden a quedar anticuados muy rápidamente, así que incluso los libros de pitones pueden ser demasiado viejos para ser útiles). No son necesariamente una mala inversión, pero son un proyecto que puedes posponer por el momento.
Por ahora, sin embargo, creo que deberías centrarte en la programación. Hasta hace poco recomendaba python como un excelente primer lenguaje, pero mi exposición al lenguaje Processing me ha hecho cambiar de opinión.
Processing.org
Lo que me hizo cambiar de opinión fue este tutorial:
La naturaleza del código
La mayor parte de la diversión con la computación (ciertamente cuando estás aprendiendo por primera vez) es ejecutar un programa que tiene una cierta cantidad de comportamiento complejo, a continuación, hacer un cambio en el código y observar cómo esos cambios de código conducen a un comportamiento diferente. Processing (suponiendo que puedas instalarlo y ejecutarlo) se encarga de todo el trabajo de fontanería, poco interesante, de conseguir que los gráficos aparezcan en la pantalla. El tutorial "Nature of Code" te da pequeños fragmentos de código que hacen cosas interesantes, y es realmente fácil ir y cambiar ese código y ver lo que sucede.
Y si no te importa un poco de teoría de aprendizaje: conseguir un montón de pequeños éxitos de inmediato es realmente importante para aprender a programar. Si trabajas a través de unos pocos tutoriales de Processing vas a conseguir mucha más confianza en que, sí, puedes hacer que el ordenador haga cosas interesantes. Es esa confianza, mucho más que la inteligencia o la habilidad natural, lo que te hace superar los puntos difíciles en el camino.
Así que lánzate, cambia cosas, rompe cosas, y escríbeme cuando estés listo para saltar a tu segundo lenguaje de programación.
¡Buena suerte!