¿Qué cursos de matemáticas debo tomar para prepararme para una maestría o doctorado en CS?

10

Soy un programador profesional autodidacta. Soy bastante bueno en eso (Ruby, Unix, Clojure, Java, Objective-C), pero ahora estoy pensando en llevarlo al siguiente nivel tal vez solicitando un programa de maestría o doctorado en CS. ¿Qué temas de matemáticas debo estudiar para prepararme para este objetivo?

dan
fuente
1
Si va en frío, con poco o ningún académico detrás, mi consejo sería seleccionar un programa que proporcione una ruta de entrada para las personas que no son CS. No es raro que las personas con EE, física, matemática u otras licenciaturas similares quieran hacer un cambio de carrera. Algunas universidades tienen programas diseñados para ayudar a facilitar eso en sus estructuras de cursos.
Novak

Respuestas:

10

Hay un curso en MIT OCW llamado Mathematics for Computer Science , que enumera algunos temas que DEBE cubrir .

Aprender un poco de álgebra abstracta será una gran ventaja. Porque veo demasiadas referencias a la teoría de grupos en la literatura.

Pratik Deoghare
fuente
3
Dang. olvidé el álgebra abstracta en mi respuesta: buena decisión.
Suresh Venkat
1
La versión de otoño de 2005 vinculada anteriormente falta aproximadamente 1/3 de las notas de la conferencia. Las versiones Spring 2005 y Spring 2010 tienen notas más completas.
Daniel Apon
13

Un alto grado general de madurez matemática hace que muchos de los aspectos formales de la informática (no necesariamente teórica) sean mucho más fáciles de entender. Por lo tanto, hacer una especialización en matemáticas junto con tu especialidad en informática haría más bien que mal.

Dave Clarke
fuente
11

Álgebra lineal, teoría de probabilidad, algo de teoría de grafos / combinatoria como mínimo.

Suresh Venkat
fuente
7

Algunas cosas que puede necesitar, algunas más, otras menos:

  • Lógica matemática
  • Teoría de probabilidad / combinatoria / estadística
  • Álgebra lineal
  • Cálculo
  • Teoría de grafos
  • Teoría de conjuntos
  • Teoría de los números
  • Quizás alguna teoría de optimización

Por supuesto (casi) cualquier cosa será útil, especialmente si está entrando en campos teóricos de informática.

Jorge
fuente
4

Todas las otras respuestas + ...

Podría decirse que lo más útil para que intente hacer es investigar. Después de stackexchange, leer algunos materiales / documentos de antecedentes y descubrir lo que puede resultar interesante puede ser la forma más efectiva de prepararse para la escuela de posgrado.

Sariel Har-Peled
fuente
2

excelentes / amplias respuestas hasta ahora. Sugiero algunas clases no mencionadas hasta ahora. clases de ESP que se inclinan hacia la aplicación de la teoría y requieren que el estudiante escriba / depure código y visualice [resultados de gráficos] como parte de las tareas. o construir / depurar sistemas de trabajo. etc.

  • ecuaciones diferenciales. especialmente la relación entre ella y ecuaciones diferenciales discretas, por ejemplo, funciones generadoras.
  • métodos numéricos. mejoramiento. Runge Kutta diffeq solver, etc. un ejercicio ordenado / altamente educativo es resolver / graficar la ecuación meteorológica de Lorentz. conceptos sobre precisión / exactitud en aritmética de software, etc.
  • hay una clase MIT "modelado y simulación de sistemas dinámicos". Algo similar no estaría disponible en todas las universidades, pero tal vez algunos lo tengan.
  • Algunas universidades tendrán principios / dinámicas de sistemas complejos o sistemas adaptativos complejos, etc.
  • Todo lo relacionado con el modelado o la simulación de sistemas que utilizan software con un enfoque matemático.
  • sistemas fractales y matemáticas
  • aprendizaje automático (especialmente con técnicas de descenso de gradiente)
  • computación cuántica (algunas clases en esto son altamente o principalmente matemáticas)
vzn
fuente
1

Gran pregunta Hace poco aprobé el examen de calificación de doctorado, que en parte era un examen de ingreso, una combinación de temas de pregrado y posgrado.

Para ser práctico, depende de la escuela a la que planea asistir, el tipo de examen de ingreso que puedan requerir y el tipo de programa que ofrecen.

Algunos requieren GRE, por lo que prepararse para inscribirse no es específico de CS. Algunos requieren asignaturas GRE, lo que equivale a 5-6 cursos básicos de pregrado CS y la teoría estará cubierta (teoría de autómatas, matemáticas discretas, etc.)

Para obtener los antecedentes más fundamentales, tomaría Matemáticas discretas, algoritmos y teoría de la computación de Ad Uni .

Hay otras fuentes fantásticas del MIT y Stanford, pero estos tres cursos, presentados por la gran Shai Simonson, son una base excelente.

Espero que esto ayude.

Edmon
fuente
Uno de estos cursos se refleja en YouTube: Teoría de la computación . Desafortunadamente, los espejos para Algoritmos y Matemática discreta están incompletos.
Jeff el
1

Realmente apoyo las respuestas anteriores. Puedo agregar lo siguiente que puede ser útil para el panorama general de las matemáticas en CS:

Las matemáticas pueden ser parte de la meta misma; análisis de algoritmos, límites de complejidad, pruebas deterministas o probabilísticas, algoritmos paralelos y muchas más áreas de investigación relacionadas con el tiempo y el espacio de cómputo.

Por otro lado, las matemáticas pueden ser el camino real para un objetivo de nivel superior; PDE, ecuaciones de luz para gráficos por computadora, toda el área de investigación de física computacional (sistemas dinámicos, mecánica estadística, formación de galaxias) para nombrar algunos de ellos.

Bajo las circunstancias correctas, ambas formas de matemáticas podrían vivir juntas.

labotsirc
fuente