Задать вопрос

Математика для программиста

Здравствуйте. Буду краток:
у меня слабо с математикой, а для программиста это непростительно, поэтому я решил исправиться — подскажите пожалуйста оптимальный путь, чтобы не заскучать и не растянуть обучение на годы.
Спасибо.
  • Вопрос задан
  • 41784 просмотра
Подписаться 40 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 13
@Neir0
>для программиста это непростительно
Небольшой оффтоп. Для 90% программистов уровня 9 класса с головой хватает. Предвижу возгласы представителей илиты, дескать, математику нужно учить если не хочешь быть кодирующей обезьянкой блаблабла. Тема «нужна ли математика программисту» дискуссионная, можно за копейки использовать хардкорную математику в каком-нибудь нии, а можно выполнять скучную, сильно абстрактную работу квонта за зарплату в 2 раза выше рынка, в общем математика как самоцель не очень хорошо ИМХО.
Ответ написан
Termos
@Termos
Азы линейной алгебры, дискретную логику, и аналитическую геометрию знать обязаны

Из постоянно нужного: статистика (на хорошем углублённом уровне), численные методы.

Это подъёмно изучить за 1-2 месяца. А далее сами разберётесь — по необходимости

Если вы в ладах с матаном — учите оценку сложности алгоритмов. Это настоящий третий глаз для программиста. Если с матаном не в ладах — учите матан :)

Специальные теории вроде теории графов, теории алгоритмов или нейронных сетей — не так эффективны при изучении без знаний математики

А для программирования — учите программирование.
Ответ написан
Комментировать
@Robotex
За всю жизнь мне пригодился лишь школьный курс математики + 1 курс университета (там где про матрицы и определители) при работе с графикой.
Ответ написан
Эффективно освоить большой объем информации за короткий период времени, мягко говоря, непростая задача.

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

Если-же нет, то возможно имеет смысл поступить на обучение на заочный факультет технического ВУЗ-а.

Мысли эти приведены для сферического программиста в вакууме у которого слабо с математикой. Но на мой взгляд, это даст наиболее полную и качественную подготовку.
Ответ написан
Комментировать
tampere
@tampere
Учиться никогда не поздно. Я бы обратил внимание на следующие разделы: теорию вероятности и статистику, мат. логику, теорию информации (сложность алгоритмов). Далее выбирать то, что интересно.
Ответ написан
Комментировать
@kirsan_vlz
Я самоучка, ещё и в инсте дискретной математики не было. Сейчас почувствовал, что просто необходимо подтянуть знания по математике, купил учебник, вникаю.
Если есть хорошая мотивация, то можно довольно быстро самостоятельно разобраться, главное понимать где, что и как применяется на практике.
Могу посоветовать вот эту книгу www.ozon.ru/context/detail/id/3510820/.Написана относительно доступно, но нет теории алгоритмов, теории автоматов (лекции по ним найти не проблема). Если не подойдёт, посмотрите тут habrahabr.ru/qa/1856/
Ответ написан
Комментировать
Gibbzy
@Gibbzy
Часто очень встречается теория графов и комбинаторика (разделы дискретной математики). Советую на это обратить внимание.
Ответ написан
Комментировать
Zorkus
@Zorkus
Да ну ладно вам. Я по образованию Прикладной Математик, 5 лет различные ее разделы были основными предметами, но все равно временами чувствую, что не знаю я так уж глубоко математику (например, когда читал книжки по криптографии).
Ответ написан
Комментировать
@agul
1) Выделите для себя приоритетные цели — то, что вы хотите выучить в первую очередь. Остальное лучше не учить (а если учить, то не углубляться, т.к. все выучить невозможно)
2) Купите/найдите литературу по вашим темам. Книги — это не только теория, но и огромная куча практики.
3) Если самому освоить трудно, наймите хорошего репетитора.
4) Поставьте для себя задачу вроде: «Читать параграф теории, решать 15 задач по нему». Причем задачи сначала должны быть достаточно простые, а в конце сложные. Понятно, что задачи нельзя оставлять нерешенными (то есть, если не можете решить, посмотрите решение).
Ответ написан
Комментировать
@Sone
Почитайте Кнута Искусство программирования
Ответ написан
Комментировать
@Rustam
подразумевая математику для программиста, вы имеете в виду алгоритмы + матанализ + дискретная математика?
тогда стандартный набор книг:
Кормен, Кнут(хотя бы несколько томов), Романовский.

есть довольно содержательный сайт intuit.ru, на котором при хорошей самодисциплине можно выжать много знаний.
Ответ написан
Комментировать
mikhanoid
@mikhanoid
Зависит, от того, чем Вы занимаетесь. Намример, в системном программировании нужна матлогика, теория информации и алгоритмов, теория вероятности, алгоритмы от Кнута, теория чисел. Если распознавание образов, то теория вероятности, функциональный анализ вещественный и комплексный. Если символьное исчисление, то алгебра, теория представлений. В общем, от места приложения Ваших талантов зависит. Если моделирование, то численные методы.

Общего знаменателя тут особо и нет, наверное. Хотя, по опыту, теория вероятностей и теория информации всегда полезны, ну и базовые алгоритмы из книжки Винера 'Алгоритмы и структуры данных'.
Ответ написан
Комментировать
doniys_a
@doniys_a
Backend-разработчик (Php, node.js, python, ruby)
Дискретная математика для программиста
Там есть и графы, и множества, отношения, комбинаторика и весь необходимый минимум дискретной математики.
А из высшей - главное понимать азы, а если даже и столкнетесь с задачей разложения и коррекляции - так это лишь частично высшая математика - теория вероятности изучает корреляцию, статистику и случайные величины. А ряды, дифференцирования (если понадобится) можно погуглить и вспомнить, держать в голове постоянно и освежать память данной информацией не стоит - очень часто применяется это в реальных условиях в программировании. Но и разделов математики крайне много и подавляющий аспект знаний математики применяется весьма условно - от случая к случаю, так как работа программистом - это не работа в исследовательском институте, и математика уже понадобится там, где без нее просто не решается ничего) И в основном линейной алгебры более чем достаточно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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