Quali corsi di matematica dovrei seguire per preparare un master CS o un dottorato di ricerca?


10

Sono un programmatore professionista autodidatta. Sono abbastanza bravo a farlo (Ruby, Unix, Clojure, Java, Objective-C), ma ora sto pensando di portarlo al livello successivo, magari facendo domanda per un master o un dottorato in CS. Quali argomenti di matematica dovrei studiare per prepararmi a questo obiettivo?




1
Se vai freddo, con poco o nessun accademico alle spalle, il mio consiglio sarebbe di selezionare un programma che fornisca un percorso di ingresso per persone non CS. Non è raro che le persone con EE, fisica, matematica o altri titoli di studio simili desiderino fare un cambiamento di carriera. Alcune università hanno programmi progettati per facilitare ciò nelle loro strutture del corso.
Novak,

Risposte:


10

C'è un corso al MIT OCW chiamato Mathematics for Computer Science , che elenca alcuni argomenti che DEVI trattare .

Imparare un po 'di algebra astratta sarà un grande vantaggio. Perché vedo troppi riferimenti alla teoria dei gruppi in letteratura.


3
dang. ho dimenticato l'algebra astratta nella mia risposta - buona chiamata.
Suresh Venkat,

1
Nella versione autunnale 2005 collegata sopra manca circa 1/3 delle note della lezione. Le versioni Primavera 2005 e Primavera 2010 hanno note più complete.
Daniel Apon,

13

Un livello generalmente elevato di maturità matematica rende molto più comprensibili molti aspetti formali dell'informatica (non necessariamente teorica). Quindi fare un minore in matematica insieme al tuo specialista in informatica farebbe più bene che male.


11

Algebra lineare, teoria della probabilità, teoria dei grafi / combinatoria al minimo indispensabile.


7

Alcune cose di cui potresti aver bisogno, altre ancora, altre meno:

  • Logica matematica
  • Teoria della probabilità / Combinatoria / Statistica
  • Algebra lineare
  • Calcolo
  • Teoria dei grafi
  • Insiemistica
  • Teoria dei numeri
  • Forse una teoria dell'ottimizzazione

Naturalmente (quasi) qualsiasi cosa sarà utile, specialmente se stai andando in campi teorici dell'informatica.


4

Tutte le altre risposte + ...

Probabilmente la cosa più utile da provare e da fare è impegnarsi nella ricerca. In seguito a stackexchange, leggere materiale / documenti di base e capire cosa potresti trovare interessante potrebbe essere il modo più efficace per prepararti alla scuola di specializzazione.


2

risposte eccellenti / ampie finora. Suggerisco alcune classi non menzionate finora. esp classi che si inclinano verso l'applicazione della teoria e richiedono allo studente di scrivere / eseguire il debug del codice e visualizzare [risultati del grafico] come parte dei compiti. o costruire / eseguire il debug di sistemi di lavoro. eccetera.

  • equazioni differenziali. esp la relazione tra esso e le equazioni differenziali discrete, ad esempio la generazione di funzioni.
  • metodi numerici. ottimizzazione. Runge Kutta diffeq solver ecc. Un esercizio pulito / altamente educativo è di risolvere / rappresentare graficamente l'equazione del tempo di Lorentz. concetti di precisione / accuratezza nell'aritmetica del software, ecc.
  • esiste una classe MIT "modellistica e simulazione di sistemi dinamici". qualcosa di simile non sarebbe disponibile in tutte le università, ma forse alcuni lo avranno.
  • alcune università avranno principi / dinamiche di sistemi complessi o sistemi adattativi complessi ecc
  • tutto ciò che riguarda la modellazione o la simulazione di sistemi che utilizzano software con un focus matematico
  • sistemi frattali e matematica
  • apprendimento automatico (esp con tecniche di discesa gradiente)
  • computazione quantistica (alcune classi sono altamente matematiche o prevalentemente matematiche)

1

Ottima domanda Di recente ho superato l'esame di dottorato che era in parte un esame di ammissione - mix di argomenti universitari e laureati.

Per essere pratico, dipende dalla scuola che stai pianificando di frequentare, dal tipo di esame di ammissione che potrebbero richiedere e dal tipo di programma che offrono.

Alcuni richiedono GRE, quindi prepararsi all'iscrizione non è specifico per CS. Alcuni richiedono una materia GRE, che equivale a 5-6 corsi di laurea triennale di base e la teoria sarà coperta (teoria degli automi, matematica discreta, ecc.)

Per ottenere il background più fondamentale, prenderei la matematica discreta, gli algoritmi e la teoria del calcolo da Ad Uni .

Ci sono altre fantastiche fonti del MIT e di Stanford, ma questi tre corsi, presentati dal grande Shai Simonson, sono eccellenti basi.

Spero che sia di aiuto.


Uno di questi corsi si riflette su YouTube: Teoria del calcolo . Sfortunatamente, i mirror per Algorithms e Discrete Math sono incompleti.
Jeffε

1

Sostengo davvero le risposte sopra. Posso aggiungere quanto segue che può essere utile per il quadro generale della matematica in CS:

La matematica può far parte dell'obiettivo stesso; analisi algoritmica, limiti di complessità, prove deterministiche o probabilistiche, algoritmi paralleli e molte altre aree di ricerca relative al tempo e allo spazio di calcolo.

Dall'altro lato, la matematica può essere il percorso effettivo per un obiettivo di livello superiore; PDE, equazioni di luce per la computer grafica, l'intera area di ricerca della fisica computazionale (sistemi dinamici, meccanica statistica, formazione di galassie) per citarne alcuni.

Nelle giuste circostanze, entrambe le forme di matematica potrebbero vivere insieme.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.