Подтвердить что ты не робот

Хотите улучшить математические навыки программирования

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

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

Спасибо.

4b9b3361

Ответ 1

Я настоятельно рекомендую вам прочитать Steve Yegge Math для программистов.

Если вы ищете некоторые книги, я рекомендую Concrete Mathematics и Искусство компьютерного программирования.

Если вы ищете некоторые проблемы для практики, ознакомьтесь с Project Euler.

Не обескураживайте сложными проблемами. Только через преодоление проблем вы будете расти. Сообщество здесь охотно дает вам помощь и подталкивает, когда вы достигаете контрольно-пропускного пункта.

Позвольте также не забывать знаменитую цитату:

Каковы бы ни были трудности в математике, я могу заверить вас, что мои гораздо больше. - Альберт Эйнштейн

Моя цель - стать сертифицированным и опытным программистом Java к концу года.

Наконец, единственный способ стать опытным - написать код и многое из него.

Ответ 2

Дискретная математика - это то, что вам, скорее всего, нужно. Понимание базовых систем с базой 2 (шестнадцатеричное) 16 (шестнадцатеричное) - это полезно a must. Вам не нужно увязнуть в дискретной математике, так как некоторые из них слишком глубоки и заставляют математику сжиматься. Изучите основы, такие как наборы и логику.

Что касается триггера/исчисления... Я взял все это в колледже и никогда не полагался на эти экстенсивно... или хорошо, вообще.

Ответ 3

Математическая пригодность не обязательно является обязательным условием для того, чтобы быть хорошим программистом. Существует сильная ассоциация, хотя в том, что хорошие программисты, как правило, хорошо разбираются в математике. Это не означает, что изучение более математики обязательно сделает вас лучшим программистом. Чтобы стать лучшим программистом, обычно требуется много кодирования. Итак, имея в виду:

  • Код очень часто и с лучшими практиками старайтесь не "обманывать"
  • Задача себя
  • Попробуйте выполнить некоторые проблемы на Project Euler
  • Попытка сделать передовую судоку в вашей голове, чтобы практиковать вычет и разогреваться.

Ответ 4

Линейные уравнения, матричная алгебра, преобразования базиса 2, 8, 18 и 10, логарифмы и теория множеств (пересечения, союзы и т.д.) дадут вам базовую основу. Если ваша алгебра звучит правильно, изучите дискретную математику, precalculus и trig. Как только вы достигнете этого, вы не должны беспокоиться, если хотите.

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

Ответ 5

" Concrete Mathematics" было бы книжным предложением по этой теме.

Ответ 6

Перейдите в раздел http://www.khanacademy.org/. Большинство людей заканчивают среднюю школу с единственным исчислением я под их поясом.

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

Отметьте также MIT Open Courseware.

Ответ 7

ЕСЛИ у вас есть свободное время, оставшееся после всех этих замечательных предложений, я также могу бросить Head First Statistics в ваш список чтения. http://www.amazon.ca/Head-First-Statistics-Dawn-Griffiths/dp/0596527586

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

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

Ответ 8

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

Ответ 9

Я довольно часто пробовал работать через книги и имею хороший выбор частично читаемых книг по математике. Несколько лет назад я много зарабатывал на чистом математическом курсе открытого университета Open University (M208) - он хорошо структурирован, вы должны делать все упражнения, и он был достаточно широким, чтобы представить несколько вещей, которые я бы не посмотрел на свою собственную летучую мышь, но достаточно глубоко, чтобы быть удовлетворительным.