Чистий проти прикладної математики для програмістів [закрито]


13

Математика завжди була моєю річчю в тому, що я завжди вважав тему легкою. Хоча інформатика - це друге моє кохання. Враховуючи свій вибір, я вважаю за краще спеціалізуватися на математиці. Оскільки єдина кар'єра, якою зазвичай займаються ступінь бакалавра з математики, зовсім не приваблює, я б дуже змістовно проводив свої дні як розробник програмного забезпечення.

Моє запитання таке: від якої математичної дисципліни майбутній програміст отримає більше користі? Прикладна математика чи чиста математика?

Мені подобається викладати себе, і я впевнений, що я можу навчити себе, як бути чудовим програмістом, але все ж я планую отримати неповнолітнього в CS!


16
Якщо ви завжди знаходили математику "простою", я гадаю, ви ще не зайшли досить далеко.
Марк C

Я мушу сказати, що це стосується того, як інші люди знаходять це.
Joose

Відповіді:


12

Все залежить від того, що ви хочете зробити як розробник програмного забезпечення.

Якщо ви хочете зайнятися графікою, вам потрібен сильний фон з геометрії, лінійної алгебри, матричних перетворень (фізика теж не була б страшною) тощо.

Якщо ви хочете перейти до SQL або інших типів програмування баз даних, логіка (докази, закони про зараження тощо) та дискретна математика (можливо, навіть лямбдальне обчислення) необхідні.

Але загалом, чим більше прикладної математики ти знаєш, тим краще.

Чиста математика була б кращою в таких речах, як розвиток алгоритму та теоретичне програмування. Можливо, навіть програмування відновлювальної карти тощо.

В основному ви не можете помилитися в будь-якому випадку.


Розвиток ігор не зашкодить моїм почуттям, але я чую, що це грубе поле для входу. І я не можу уявити, що відсутність ступеня CS допоможе моїм шансам.
Joose

Розробка ігор є дуже конкурентоспроможною. Ви були б здивовані. Особливо з усіма програмами для iOS, Android, WP7, що набувають популярності. Бути набагато важче ввійти (як і професійні 3D-аніматори. Це була моя мрія до CS), але мобільна арена відкрила нові двері. Так чи інакше, розробка програмного забезпечення, якщо ви маєте навички пошуку роботи, не є проблемою. Я закінчую навчання через 2 місяці, і мій радник сказав мені, що наш відділ CS. має 100% працевлаштування для своїх випускників. Ця кількість характерна для великих університетів та CS
joe_coolish

4

Я можу порахувати на один палець кількість разів, коли мені довелося використовувати будь-яку математику, складнішу, ніж основна алгебра, в будь-якому проекті, над яким я працював.

Це дійсно залежить від поля, в яке ви заходите.


Дуже правильно. Але просунута математика вам була корисна в один раз, і, мабуть, це стане в нагоді принаймні ще один раз, перш ніж вийти на пенсію. Де, як мій клас підводного плетіння кошиків, ще має бути корисним у моєму досвіді. В основному, чим більше математики, тим більше інструментів у вас для вирішення проблем. Ніколи не погана ідея брати більше математики
joe_coolish

І є ступінь, в якій ви можете вивчити потрібні речі, коли вам це потрібно, особливо якщо ви вже маєте сильний математичний досвід. Я вивчав CompSci, але коли на першій роботі мені потрібно було знати сферичну геометрію, я пішов і провів трохи часу в бібліотеці свого старого коледжу, щоб прочитати його.
Пітер Тейлор

@joe_coolish Ти не знав? Вони шукають експертів у цій галузі, щоб допомогти у підводному симуляторі
кошиків.

3

Програмування застосовується математика. Однак я не вірю, що це має велике значення. Прикладна математика, яку я взяла на ступінь (з математики), була орієнтована в першу чергу на фізику, яка не дуже допоможе логіці, необхідній для програмування, але вона чудово підходить для визначення алгоритмів.


2

Я думаю, я б рекомендував якусь рівновагу.

Безумовно, корисно знати теорію базових автоматів, формальні мови, теорію інформації та основну дискретну математику.

Також для багатьох математичних областей застосування дуже корисно знати обчислення, лінійну алгебру, ймовірність та статистику.

Також дуже важливо придбати інженерне програмне забезпечення безглуздя, тому ви знаєте, як проаналізувати проблемну область та запропонувати цілий ряд підходів до неї із плюсами та мінусами. Тоді зможете їх провести разом із командою. Зрозумійте важливість контролю вихідного коду, ремонтопридатності, належного тестування та контролю якості та управління життєвим циклом програмного забезпечення.

Я бачив дуже розумних людей, які соромляться в одній або декількох з цих областей, і це, безумовно, стримує їх. І якщо вони вчителі, це стримує їх учнів.


2

Зараз я закінчую ступінь з чистої математики, але також витратив багато часу, працюючи в науково-дослідних проектах з прикладної математики. Хоча кожна дисципліна малює власні культурні межі, відмінність чистої та прикладної математики часто є більш невловимим, ніж ми хотіли б визнати. Ще порівняно недавно в історії математики майже вся математика була тим, що ми зараз би називали «прикладною математикою». (Надайте виняток для теорії чисел, якщо вам подобається.) Іноді також змінюються межі. Один із моїх дослідницьких інтересів був мотивований надзвичайно «прикладною» проблемою, що відповідає фактичній фізичній системі, але зростав, щоб охопити центральні методи з напівгрупи та теорії формальної мови, відносно «чисті» теми. Пам’ятайте, що навіть Гаус, принц чистого, витрачав години на обчислення орбіти Церери вручну.

Дуже складно сказати набагато більше про свою ситуацію без конкретних деталей щодо курсових робіт та можливостей дослідження, але було б справедливо сказати, що прикладна математика дасть вам набагато більше досвіду програмування. Це не означає, що в «чистій математиці» немає обчислювальних проблем, (є!), Але це не буде наголошено, і вам доведеться копати їх самостійно. З іншого боку, здається, що у більшості людей легше проходить час від чистого до застосованого до навпаки. Тут є багато можливостей для заплутування змінних, але це може привести до паузи.

Зрештою, однією з найкорисніших навичок, яку можна виховувати як бакалавр, є вміння визначати відповіді на наступне: "для чого мені потрібен пістолет для голови?" Якщо у вас є інтереси, які охоплюють декілька полів і не дозволяють вам вичерпати пропозиції курсів у кожному, це питання повинно мотивувати велику кількість курсових робіт. Наприклад, я дуже люблю теорію автоматів, але ніколи не брав курс теорії обчислень, тому що просто міг прочитати підручник для задоволення. (Nota bene: це працює лише у тому випадку, якщо ви насправді читаєте підручник ). Однак в диференціальній геометрії я знав, що мені ніколи насправді не доводиться мати справу з символами Крістофеля тощо, якщо у мене не буде пістолет у голову у формі щотижневої вікторини.

Вам слід навчитися розпізнавати власні схильності та відхилення, а також перебиратись навколо них.


1

Чиста математика, безумовно. Зокрема, дискретна математика та математична логіка.

Математичний факультет університету Іллінойсу має цікаву програму MS під назвою "Прикладна математика" (теорія обчислень). Це спільна програма між математичним відділом та відділом CS. Це може бути те, що ви хочете, але це програма для випускників.


Як спеціаліст з прикладної математики (принаймні, в університеті, в який я збираюся), мені доведеться взяти дискретну математику. Я помітив, що існує чимало курсів, перелічених як «Чистий», так і «Прикладний».
Joose

Дискретна математика важлива!
Morgan Herlocker

1

Мені вдалося отримати ідеально хороший ступінь інженерії програмного забезпечення за спеціальністю "Комп'ютерна математика". Мені пощастило, у моїй школі була спеціально для цього програма, і це була суміш CS та математики з акцентом на математику, яка підтримувала CS (дискретна, абстрактна алгебра, теорія графіків та мережі) та математику, яка потребує певної допомоги на комп'ютері (чисельна аналіз, лінійна алгебра).

Я думаю, що це "чиста" математика, але я ніколи не думав про це таким чином - він був настільки зосереджений на комп'ютерах, що обчислювальна математика була справді хорошим описом.


1

Якщо ви думаєте про кар'єру у галузі фінансів: статистика, аналіз, PDE, моделювання в Монте-Карло (та різні «математика (псевдо) випадковості»), алгебра.


Я не маю намірів працювати у фінансовій галузі. :)
Joose

Добре вам :)
Quant_dev

++ Ці коштують набагато більше, ніж фінанси.
Майк Данлаве

1

Я думаю, це залежить від того, що ти хочеш зробити. Я завжди займався обчисленнями, як це стосується науки та техніки, тому прикладна математика є більшою частиною набору навичок. Багато комп'ютерних наук вважає мене більш чистою математикою, хвилюйтеся, чи існує алгоритм, який є NP повним, і все таке, що ніколи не здавалося мені дуже цікавим чи практичним. Але функціональне наближення, PDE, лінійна алгебра і т.д. завжди були досить фундаментальними. Але якщо ви плануєте кар’єру загального програмування, я підозрюю, що цей матеріал не зробить багато для вас інших, ніж розвивати навички мислення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.