Prueba Smalltalk para empezar, aquí tienes un manual:
http://www.canol.info/books/computer_programming_using_gnu_smalltalk/Instalando todos los paquetes que tengan "smalltalk" como nombre en Synaptic ya tienes todo :)
Para las matemáticas, puedes aprender matemáticas discretas (conjuntos y lógica, perfectas para programación)
http://giam.southernct.edu/GIAM/Son en inglés, pero si conoces un mínimo el idioma no tendrás problemas en leerlos.
Saludos.