Pure vs Applied Math For Programmers [chiuso]


13

La matematica è sempre stata la mia passione in quanto ho sempre trovato facile l'argomento. L'informatica è il mio secondo amore, però. Data la scelta, preferirei specializzarmi in matematica. Dato che le uniche carriere in cui si vorrebbe frequentare un corso di laurea in matematica non sono affatto allettanti, sarei molto contento di passare le mie giornate come sviluppatore di software.

La mia domanda è questa: quale disciplina matematica trarrebbe maggiori benefici da un futuro programmatore? Matematica applicata o matematica pura?

Mi piace insegnare a me stesso e sono fiducioso di poter insegnare a me stesso come essere un grande programmatore, ma ho ancora intenzione di ottenere un minore in CS!


16
Se hai sempre trovato la matematica "facile", suppongo che non sia ancora arrivato abbastanza lontano.
Marco C,

Facile rispetto a come gli altri lo trovano, dovrei dire.
Partecipa il

Risposte:


12

Tutto dipende da cosa vuoi fare come sviluppatore di software.

Se vuoi entrare nella grafica, hai bisogno di un forte background in geometria, algerbra lineare, trasformazioni di matrici, (la fisica non sarebbe neanche terribile) ecc.

Se vuoi entrare in SQL o altri tipi di programmazione di database, sono necessari la logica (prove, leggi di inferenza, ecc.) E la matematica discreta (forse anche il calcolo lambda).

Ma in generale, più matematica applicata conosci e meglio è.

La matematica pura sarebbe migliore in cose come lo sviluppo dell'algoritmo e la programmazione teorica. Magari anche mappare la programmazione redux o simili.

Fondamentalmente, non puoi sbagliare in entrambi i modi.


Lo sviluppo del gioco non danneggerebbe i miei sentimenti, ma ho sentito che è un campo difficile in cui entrare. E non riesco a immaginare che non avere una laurea in CS possa aiutare le mie possibilità.
Joose

Lo sviluppo del gioco è molto competitivo. Saresti sorpreso. Soprattutto con tutte le app iOS, Android e WP7 che stanno guadagnando popolarità. È stato molto più difficile entrare (proprio come gli animatori 3D professionisti. Era il mio sogno prima di CS) ma l'arena mobile ha aperto nuove porte. Ad ogni modo, con lo sviluppo del software se hai le competenze per trovare un lavoro non è un problema. Mi sto laureando in 2 mesi e il mio consulente mi stava dicendo che il nostro dipartimento CS. ha il 100% di collocamento per i suoi laureati. Quel numero è tipico per le principali università e CS
joe_coolish

4

Posso contare su un dito il numero di volte in cui ho dovuto usare qualsiasi matematica più complicata dell'algebra di base in qualsiasi progetto a cui ho lavorato.

Dipende molto dal campo in cui vai.


Verissimo. Ma la matematica avanzata è tornata utile una volta, e probabilmente tornerà utile almeno una volta prima di ritirarti. Dove la mia lezione di cestini sottomarini deve ancora rivelarsi utile nella mia esperienza. Fondamentalmente, più matematica, più strumenti hai per risolvere i problemi. Non è mai una cattiva idea prendere più matematica
joe_coolish

E c'è una misura in cui puoi imparare le cose di cui hai bisogno quando ne hai bisogno, in particolare se hai già un forte background matematico. Ho studiato CompSci, ma quando nel mio primo lavoro avevo bisogno di conoscere la geometria sferica sono andato e ho trascorso un po 'di tempo nella biblioteca del mio vecchio college per leggerlo.
Peter Taylor,

@joe_coolish Non lo sapevi? Sono alla ricerca di esperti del settore per aiutare con la subacquea Basketweaving Simulator 2011.
Maxpm

3

La programmazione è applicata alla matematica. Detto questo, non credo che faccia molta differenza. La matematica applicata che ho preso per la mia laurea (in matematica) era principalmente orientata verso la fisica che non farebbe molto per la logica richiesta per la programmazione, ma funziona benissimo per determinare gli algoritmi.


2

Immagino che consiglierei un qualche tipo di equilibrio.

È certamente utile conoscere la teoria degli automi di base, i linguaggi formali, la teoria dell'informazione e la matematica discreta di base.

È anche molto utile per le molte aree di applicazione matematiche pesanti conoscere calcoli, algebra lineare, probabilità e statistiche.

È anche molto importante ottenere un'ingegnerizzazione del software senza fronzoli, quindi sai come analizzare un'area problematica e proporre una gamma di approcci, con pro e contro. Quindi essere in grado di portarli a termine con una squadra. Comprendere l'importanza del controllo del codice sorgente, della manutenibilità, dei test adeguati e del controllo di qualità e della gestione del ciclo di vita del software.

Ho visto persone molto intelligenti che erano timide in una o più di queste aree, e sicuramente le trattengono. E se sono insegnanti, trattengono i loro studenti.


2

Attualmente sto laureando in matematica pura, ma ho anche trascorso molto tempo lavorando a progetti di ricerca matematica applicata. Sebbene ogni disciplina traccia i propri confini culturali, la distinzione tra matematica pura e applicata è spesso più sfuggente di quanto vorremmo ammettere. Fino a tempi relativamente recenti nella storia della matematica, quasi tutta la matematica era quella che ora chiameremmo "matematica applicata". (Se lo desideri, concedi un'eccezione per la teoria dei numeri.) A volte anche i confini cambiano. Uno dei miei interessi di ricerca è stato motivato da un problema estremamente "applicato" corrispondente a un sistema fisico reale, ma è cresciuto fino a comprendere tecniche centrali di semigruppo e teoria del linguaggio formale, argomenti relativamente "puri". Ricorda che anche Gauss, il principe del puro, ha trascorso ore a calcolare a mano l'orbita di Cerere.

È molto difficile dire molto di più sulla tua situazione senza dettagli specifici sui corsi e sulle opportunità di ricerca, ma sarebbe giusto dire che la matematica applicata ti darà molta più esperienza nella programmazione. Questo non vuol dire che non ci sono problemi computazionali nella "matematica pura" (ci sono!), Ma che questi non saranno enfatizzati e dovrai scavare per conto tuo. D'altra parte, sembra che la maggior parte delle persone abbia un tempo più facile passando dal puro al applicato al viceversa. Ci sono molte opportunità di confondere le variabili qui, ma ciò potrebbe farti mettere in pausa.

In definitiva, una delle abilità più utili che puoi coltivare come studente universitario è la capacità di determinare le risposte a quanto segue: "di cosa ho bisogno di una pistola in testa per imparare?" Se hai interessi che si estendono su più campi e ti impediscono di esaurire l'offerta di corsi in ciascuno, quella domanda dovrebbe motivare molti corsi. Ad esempio, amo molto la teoria degli automi, ma non ho mai seguito un corso di teoria del calcolo perché potevo semplicemente leggere il libro di testo per piacere. (Nota bene: funziona solo se si legge effettivamente il libro di testo ). Nella geometria differenziale, tuttavia, sapevo che in realtà non sarei mai stato in grado di affrontare i simboli di Christoffel e simili a meno che non avessi una pistola in testa sotto forma di un quiz settimanale.

Dovresti imparare a riconoscere le tue inclinazioni e disinclinazioni e deviare intorno a loro.


1

Pura matematica, sicuramente. In particolare, matematica discreta e logica matematica.

Il Dipartimento di matematica dell'Università dell'Illinois ha un interessante programma per la SM chiamato Applied Math (Teoria del calcolo). È un programma congiunto tra il dipartimento di matematica e il dipartimento CS. Potrebbe essere il genere di cose che desideri, ma è un programma di laurea.


Come specialista in matematica applicata (almeno all'università che frequenterò) dovrò prendere matematica discreta. Ho notato che ci sono molti corsi elencati come Pure e Applied.
Joose

La matematica discreta è essenziale!
Morgan Herlocker,

1

Sono riuscito ad avere una laurea in ingegneria del software perfettamente piacevole con una laurea in matematica computazionale. Sono stato fortunato, la mia scuola aveva un programma specifico per questo, ed era una miscela di CS e matematica con un focus sulla matematica che supportava CS (Discrete, Algebra astratta, Teoria e reti grafiche) e matematica che richiedeva un aiuto informatico (numerico analisi, algebra lineare).

Immagino che sia matematica "pura", ma non ci ho mai pensato in quel modo - era così focalizzata sui computer, che la matematica computazionale era davvero una buona descrizione.


1

Se pensi a una carriera finanziaria: statistiche, analisi, PDE, simulazioni Monte Carlo (e assortiti "calcoli di (pseudo) casualità"), algebra.


Non ho intenzione di lavorare nel settore finanziario. :)
Joose

Buon per te :)
quant_dev

++ Questi sono preziosi per molto più della finanza.
Mike Dunlavey,

1

Penso che dipenda da cosa vuoi fare. Sono sempre stato coinvolto nel calcolo, come applicato alla scienza e all'ingegneria, quindi la matematica applicata è la parte più grande del set di abilità. Un sacco di scienze comp, mi sembra una matematica più pura, mi preoccupo se esiste un algoritmo che è NP completo e tutta quella roba, non mi è mai sembrato molto interessante o pratico. Ma l'approssimazione funzionale, le PDE, l'algebra lineare ecc. Sono sempre state piuttosto fondamentali. Ma se stai pianificando una carriera nella programmazione generale, sospetto che questa roba non farà molto per te oltre alle capacità di pensiero sullo sviluppo.

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.