Soy un programador autodidacta. Sinceramente, no soy bueno en matemáticas. ¿Qué consejo puede dar para mejorar mis habilidades matemáticas para que no sea tan inseguro con mis compañeros programadores? ¿Cuáles son los pasos o pautas que puede recomendar para mejorar mis habilidades matemáticas?
¿Existe un libro que sea el estándar de facto para describir las mejores prácticas, metodologías de diseño y otra información útil sobre matemáticas para programadores? ¿Qué hay de ese libro que lo hace especial?
Respuestas:
Hmm, por lo que dices parece que quieres comenzar muy básico. No hay nada malo en eso, hice lo mismo. Mis matemáticas eran principalmente de secundaria y muchas de ellas olvidadas.
Comience con Khan Academy , vaya a la sección de práctica y vea hasta dónde puede llegar. Esto le dará una buena idea de lo que puede hacer y dónde comenzar a aprender.
No te molestes en ver los videos. Al menos para mí, los videos son solo una forma lenta de aprender y los de Khan son muy aburridos. Hay muchos otros recursos para aprender matemáticas básicas. Al igual que algunos de los WikiBooks o ck-12
La pregunta se discute en Math.StackExchange con la frecuencia suficiente y la búsqueda de 'recursos gratuitos' o 'libros gratuitos' le brindará mucha información y material. Lo mismo ocurre con los términos de búsqueda como 'inicio' o 'principiante'. O haga su propia pregunta allí. Eso también funciona en la subsección / r / math en reddit. Allí encontrará más subreddits, por ejemplo, para aprender matemáticas.
Practica mucho. No es suficiente simplemente entender un concepto y luego pasar al siguiente. Debes sentirte cómodo para aplicarlo. No comprenderá los porcentajes si no se siente cómodo con la división y la multiplicación (como ejemplo). Eso también es cierto para los conceptos superiores. Es por eso que para mí la sección de práctica en Khan es mucho más valiosa que los videos.
Al igual que con la programación, mantenerse en contacto con la comunidad lo mantendrá motivado. Simplemente inicie sesión en algún foro de vez en cuando y lea de qué están hablando las personas.
fuente
Matemáticas concretas: una base para la informática (2ª edición) sería mi elección para un buen libro de matemáticas que cubra diversas áreas de las matemáticas, además de tener algo de humor en el libro que pueda ser útil.
fuente
Las notas en línea de Paul de la Universidad de Lamar vienen en formato PDF. Es muy bueno para una referencia rápida y hay ejemplos en cada página. Si alguna vez quise actualizarme sobre un tema o captar algo, tiendo a volver a este sitio.
Aquí está el conjunto:
Álgebra (Matemáticas 1314): Notas completas
Listado de contenidos
Cálculo I (Matemáticas 2413): separado en
Problemas de asignación
Cálculo II (Matemáticas 2414) Notas completas
Cálculo III (Matemáticas 2415) Notas completas
Álgebra lineal (Matemáticas 2318) Notas completas
Ecuaciones diferenciales (Math 3301) Notas completas
Puede consultar el sitio para ver el resto de los listados de temas.
fuente
Me doy cuenta de que este no es un libro, pero creo que podría ser una buena manera de ampliar su pensamiento sobre las matemáticas. Intenta resolver los problemas del Proyecto Euler .
Por ejemplo, el primero es :
fuente
Siempre recomiendo las Matemáticas discretas de Kenneth Rosen y sus aplicaciones . Cubre muchos temas diferentes (como cualquier buen libro de Discrete Math) con un buen equilibrio de teoría y aplicación. También tiene muchas barras laterales interesantes sobre matemáticos e informáticos que originaron los conceptos cubiertos.
fuente
Si bien leer un libro de matemática discreta 1000 es una buena solución, puede que no sea la ruta óptima si el tiempo es una limitación. Si desea tener una idea de la cantidad de matemática que debe tener sin profundizar, eche un vistazo al apéndice A de la introducción del libro (Algoritmo) de cormen : http://www.acmsolver.org/books/ Introducción% 20to% 20Algoritmos,% 202nd% 20Ed% 20-% 20Thomas% 20H.% 20Cormen.pdf
Leí el apéndice y me dio una mejor idea de qué temas matemáticos debería revisar más. Una vez que sepa qué esperar, eche un vistazo a:
http://www.amazon.com/Journey-into-Mathematics-Introduction-Proofs/dp/0486453065/ref=sr_1_15?ie=UTF8&qid=1308591694&sr=8-15
En mi opinión, aprender a probar (especialmente por inducción) es una piedra angular en la comprensión de los algoritmos de análisis . Desafortunadamente, la mayoría de los algoritmos e incluso los cursos de matemáticas CS no se centran demasiado en la prueba. ya suponen que usted es competente en esto, por lo que no van más allá de unas pocas páginas. El libro Viaje a las matemáticas es muy pequeño y fácil de leer. Utiliza problemas CS y su aspecto matemático también. Otros buenos temas para aprender son la aritmética matricial , la probabilidad , el conteo y la teoría de grafos también.
Los otros dos grandes libros de texto populares: Matemática discreta y su aplicación de EPP (mi favorito) y el otro de Rosen.
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0534359450/ref=sr_1_4?ie=UTF8&qid=1308591784&sr=8-4
http://www.amazon.com/Discrete-Mathematics-Applications-Kenneth-Rosen/dp/0073229725/ref=sr_1_1?ie=UTF8&qid=1308591784&sr=8-1
No tuve el placer de leer el libro de texto titulado " Matemáticas concretas ", pero siempre escuché cosas buenas al respecto.
fuente
Francamente, puedes ser un programador perfectamente adecuado en muchos campos sin un conocimiento fundamentalmente muy fuerte de las matemáticas. Es posible que no sea muy capaz cuando se trata de motores de juegos u optimización de enrutamiento de red, pero a decir verdad, muchas aplicaciones comerciales son bastante simples. Sin embargo, te animo a mantener viva la esperanza y no renunciar a las matemáticas.
Hay un mundo de diferencia entre las matemáticas que tomas en un nivel inferior y las matemáticas que tomas en un nivel superior. Es una cosa muy diferente decir que eres malo en Cálculo (yo era, le fallé a Calc I la primera vez que lo tomé) que decir que eres malo en Graph Theory. A medida que avanza a través de las matemáticas, el enfoque no está en la simple resolución de problemas que es francamente bastante aburrida y repetitiva y que bien podría hacer su calculadora gráfica. En cambio, el enfoque está en las habilidades de pensamiento lógico: construir pruebas es francamente muy parecido a escribir software.
La mejor clase de matemática que tuve fue la que consideré mi primera clase de matemática "real": básicamente, una clase de introducción a las pruebas que cubría un rango de áreas desde la teoría de gráficos hasta la teoría de números. El texto que utilizamos fue excelente ( Pensamiento matemático: resolución de problemas y pruebas de D'Angelo y West ). Puede que le resulte útil trabajar en ese libro para obtener algunas ideas para atacar las pruebas.
En general, ¿realmente necesitaba algo de las matemáticas que tomé en la universidad? No, probablemente no. Pero tener algunos antecedentes formales me dio mejores habilidades de pensamiento crítico, una mejor imaginación (generalmente hay muchas formas de resolver un problema, a veces bueno, a veces malo, pero una idea única puede ser útil) y confianza en la resolución de problemas.
fuente
Mire, soy bueno en matemáticas, pero realmente no lo uso para programar, y programo bastante. Mi consejo sería simplemente acostumbrarse a no saber lo suficiente y que alguien haga los cálculos por usted.
Hay tantas cosas que debes saber que no puedes esperar ser bueno en todas ellas, pero las matemáticas en particular no son muy útiles.
Por supuesto, es posible que lo necesite porque sus programas son algo científico, de lo contrario, use ese tiempo para aprender algo más útil.
fuente
Mirar las notas del curso de algunos de los cursos (para principiantes) de la sección "Lógica y Computación" de ESSLLI (como ejemplo, el próximo programa 2011 o el programa 2010 , busque más) puede ser interesante. Le dará una impresión sobre los desarrollos teóricos actuales en el campo relacionado con la programación. Entonces puede decidir estudiar más profundamente los fundamentos en un determinado subcampo tocado en esos cursos.
(De lo contrario, es difícil responder a su pregunta, hay muchas "matemáticas" diferentes, que tal vez no necesite o no le interesen. Una razón por la cual los cursos de ESSLLI pueden resultar interesantes para nosotros es porque reflejan algo actual investigación, por lo que tratan de resolver ciertos acertijos; y tratar de resolver cierto acertijo es un componente importante en el proceso de una comprensión real de una teoría, de comprender qué es lo interesante detrás de ella).
fuente
Si estás estudiando matemáticas CS correctamente, entonces estás mirando cosas como la lógica matemática y la teoría de conjuntos. Estos tienen algunas matemáticas bastante complicadas que los apoyan. Por lo tanto, si su nivel básico de matemáticas es un poco complicado, entonces es mejor comenzar con los fundamentos, antes de pasar a las áreas más relacionadas con CS.
Por lo tanto, sugeriría que comience con las Matemáticas de Ingeniería de KA Stroud . Bien escrito, fácil de seguir y cubre los conceptos básicos, así como cosas más avanzadas.
fuente
Comience con los fundamentos y luego continúe con los especializados: Deleite matemático y Cómo resolverlo son dos grandes libros para comenzar. Mathematician's Delight aborda temas matemáticos fundamentales (por ejemplo, geometría, álgebra, cálculo, etc.) de una manera divertida y amigable para los humanos. Todavía no he leído Cómo resolverlo, pero se centra en cómo atacar los problemas matemáticos mediante el razonamiento.
fuente