Для кого этот пост в блоге?
Если вы просто хотите изучить Python, HTML/CSS и стать полноценным разработчиком, который не хочет изучать алгоритмы и структуры данных, возможно, этот пост не для вас. Но наоборот, если ваши познания в математике не такие уж приличные, но вы хотите стать полноценным инженером-программистом, не только изучить Python, HTML/CSS и т. д., но также хотите изучить алгоритмы/структуры данных и, как побочный эффект, продукт может подавать заявки и проходить собеседования для крупных технологических компаний, таких как Google, Amazon и т. д., тогда этот пост для вас.
Примечание: я рассказал больше о том, почему нужно пройтись по основам математики, в этом посте в блоге здесь.
Без лишних слов, давайте начнем со списка.
Основные математические темы
- Основы алгебры: я говорю, по крайней мере, об основных вещах, таких как решение двух уравнений для x и y, решение полиномиальных уравнений, знание базовых вещей о полиномиальных уравнениях более высокого порядка и т. д.
- Последовательности: такие как арифметические последовательности, геометрические последовательности, гармонические последовательности, их свойства и формулы сумм. Это возникает, когда кто-то изучает алгоритмы или решает вопросы по литкоду.
- Множества и отношения.Множество как понятие чрезвычайно полезно знать, поскольку оно встречается в алгоритмах/структурах данных и даже много раз (для меня оно появлялось слишком много раз). Кроме того, во многих языках программирования, таких как C++, Python, буквально существует структура данных, называемая набором, поэтому вам определенно стоит проверить эту тему.
- Треугольники, квадраты, прямоугольники, круги, углы и все их свойства: я сгруппировал все это вместе, но вам будет полезно узнать о них и их основных свойствах. Сейчас они обычно не встречаются непосредственно в разработке программного обеспечения, но если вы планируете изучать алгоритмы/структуры данных и решать проблемы с литкодом, я бы посоветовал вам изучить и это.
- Тригонометрия. Обычно тригонометрия не проявляется при изучении алгоритмов/структур данных. Но изучение этой темы и решение сумм по этой теме тренирует вас в написании алгоритмов без программирования. И кто знает, если вы когда-нибудь столкнетесь с этим в своей работе по разработке программного обеспечения, тогда, по крайней мере, вы будете подготовлены с основами.
- Координатная геометрия. В некоторых областях разработки программного обеспечения это может встречаться чаще, чем в других. Но все же наличие школьных знаний в этом вам точно не помешает. Кроме того, это должно быть после тригонометрии, желательно, поскольку в этом используется тригонометрия.
- Неравенство. Это определенно проявляется повсюду. Не только в алгоритмах и структурах данных, НО ВСЕ В КОДИРОВАНИИ. Пожалуйста, изучите это.
- Степени и логарифмы:логарифм постоянно появляется в алгоритмах/структурах данных (о, если бы я получал доллар за каждый раз, когда логарифм появляется в алгоритмах/структурах данных). А логарифм — это понятие, происходящее от силы чисел. Так что эта тема в целом обязательна к изучению.
- Ограничения.Концепция ограничений — это очень круто. Этого нет в базовых алгоритмах/структурах данных, но я предлагаю вам изучить и это. Потому что, изучая это, вы будете оттачивать темы, которые вы изучали до этого.
- Дифференциальное и интегральное исчисление. Обычно это не проявляется в ваших исследованиях, связанных с алгоритмами или структурами данных (если только вы не хотите стать продвинутым в этом, а не просто проходить собеседования по программированию). Но если вы сможете узнать об этом, то пользы предостаточно. Во-первых, приведенные выше концепции будут казаться простыми для работы, что необходимо для изучения алгоритмов/структур данных.
- Булевая алгебра и дискретная математика.Эта темавсе время всплывает в программировании и является обязательным предметом на многих степенях, связанных с информатикой и программной инженерией.
Кратко о том, как выучить эти математические темы самостоятельно
Ниже приведены несколько моментов, которые вы должны иметь в виду при изучении математики на пути к разработке программного обеспечения.
- Практика.Одна простая вещь, которую вы можете сделать, это: ПРАКТИКА
Я повторил этот момент два раза в предыдущем предложении, потому что не могу выделить его в достаточной степени. Но потренируйтесь решать задачи по каждой из этих тем не менее 2 раз, чтобы понятия и математическое мышление действительно укоренились в вас. - Следуйте определенному упорядоченному пути обучения: упорядочивайте эти темы таким образом, чтобы предварительные темы изучались, пока вы изучаете более сложные темы. Пример: при решении задач, связанных с пределами и дифференциальным исчислением, ваши понятия логарифмов будут тренироваться, потому что они проявляются в задачах исчисления.
Объяснение того, как следует самостоятельно изучать математику в своем путешествии к разработке программного обеспечения, требует отдельной статьи, поэтому я пока заканчиваю ее здесь.
Надеюсь, вы найдете эту статью полезной. Пожалуйста, не стесняйтесь обращаться ко мне. До скорого!