¿Qué tipo de matemática debo esperar para ingresar a una especialización en informática?

La teoría de grafos, las matemáticas discretas, la teoría de probabilidad, el álgebra lineal forman un núcleo para todos los cursos de pregrado.

Estudiar problemas algorítmicos requiere una gran base en la teoría de grafos para comprender incluso los enunciados del problema.

La teoría de la probabilidad está en todas partes, ya que la informática es como la mecánica cuántica, todo está borroso todo el tiempo, errores en todas las observaciones, cantidades desconocidas …

Las matemáticas discretas son divertidas y permiten soluciones innovadoras para todo tipo de problemas.

El álgebra lineal se necesita un poco más en el futuro, especialmente en la escuela de posgrado. Las áreas de aprendizaje automático / IA y gráficos dependen en gran medida del álgebra lineal.

Estos forman el núcleo de todas las clases de pregrado. Para cursos más avanzados, álgebra abstracta, teoría de optimización, métodos numéricos, ecuaciones diferenciales.

Me estoy emocionando simplemente escribiendo esto.

Los estándares han cambiado mucho, y no hay nada que imponga estándares curriculares, excepto en los programas acreditados por ABET. Hay muchas escuelas de EE. UU. Que ofrecen un BA CS. Los requisitos comunes para eso son un semestre de cálculo y un semestre de discreto (que cubrirá la lógica y la teoría de grafos). Recomiendo a todas las personas (independientemente de su especialidad) que tomen un curso prob / stat, y es posible que se requiera uno.

Un BS CS típicamente agregará al menos otro semestre de calc y probablemente matrices / álgebra lineal.

En el otro extremo del espectro, todavía hay programas combinados de EECS o Ciencias de la Computación e Ingeniería que requerirán calc I, II y III, y ecuaciones diferenciales.

Algunos cursos específicos de la división superior pueden requerir más matemáticas, pero es muy probable que el curso cubra las matemáticas necesarias.

A medida que CS madura, nuestras necesidades de matemática cambian: diferentes partes del campo requieren diferentes tipos de matemática. Por ejemplo, para HCI, debe tomar un curso de métodos de investigación cuantitativa de ciencias sociales o cognitivas, pero no lo necesita para estudiar compiladores. Del mismo modo, la teoría de números es crítica para el cifrado, pero el cifrado ya no se enseña de forma independiente en el nivel de pregrado, porque incluso aquellos que solo implementan y prueban algoritmos de cifrado tienen al menos un MS CS (o MA o MS en matemáticas, o entraron el campo hace mucho tiempo).

Pero tl: dr tan poco como dos clases: calc y discreto.

Tres pensamientos sobre “Soy malo en matemáticas”.

Primero, la gran mayoría de la gente cree esto. Incluso muchos estudiantes de licenciatura de CS e incluso científicos informáticos con doctorados creen esto. Conozco matemáticos con doctorados en matemáticas que creyeron esto sobre sí mismos durante mucho tiempo. Generalmente, se considera que las matemáticas son la asignatura más pobre, y existe una condición clínicamente reconocida y absurdamente común llamada ansiedad matemática. Cuando enseño lógica booleana a mis alumnos de educación general, tienen éxito, pero cuando les enseño álgebra booleana, fracasan, a pesar de que son lo mismo. Literalmente, la única diferencia es la palabra. El esfuerzo es un predictor mucho más fuerte del rendimiento matemático que el coeficiente intelectual, lo que sorprende a muchos estudiantes brillantes pero perezosos.

En segundo lugar, la noción de que CS es un campo de las matemáticas aplicadas no tiene sentido. Gran parte del campo es tangencial a las matemáticas de cualquier tipo. El trabajo duro y la capacidad creativa son mucho más importantes que cualquier interés o habilidad innata en las matemáticas. Si disfrutas de CS y la programación, encontrarás que puedes superar las matemáticas. Mi habilidad e interés en el lenguaje supera con creces mi habilidad e interés en las matemáticas.

Tercero, no hay un tipo de matemática más que un tipo de estudio de literatura. Obtuve buenas calificaciones como estudiante universitario de inglés, pero eso no significa que tenga un talento particular para escribir poesía (que de manera similar implica una gran cantidad de tiempo y esfuerzo). Lo que se usa en matemáticas depende en gran medida de la perspectiva. No enseño pruebas en mis clases de IA (esto es herejía para algunos) porque estoy ocupado enseñando IA.

¡Buena suerte!

Realmente depende del campo de Ciencias de la Computación que le interese. Pero una especialización CS probablemente incluiría algo de álgebra lineal , teoría de grafos , matemática discreta , cálculo, teoría de probabilidad y lógica de primer orden . Si se ocupa del aprendizaje automático, también se encontrará con el análisis convexo, mientras que la visión por computadora y más cursos orientados a EE requerirán también algunos conocimientos del análisis de Fourier.

(He marcado en negrita los temas más útiles / frecuentes)

Creo que la mayoría de los cursos de CS comienzan con lógica matemática , combinatoria, teoría de grafos y teoría de la probabilidad . Una vez que los domine, podrá hacer la mayoría de las matemáticas involucradas en algoritmos y estructuras de datos, sistemas operativos, compiladores, etc. Luego, aprenderá Álgebra lineal y Teoría de grupos , Geometría y Cálculo. Estas materias lo ayudarán en áreas como Gráficos por computadora, redes de computadoras, etc. También podría tener cursos de cálculo multivariante que es muy útil en áreas “candentes” como el aprendizaje automático o la visión por computadora.

¡Todo lo mejor!

PD: Si eres bueno en programación, no te digas que eres malo en matemáticas. ¡Tu no eres!

A nivel de pregrado, la matemática primaria requerida se enseña en Matemática discreta. La mayoría de las universidades requieren al menos a través del plan de estudios de cálculo, pero por lo que puedo decir, es para exponerse a algunas pruebas de luz y proporcionar algunos ejemplos cuando tomas matemáticas discretas y álgebra lineal.

En niveles superiores, necesitará estadísticas para poder mostrar de manera sólida el rendimiento de su cosa frente a otra cosa, y algunos subcampos requieren más.

Los gráficos requieren un mínimo de álgebra lineal y cálculo para simulaciones físicas, el aprendizaje automático requiere aún más probabilidad y estadísticas y algo de teoría de gráficos, la base de datos requiere estadísticas no paramétricas (al menos lo uso bastante). La investigación de algoritmos utiliza mucho la teoría de grafos, junto con casi todo si las matemáticas pueden tenerlas en sus manos.

Sin embargo, uno de los beneficios de una educación matemática sólida es la capacidad de razonar lógicamente y encontrar los aspectos centrales de un problema y abstraer los problemas que no importan. Eso siempre es útil en informática.

En mi humilde opinión, el conocimiento de matemáticas es importante para un programador solo si el dominio para el que está programando requiere experiencia, como escribir software de contabilidad, software de ingeniería, procesamiento de imágenes, etc. Dejaré que otros respondan sobre esas áreas específicas de matemáticas. (Con suerte, alguien explicará sobre el aprendizaje de la lógica BOOLEAN como requisito).

Sin embargo, los rasgos mentales más importantes que vi necesarios para el éxito como programador fueron:

1 la capacidad de dividir una operación en una secuencia de pasos discretos

2 la capacidad de anticipar cada posible rama de resultados para cada acción, y cómo manejar cada

3 la capacidad de discernir qué podría salir mal en cualquier parte de la operación del programa, y ​​cómo manejarlo

4 relacionado con el n. ° 3, la capacidad de pensar como un usuario del software (no como el que lo escribió), para hacer que la interfaz sea lo más fácil de usar posible e inmune a los ‘Errores estúpidos del usuario’. (Confía en mí, la gente puede ser muy creativa en su mal uso del software)

5 no es absolutamente necesario, pero ciertamente es bienvenido , la capacidad de estructurar el programa de una manera clara y lógica, para que otros que mantienen el código puedan hacer cambios o corregir errores más fácilmente.

A2A.

Cualquier informático debe saber: probabilidad , matemática discreta y lógica y teoría de conjuntos . En los EE. UU., Existe una regulación cero para los cursos que los estudiantes deben tomar, excepto las instituciones acreditadas por la ABET para la computación. La mayoría de las escuelas ofrecen su propia versión de en qué consisten los cursos de CS y las líneas se difuminan aún más si entras en el argumento de qué tipo de cursos de Matemáticas debe aprender un estudiante. No obstante, creo que los tres cursos anteriores son importantes o están estrechamente relacionados con la informática y, bueno, el cálculo no es más que un requisito general para los informáticos, aunque no hay mucha aplicación en los temas de CS de nivel superior.

Mejor.

Matemáticas discretas es la mejor opción para mayores de CS. Mi escuela requería 2 clases de cálculo y 21 horas de matemáticas, así que hice el extra de 9 y me gradué con una doble especialización. Ahora, ¿cuánto de eso usé?

Una integral en estructuras de datos, para el análisis de algoritmos. Eso es. Así que quédate con las matemáticas discretas a menos que te guste el cálculo.

Sugeriría probabilidad y álgebra lineal. El aprendizaje automático, la inteligencia artificial y la visión dependen en gran medida de esto.