Algebra booleana encontrarás tutoriales a patadas. Con todo, indicarte que en realidad para programar en principio con que sepas lo "básico" te vale. Es decir: Las propiedades asociativas, tablas de verdad, etc. Te lo comento porque el algebra booleana es mucho mas amplia, y desde luego para iniciarte en programación esa parte si que es importante, pero otras como por ejemplo las tablas de Karnaught, algoritmos de Quine–McCluskey etc... pueden ser interesantes mas adelante, pero no hacen falta. Básicamente saber lo que es una tabla de verdad y como manejarla. Eso es imprescindible porque las instrucciones de control de todos los lenguajes hacen uso de esas estructuras (And, OR, XOR, etc...)
El resto... busca en Youtube cursillos simples. No es que necesites grandes conocimientos para iniciarte en programación, pero si al menos y que se me perdone la cafrada "Dintinguir entre la RAM y el disco duro" por decir algo.
Luego es iniciarse en algún lenguaje. Ojo que digo "iniciarse" para ir "rompiendo mano". A día de hoy no hay lenguajes "pequeños", y te adelanto que no creo que nadie (lo mismo alguien por ahí, pero pocos) se conoce todo lo que puede hacer un lenguaje
Phyton por ejemplo se considera "sencillo" a pesar de que también admite programación orientada al objeto (mas compleja que la imperativa) tiene "por tener" hasta manejo de excepciones Ya si hablamos de lenguajes como C++ o Java, tienen literalmente cientos de librerías, cada una de ellas con montones de "cosas"
Para que te hagas una pequeña idea, la API de Java
http://docs.oracle.com/javase/8/docs/api/O la de C++
http://www.cplusplus.com/reference/La gente "aprende a programar", y usa las librerías que necesita. No se lo ocurre a nadie "aprenderse de memoria" todas las librerías, solo el "núcleo" del lenguaje, y luego consulta la documentación para saber como manejar cada librería.
La librería "estantar" de Phyton
https://docs.python.org/3/library/index.htmlLos "paquetes" adicionales de Phyton
https://pypi.python.org/pypi?%3Aaction=browse"Solo" a día de hoy unos 116.558 paquetes. ¿Alguien los conoce todos?... no, se usan los que necesitas, y listos
Luego quizás te interesen otras cosas, hay lenguajes específicos para aplicaciones concretas. Por ejemplo Javascrip, PHP y otros que son para usar en páginas web y cosas por ese estilo