Quels cours de mathématiques dois-je suivre pour préparer un master CS ou un doctorat?


10

Je suis un programmeur professionnel autodidacte. Je suis assez bon dans ce domaine (Ruby, Unix, Clojure, Java, Objective-C), mais maintenant je pense à passer au niveau supérieur en postulant peut-être pour un programme de maîtrise ou de doctorat en CS. Quels sujets en mathématiques dois-je étudier pour me préparer à cet objectif?




1
Si vous allez dans le froid, avec peu ou pas d'universitaires derrière, mon conseil serait de sélectionner un programme qui offre un chemin d'entrée pour les non-CS. Il n'est pas rare que les personnes titulaires d'un diplôme d'EE, de physique, de mathématiques ou d'autres diplômes BS similaires souhaitent changer de carrière. Certaines universités ont des programmes conçus pour faciliter cela dans leurs structures de cours.
Novak

Réponses:


10

Il y a un cours au MIT OCW appelé Mathématiques pour l'informatique , il répertorie certains sujets que vous DEVEZ couvrir .

Apprendre l'algèbre abstraite sera un gros plus. Parce que je vois trop de références à la théorie des groupes dans la littérature.


3
dang. oublié l'algèbre abstraite dans ma réponse - bon appel.
Suresh Venkat

1
La version d'automne 2005 liée ci-dessus manque environ 1/3 des notes de cours. Les versions printemps 2005 et printemps 2010 contiennent des notes plus complètes.
Daniel Apon

13

Un degré généralement élevé de maturité mathématique rend beaucoup plus faciles à comprendre nombre des aspects formels de l'informatique (pas nécessairement théorique). Donc, faire une mineure en mathématiques avec votre majeure en informatique ferait plus de bien que de mal.


11

Algèbre linéaire, théorie des probabilités, théorie des graphes / combinatoire au strict minimum.


7

Certaines choses dont vous pourriez avoir besoin, d'autres plus, d'autres moins:

  • Logique mathématique
  • Théorie des probabilités / combinatoire / statistiques
  • Algèbre linéaire
  • Calcul
  • La théorie des graphes
  • Définir la théorie
  • La théorie du nombre
  • Peut-être une théorie d'optimisation

Bien sûr (presque) tout sera utile, surtout si vous entrez dans des domaines théoriques de l'informatique.


4

Toutes les autres réponses + ...

On peut dire que la chose la plus utile à faire pour vous est de vous engager dans la recherche. Après l'échange de piles, la lecture de certains documents / documents de base et la détermination de ce qui pourrait vous intéresser pourraient être le moyen le plus efficace de vous préparer à vos études supérieures.


2

excellentes / larges réponses à ce jour. Je suggère quelques cours non mentionnés jusqu'à présent. cours d'esp qui se penchent vers l'application de la théorie et exigent que l'étudiant écrive / débogue le code et visualise [les résultats du graphique] dans le cadre des devoirs. ou construire / déboguer des systèmes de travail. etc.

  • équations différentielles. esp la relation entre elle et les équations différentielles discrètes, par exemple la génération de fonctions.
  • méthodes numériques. optimisation. Runge Kutta diffeq solver etc. un exercice soigné / hautement éducatif consiste à résoudre / représenter graphiquement l'équation météorologique de Lorentz. concepts de précision / exactitude en arithmétique logicielle, etc.
  • il existe une classe MIT "modélisation et simulation de systèmes dynamiques". quelque chose de similaire ne serait pas disponible dans toutes les universités mais peut-être que certains l'auront.
  • certaines universités auront des principes / dynamiques de systèmes complexes ou de systèmes adaptatifs complexes, etc.
  • tout ce qui touche à la modélisation ou à la simulation de systèmes utilisant un logiciel à visée mathématique
  • systèmes fractaux et mathématiques
  • apprentissage automatique (en particulier avec les techniques de descente de gradient)
  • l'informatique quantique (certaines classes dans ce domaine sont hautement ou principalement mathématiques)

1

Grande question. Je viens de passer l'examen de qualification de doctorat qui était en partie un examen d'entrée - mélange de sujets de premier cycle et de cycles supérieurs.

Pour être pratique - cela dépend de l'école que vous prévoyez d'assister, du type d'examen d'entrée dont ils pourraient avoir besoin et du type de programme qu'ils proposent.

Certains nécessitent GRE, donc la préparation à l'inscription n'est pas spécifique à CS. Certains nécessitent un sujet GRE, ce qui équivaut à 5-6 cours de premier cycle CS et la théorie sera couverte (théorie des automates, mathématiques discrètes, etc.)

Pour obtenir le contexte le plus fondamental, je prendrais les mathématiques discrètes, les algorithmes et la théorie du calcul d' Ad Ad Uni .

Il existe d'autres sources fantastiques du MIT et de Stanford, mais ces trois cours, présentés par le grand Shai Simonson, sont une excellente base.

J'espère que cela t'aides.


Un de ces cours est mis en miroir sur YouTube: Theory of Computation . Malheureusement, les miroirs pour les algorithmes et les mathématiques discrètes sont incomplets.
Jeffε

1

je soutiens vraiment les réponses ci-dessus. Je peux ajouter les éléments suivants qui peuvent être utiles pour une vue d'ensemble des mathématiques dans CS:

Les mathématiques peuvent faire partie de l'objectif lui-même; analyse d'algorithmes, limites de complexité, preuves déterministes ou probabilistes, algorithmes parallèles et bien d'autres domaines de recherche liés au temps et à l'espace de calcul.

De l'autre côté, les mathématiques peuvent être le chemin réel vers un objectif de niveau supérieur; PDE, équations lumineuses pour l'infographie, tout le domaine de recherche de la physique computationnelle (systèmes dynamiques, mécanique statistique, formation de galaxies) pour n'en nommer que quelques-uns.

Dans les bonnes circonstances, les deux formes de mathématiques pourraient cohabiter.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.