Math Major vuole diventare un Software Engineer [chiuso]

6

Io sono un matematico maggiore, quale sarebbe il miglior campo di informatica / ingegneria informatica per me, dove potrei applicare le mie competenze che ho usato come matematica maggiore (cioè Algebra lineare, Analisi reale, Teoria dei numeri , Analisi numerica, ecc ...)

    
posta Justin 02.08.2011 - 03:23
fonte

5 risposte

8

Anch'io ero un matematico maggiore e ora sono un ingegnere del software. Se vuoi andare sul campo, la maggior parte delle università ha determinati prerequisiti che vogliono che i matematici prendano in aggiunta ai corsi CS richiesti. Di solito vogliono un corso di Algoritmi (perché Discrete non conta non lo so), un corso di strutture dati e un corso di teoria dei sistemi operativi. In ogni caso, una percentuale molto alta di posti di lavoro disponibili non richiede competenze direttamente correlate alla matematica superiore. Tuttavia, le applicazioni che ho visto che sono pesanti sulla Matematica sono in genere correlate in qualche modo alla grafica.

Controlla questo libro. Ci ho lavorato per divertirmi ed è abbastanza buono per capire come funzionano DirectX, Cairo e Open GL.

link

Inoltre, gli algoritmi di codifica audio / video sono pesanti su Matematica. Di solito, tutto è stato astratto per te, e non puoi fare cose divertenti. È comunque divertente provarlo.

Infine, i sistemi embedded e i motori db tipicamente sono buoni per i ragazzi di Matematica perché l'efficienza del tuo algoritmo inizia effettivamente a essere importante. Nella maggior parte di tutto il resto, la forza bruta vince il giorno.

Dove la tua laurea in matematica ti aiuterà di più è nel tuo approccio ai problemi e alle capacità di pensiero critico.

A volte vorrei poter essere solo una mosca sul muro di At & Bell labs, MIT e Berkeley quando stavano creando tutti gli attuali livelli di astrazione, cioè TCP / IP, Linguaggi di programmazione, Librerie standard, ma ahimè, sono arrivato troppo tardi al gioco per divertirmi davvero.

P.S. L'altra cosa bella dell'essere un matematico nel campo CS è che hai sempre quegli aha! momenti in cui ti rendi conto che cose come la modellazione di una rete sono semplicemente un problema di teoria dei grafi. È come i ponti di Konigsberg in binario! Quindi scrivi un sistema NAT traversal molto interessante che è già stato scritto dal team di GNU Linux, ma a chi importa che ti sia piaciuto?

Anche i problemi della teoria degli anelli di modellazione di Ooh sono divertenti. Comunque, ottieni l'immagine. La maggior parte della matematica che ho usato è stata per un hobby. Di tanto in tanto potresti usare un piccolo calcolo lambda e un big-O, questo è tutto.

    
risposta data 02.08.2011 - 03:47
fonte
3

Benvenuto alla festa .

La programmazione viene applicata solo su basi matematiche ... Praticamente ogni linguaggio di programmazione ha la matematica al centro. Cercano quindi di astrarre il programmatore da questo punto di partenza verso un'implementazione specifica / mirata per esigenze adeguate.

  • C # / Java / VB ottimizzano per l'interazione generale uomo / rete nel caso aziendale
  • I database query sono una implementazione pratica di un diagramma di Venn. Quindi puoi fare molte analisi per tutti i tipi di cose.
  • I linguaggi di stile Lisp si concentrano su set di file e elaborazione basata su elenchi

Ecc. Al loro centro finiscono per incanalare i fattori di 8 bit attraverso una CPU che applica una delle poche funzioni matematiche per produrre un risultato. Quando funziona bene, l'intero computer può essere visto come una danza della matematica in continuo cambiamento.

I progetti su cui abbiamo lavorato includono:

  • Aziende di ricerca clienti . Abbiamo sviluppato un'applicazione in collaborazione con i ragazzi per prendere le liste dei clienti, abbinarle ai dati del censimento e capire chi sono i loro clienti ... quindi dove i loro clienti esistono in altre città.
  • Analisi di strumentazione medica . Un altro nostro cliente monitora i dati dai dispositivi 24 ore su 24, 7 giorni su 7, il software esegue un algoritmo predittivo per determinare quando devono ricevere un'infermiera al capezzale PRIMA che si verifichi un problema.
  • Ottimizzazione dello spazio dei giornali . Abbiamo scritto un motore live 24/7 che ottimizza le pagine dei giornali per lo spazio pubblicitario. Entrate VS che raccolgono feed di dati da 3 o 4 sistemi sorgente e adattano costantemente il layout per ottimizzare al meglio "lo stato del mondo ora" mentre gli aggiornamenti vengono apportati al pubblicità, trucco del libro, pagine a colori (il costo più alto è una pagina a colori) ecc.
  • Chiamata predittiva del call center per il recupero del debito . Sono disponibili le persone, l'ora del giorno, il volume delle chiamate per effettuare la chiamata, la frequenza media attuale per le chiamate riuscite, il tempo medio di chiamata ... quando il dialer deve iniziare a chiamare per utilizzare al meglio il Orario degli operatori.
  • Routing delle chiamate in entrata nel call center e ottimizzazione dell'operatore . Volume delle chiamate, quantità di operatori disponibili per rispondere alle chiamate, volume medio delle chiamate per lo stesso punto ieri, la scorsa settimana ... schiacciare tutto insieme, abbiamo bisogno di più persone?
  • Apri la mappa stradale . Ogni notte compiliamo la componente australiana della carta stradale Open sui nostri severs. Esistono moltissimi algoritmi e prodotti che possono essere ricavati da questi dati se si conosce il modo migliore per ottimizzare l'itinerario, identificare i dati dell'immagine ecc.

Quindi ... tornando alla tua domanda ...

C'è un campo di applicazione quasi infinito per applicare le tue abilità matematiche ...

  • Un mio amico ha avviato una società che scrive algoritmi che ricercano in profondità i dati di scansione per i depositi di petrolio
  • Altri sono stati programmatori, sono tornati indietro, hanno ottenuto il loro dottorato in statistica e hanno lavorato per luoghi di gioco (di gioco) dove riferiscono direttamente alla direzione su come guadagnare milioni di dollari al giorno
  • Un altro scrive algoritmi predicibili per scommettere sulle fluttuazioni del mercato azionario, a volte hanno anche successo.

Una volta che inizi a pensare a qualsiasi tipo di ottimizzazione o previsione usando (Algebra lineare, Analisi reale, Teoria dei numeri, Analisi numerica) e poi eseguilo in tutti i settori industriali come Assicurazione, Medicina, Immagini, Ricerca, Mappatura, Giornali, Produzione, Marketing ecc e il bit chiave che rende i soldi, e quindi si ottiene pagato ... come posso applicare un algoritmo ad un settore al fine di rimuovere il dolore / sforzo da un gruppo di persone ... si finisce con un sacco di cose che potresti fare.

    
risposta data 02.08.2011 - 09:23
fonte
1

Ci sono molte aree in cui la matematica avanzata viene applicata nell'informatica, ovviamente Google è stata fondata sull'uso della matematica in nuovi modi per gli algoritmi di rilevanza della ricerca. È una domanda piuttosto aperta, ma nella mia esperienza ho visto l'uso della matematica avanzata nella modellazione e interpretazione di sismica 3D / produzione nel settore del petrolio e del gas.

Sembra che il cloud computing / hosting possa essere anche un'area nuova e interessante per applicare matematica avanzata per ottimizzare l'uso delle risorse virtuali utilizzando la matematica per prevedere le esigenze delle risorse basate su modelli stocastici.

L'esplosione del networking e la capacità di elaborare dati ampi e diversificati rendono l'area di ricerca medica un terreno fertile come Sergey Brin (vedi sopra) è ora impegnato per la ricerca sul Parkinson: Ricerca di Sergey .

Molto probabilmente per l'uso della matematica che non è su un terreno ben battuto, dovrai guardare le entità coinvolte nella ricerca e nell'ingegneria scientifica.

    
risposta data 02.08.2011 - 03:52
fonte
0

Non direi che sono le abilità matematiche dirette che ti renderanno vincente nel campo CS, ma più che altro la passione analitica, che risolve i problemi con un tocco tecnico e CS.

Quindi il cielo è il limite.

Se lo ami, avrai successo con esso.

    
risposta data 02.08.2011 - 03:44
fonte
0

Non penso che nessuno qui possa dirti cosa ti interessa. Non fare qualcosa che ti interessa non andrà a buon fine per te o per i potenziali datori di lavoro. Non sono sicuro di quanto lungo sei nei tuoi studi, ma ti consiglierei di esaminare il minatore in qualcosa come l'informatica o l'ingegneria del software - questo ti darebbe una base per iniziare. Anche un programma di laurea in entrambi i campi non è fuori questione.

Se sei interessato al respiro e alla profondità dell'informatica e dell'ingegneria del software, Wikipedia fornisce una buona lista di argomenti di ingegneria del software e argomenti di informatica . Un elenco più formale di argomenti può essere trovato all'interno del Sistema di classificazione di ACM Computing .

    
risposta data 02.08.2011 - 03:37
fonte

Leggi altre domande sui tag