Где я могу найти математические темы и ресурсы для программистов?

Или с любимой гуавой :

String[] both = ObjectArrays.concat(first, second, String.class);

Также есть версии для примитивных массивов:

  • Booleans.concat(first, second)
  • Bytes.concat(first, second)
  • Chars.concat(first, second)
  • Doubles.concat(first, second)
  • Shorts.concat(first, second)
  • Ints.concat(first, second)
  • Longs.concat(first, second)
  • Floats.concat(first, second)

7
задан 7 revs, 5 users 63% 24 July 2009 в 19:19
поделиться

12 ответов

Concrete Mathematics: A Foundation for Computer Science было бы моим предложением для книга, охватывающая некоторые сложные темы.

5
ответ дан 6 December 2019 в 19:40
поделиться

Любому программисту было бы хорошо иметь твердое понимание на уровне бакалавриата следующих математических курсов:

  1. Исчисление (через многомерное вычисление)
  2. Дискретная математика (абсолютно необходимо)
  3. Линейная алгебра (необходима для понимания матриц)
  4. Комбинаторика (дальнейшее развитие математики Дикрета)
  5. Введение в абстрактную алгебру (это укрепит ваше понимание систем счисления по модулю, в частности двоичных, восьмеричных, шестнадцатеричных и т. Д. ). Это также дает глубокое понимание теории множеств, которая повсеместно используется в практическом программировании и в компьютерной литературе.

Это основы. Если вы думаете о графике или программировании игр, у вас есть целый ряд дополнительных курсов по физике, графике и, возможно, гидродинамике.

2
ответ дан 6 December 2019 в 19:40
поделиться

Для введения в дискретную математику я настоятельно рекомендую это.

Мне очень повезло, что мне предоставили эту книгу из Университета

2
ответ дан 6 December 2019 в 19:40
поделиться

Хотя вы ожидаете, что settings.php чтобы быть доступным для view.php, поскольку он был включен в сценарий, который включает их обоих, я обнаружил, что обычно это не так. У вас есть несколько вариантов:

2
ответ дан 6 December 2019 в 19:40
поделиться
  1. Если вы заинтересованы в разработке игр, 3D-графика или что-либо, имеющее к этому отношение, затем займитесь многомерным исчислением и фундаментальной физикой. Это поможет вам лучше понять основные концепции. Кроме того, линейная алгебра очень поможет со всеми матрицами / векторами, которые вы будете делать.

    Если вас НЕ интересуют эти темы, я бы все же сказал, что изучайте математику и физику. Почему? Решение математических и физических задач дает вам хороший опыт в решении задач и тренирует мозг. Программистам НУЖНО хорошо решать проблемы ... это наша работа. Концепции, которые вы усвоите на этих курсах, вы будете хранить при себе до конца жизни.

  2. В MIT и Стэнфорде есть действительно хорошие онлайн-курсы по таким темам. Конечно, вы не можете просто перейти к многомерному исчислению без более простых вычислений, но у Массачусетского технологического института и Стэнфорда также есть ресурсы для ваших базовых классов исчисления. Будет немного легче освоить основы физики. Опять же, вы можете проверить физику в Массачусетском технологическом институте и Стэнфорде.

MIT OpenCourseWare :

2
ответ дан 6 December 2019 в 19:40
поделиться

Вообще говоря, приложения математики к компьютерному программированию в значительной степени зависят от предметной области, то есть вам необходимо знать математику, которую требует написанная вами конкретная программа. Единственные математические темы, которые, как мне кажется, применимы ко всем видам программирования, - это простая арифметика и логическая логика, но я думаю, что если бы вы еще не знали их, вы бы не стали большим программистом; -)

В принципе, я бы просто рекомендовал изучать математику по мере необходимости для любого проекта, над которым вы работаете. Если вы хотите дать себе хороший повод изучить новую математику, начните увлекательную программу, которая занимается математикой.

0
ответ дан 6 December 2019 в 19:40
поделиться

Некоторое время назад Стив Йегге написал специальную статью о математике для программистов . Его тезис: Как программист, вы должны изучать математику, но вы должны делать это иначе, чем в школе / университете.

Его резюме таково:

  1. Математику намного легче освоить, если вы научитесь программировать . На самом деле, если вы хоть немного приличный программист, то обнаружите, что это почти несложно.
  2. В школе учат математике неправильно. Да, ПУТЬ неправильно. Если вы научитесь математике правильно, вы научитесь быстрее, запомните ее дольше и это будет намного более ценно для вас как программиста.
  3. Знание даже небольшого количества правильных видов математики поможет вам сделать написать несколько довольно интересных программ, которые в противном случае были бы слишком сложными. Другими словами, математика - это то, что вы можете освоить понемногу, когда у вас есть свободное время.
  4. Никто не знает математику всю, даже лучшие математики. Область постоянно расширяется, поскольку люди изобретают новые формализмы для решения собственных проблем. И любую математическую задачу, как и в программировании, можно решить несколькими способами. Вы можете выбрать тот, который вам больше нравится.
  5. Математика ... ммммм, пожалуйста, не говорите никому, что я сказал это; Пока я жив, меня никогда не пригласят на другую вечеринку. Но математика, ну ... я лучше прошепчу это, так что слушайте: (на самом деле это довольно весело.)

Печальное замечание: Стив покинул свой блог из-за слишком агрессивной обратной связи.

поскольку люди изобретают новые формализмы для решения собственных проблем. И любую математическую задачу, как и в программировании, можно решить несколькими способами. Вы можете выбрать тот, который вам больше нравится.
  • Математика ... ммммм, пожалуйста, не говорите никому, что я сказал это; Пока я жив, меня никогда не пригласят на другую вечеринку. Но математика, ну ... я лучше прошепчу это, так что послушайте: (на самом деле это довольно весело.)
  • Печальное примечание: Стив покинул свой блог из-за слишком агрессивной обратной связи.

    поскольку люди изобретают новые формализмы для решения собственных проблем. И любую математическую задачу, как и в программировании, можно решить несколькими способами. Вы можете выбрать тот, который вам больше нравится.
  • Математика ... ммммм, пожалуйста, никому не говорите, что я это сказал; Пока я жив, меня никогда не пригласят на другую вечеринку. Но математика, ну ... я лучше прошепчу это, так что слушайте: (на самом деле это довольно весело.)
  • Печальное замечание: Стив покинул свой блог из-за слишком агрессивной обратной связи.

    2
    ответ дан 6 December 2019 в 19:40
    поделиться

    У теории чисел не так много прямых приложений к программированию (хотя есть несколько изящных приемов, которые вы можете использовать для оптимизации), но есть несколько основных концепций, которые значительно упрощают изучение криптологии.

    В моем классе теории чисел использовалось «Дружественное введение в теорию чисел» Сильвермана , которое является одним из лучших учебников по математике, которые я когда-либо видел. Его очень легко читать (название полностью соответствует его дружелюбности), но он охватывает широкий круг тем. Сильверман также является автором моего учебника по криптографии Введение в математическую криптографию . Он более технический, касается большинства областей криптографии и предоставляет множество ссылок, где можно найти более подробную информацию.

    0
    ответ дан 6 December 2019 в 19:40
    поделиться

    Что касается тем, посмотрите некоторые ответы здесь . Мне сложно дать рекомендуемые ресурсы, я говорю по-немецки. Я бы рекомендовал начать с линейной алгебры и геометрии, которые вы найдете в компьютерной графике. Взгляните, например, на серию статей Springer по математике для студентов.

    0
    ответ дан 6 December 2019 в 19:40
    поделиться

    Рассмотрим серию статей Кнута «Искусство компьютерного программирования». Он может стать плотным, но он поможет вам освоить математику, наиболее необходимую для программирования. Я бы посоветовал сразу же обратиться к доступным главам четвертого тома. Эти книги не для всех,

    0
    ответ дан 6 December 2019 в 19:40
    поделиться

    Какие математические задачи вы хотите решить? «Математика» - довольно большая область!

    В Массачусетском технологическом институте есть несколько онлайн-курсов, но это, вероятно, большие вложения времени.

    У Wolfram есть несколько учебных пособий, но, опять же, вам нужно знать, что вы ищете.

    -2
    ответ дан 6 December 2019 в 19:40
    поделиться

    Я думаю, вам следует погрузиться в то, что вас больше всего интересует, и, чтобы узнать, что это такое, вам следует приобрести несколько книг, в которых освещаются факты и предлагаются рекомендации, а также несколько книг, которые питают вашу мотивацию и любопытство. . Вы действительно должны погрузиться в это, чтобы узнать, это довольно индивидуальная вещь, имхо.

    Факты / Ориентация:

    Дональд Кнут - Бронштейн, Семенджаев

    Наука программирования - Структуры данных и алгоритмы

    Мотивация / Любопытство:

    Дорога к реальности - Последняя теорема Ферма - Godel, Escher, Bach

    Также для мотивации с более практической стороны:

    projecteuler.net

    0
    ответ дан 6 December 2019 в 19:40
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: