Математика, программирование и [закрытое] изучение

Global делает переменную «Global»

def out():
    global x
    x = 1
    print(x)
    return


out()

print (x)

. Это означает, что «x» действует как нормальная переменная вне функции. Если вы выберете глобальное значение, это приведет к ошибке, поскольку не может напечатать переменную внутри функции.

def out():
     # Taking out the global will give you an error since the variable x is no longer 'global' or in other words: accessible for other commands
    x = 1
    print(x)
    return


out()

print (x)
27
задан Rex M 26 June 2009 в 04:41
поделиться

21 ответ

Я думаю, что любой может поправиться в математике. Вы просто должны быть определены и практика.

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

Некоторые рекомендации:

  • , Если можно найти копию, получите Mathematica, и хорошая книга по нему (схема Schaum является на самом деле довольно хорошей и дешевой). Я использую все это время для визуализации вещей.

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

  • Конкретная книга по Математике, упомянутая в другом месте, превосходна.

  • Большинство вводных дискретных математических текстов имеет хорошее покрытие вещей как логика, наборы, комбинаторика, вероятность, теория графов, и т.д. Моя школа использовала текст Rosen, который я любил.

  • Линейная алгебра полезна, если Вы собираетесь сделать 3D графическое программирование. Большинство вводных текстов для инженеров будет учить Вас, что необходимо знать. Сделанная правильно Линейная алгебра является, вероятно, лучшей на "реальной" линейной алгебре, если Вы хотите что-то более теоретическое.

  • Ищут книги Martin Gardner и играют с его загадками. Он - превосходный писатель и учитель.

Помнят, что математика не изменяется так очень. Можно привыкнуть книги для дешевого на Amazon и в используемых книжных магазинах. Я всегда ищу n-1 версию, когда я покупаю учебники.

24
ответ дан Dana Robinson 28 November 2019 в 04:12
поделиться

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

Поэтому, если у Вас есть некоторые навыки в программировании, Вы могли бы считать себя достаточно умными для изучения математики также.

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

1
ответ дан Lena Schimmel 28 November 2019 в 04:12
поделиться

практика практики практики!

основы Schaum хороши для этого. Если Вы интересуетесь вероятностью (который затрагивает комбинаторику), см. 50 Бросать вызов проблемам в Вероятности.

1
ответ дан yacdmnky 28 November 2019 в 04:12
поделиться

учиться учиться учиться!

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

1
ответ дан Autoplectic 28 November 2019 в 04:12
поделиться

Я думаю, что есть две вещи для изучения математики: 1. Изучение общих методов. Т.е. как сложить две дроби, как дифференцировать, интегрировать. 2. Научиться решать задачи и применять математику в реальном мире.

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

Чтобы выучить 2, я думаю, что учебники по математике не очень помогают, потому что у каждого раздела есть проблемы, связанные с этим разделом. Иногда есть несколько проблем со «смешанным обзором» или «обзор главы», который смешивает проблемы, но они обычно находятся далеко между ними. Научные учебники, такие как физика, биология, химия и т. Д., Как правило, лучше для этого. Там вы часто читаете проблему, выкладываете ее и в конечном итоге используете различные математические инструменты для ее решения. Иногда исчисление, линейная алгебра и геометрия - все в одной задаче. Ценность здесь в том, что она учит вас решать проблемы. Обычно SAT / GRE не проверяют, знаете ли вы, как делать алгебру, они проверяют, знаете ли вы, как применять ее в реальном мире, и проблемы науки действительно помогают вам в этом. Кроме того, программирование в целом касается решения проблем, и чем лучше вы решаете проблемы, тем лучше вы будете заниматься программированием. В основном в программировании вы берете проблемы, создаете ментальную модель, разрабатываете решение, а затем моделируете его на выбранном вами языке программирования. Это похоже на физику. Вы смотрите на проблему, извлекаете математическую модель, проектируете решение, прямо вниз некоторые уравнения с моделью решения, затем вставляете числа. Я очень рекомендую физику, потому что после моего урока физики уроки слова стали для меня простыми, и они использовали быть довольно трудным (хотя и не невозможным).

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

Но в зависимости от того, что вы читаете, может помочь математика. Для большинства информатики алгебры + дискретной математики должно быть достаточно. Соедините это с некоторой практикой физики, и вы должны хорошо идти. Это может все еще быть медленным ходом, но у вас должен быть надлежащий фон.

2
ответ дан Cervo 28 November 2019 в 04:12
поделиться

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

Другая проблема - то, что нотация стандартизирована, но не точно. Различные книги используют немного отличающуюся нотацию, таким образом, она требует времени для привыкания к нему. Также много учебников не учитывают ключевые шаги в математических доказательствах или даже примерах. Иногда даже преподаватели вуза озадачивают себя с недостающими шагами в данном доказательстве в учебнике и затем дают их собственное доказательство или дают немного измененное по тому в книге, потому что они изучили его по-другому или не могут воссоздать недостающий шаг точно, который берет доказательство в различном направлении.

Так так или иначе просто, потому что Ваши глаза тускнеют, не означает, что необходимо сдаться. В первый раз, когда Вы видите уравнения, Вы, вероятно, будете в чтении английским текстовым режимом и иметь для приостановки для рассмотрения их. При осмотре через них медленно и уделение внимания, что означают все символы, один шаг за один раз может привести к ответу для Вас. Если существует некоторая нотация, Вы не видели прежде, существует, вероятно, вводная глава или приложение, объясняя нотацию, таким образом проверьте там. Наконец, ищите другие источники. Используйте Google/Википедию для поиска уравнений для понятия, и можно найти деривацию и/или доказательство, что можно следовать. Дополнительно другой может помочь Вам понять текущие доказательства/деривации лучше. Даже если Ваше понимание доказательства/деривации не улучшится, Ваше дополнительное исследование, вероятно, поможет в Вашем понимании уравнения.

2
ответ дан Cervo 28 November 2019 в 04:12
поделиться

Второе голосование за «Плач математика» Локхарта, который рекомендует преподавать математику как живопись, поэзию или музыку - не ради практической полезности, а ради простого удовольствия: скрытая практическая цель здесь. Я просто играю. Вот что такое математика: удивляться, играть, развлекать себя воображением.

Посмотрите на диаграммы в недавней статье Кнута, Dancing Links , и скажите мне, что он не получал от этого удовольствия.

2
ответ дан ja. 28 November 2019 в 04:12
поделиться

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

Рекомендуемые курсы:

  • Дискретная Математика
  • Математическая Мысль
  • Абстрактная алгебра
  • любые другие курсы доказательства

Рекомендуемая книга:

  • Основные детали Доказательств, Antonella Cupillari

я настоятельно рекомендую пытаться взять один или несколько из этих курсов в какой-то школе. Найдите локальный колледж и контролируйте курс.

2
ответ дан Joshua McKinnon 28 November 2019 в 04:12
поделиться

1) Да.

2) Изучите математические вопросы, которые звучат интересно. Купить / читать книги, которые дают вам необходимую информацию. Повторить.

2
ответ дан Paul Nathan 28 November 2019 в 04:12
поделиться

В первую очередь, я рекомендовал бы Steve Yegge Математика Для Программистов . Это в значительной степени подводит итог Вашей борьбы.

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

2
ответ дан Charles Graham 28 November 2019 в 04:12
поделиться

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

2
ответ дан Karl 28 November 2019 в 04:12
поделиться

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

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

Дискретная математика также предоставляет Вам программирование проблем, о которых Вы, возможно, не думали прежде. Возможно, можно изрубить хорошую эвристику для решения полной NP проблемы, как N-городская проблема Коммивояжера. Возможно, даже предложите пару решений и протестируйте которые работа лучше всего в который обстоятельства.

(я никогда не посещал уроки CompSci в колледже. Можно, вероятно, сказать.)

3
ответ дан eksortso 28 November 2019 в 04:12
поделиться
1114 Я точно знаю, что вы чувствуете. Я всегда хотел узнать больше по математике, но так как я не мог делать это в колледже после школы (недостаточно места) и не мог учиться в университете (не в состоянии получить степень бакалавра), я все еще не успел формально изучать математику с 16 лет.

1115 Математика - это то, что каждый может выучить. Некоторые утверждают, что с возрастом становится все труднее, но я встречал людей в возрасте 60 лет, которые с легкостью посещают уроки математики. В моем университете есть одна женщина, которой уже 70 лет, и она через несколько месяцев заканчивает обучение по специальности «Математика». Если вы хотите изучать математику, то сейчас самое подходящее время, хотя я буду первым, кто скажет, что это нелегко. Хотя многие из проблем чрезвычайно просты с опытом программирования, вы все равно обнаружите, что решение ряда проблем отнимает у вас много времени. Я почти закончил курс MIT OpenCourseWare по линейной алгебре, а затем получил новую работу с неполным рабочим днем, работая 10 часов в день, 7 дней в неделю и забыв большинство из того, что я изучил.

При этом, если у вас есть время и настоящее посвящение, я могу порекомендовать несколько ссылок на видео-лекции, которые могут просто помочь вам продвинуться по пути.

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

4
ответ дан Mike B 28 November 2019 в 04:12
поделиться

Интересный способ практиковать математику http://projecteuler.net/ . Хотя это является менее систематическим/эффективным, чем выполнение курса или чтение учебника.

4
ответ дан Ronny Brendel 28 November 2019 в 04:12
поделиться

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

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

Я также покупаю интересные учебники в магазинах подержанных книг. Их дешево и медленно ваши навыки улучшаются. Я использую их в сочетании с MIT Open Course ware .

4
ответ дан Gerhard 28 November 2019 в 04:12
поделиться

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

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

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

5
ответ дан Frederick The Fool 28 November 2019 в 04:12
поделиться

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

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

.
5
ответ дан Chris Bunch 28 November 2019 в 04:12
поделиться

Я могу обменяться своим опытом...

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

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

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

Так или иначе, в течение всех лет обучения разработать программное обеспечение OO, казалось, что я обманул меня в изучение, как думать математически. Понятия просто не были настолько трудными больше. Может случиться так, что я учился думать с точки зрения сложных систем, составленных из меньших, менее сложных идей.

я теперь исследую разработку игр, и , что некоторое серьезно ориентированное на математику программирование. ПУТЕМ больше, чем развитие бизнеса я делал к этой точке. Однако я не нахожу его настолько пугающим, потому что это , применялся mathetmatics. Работа для решения практических проблем, кажется, делает исследование менее утомительным и намного более интересным. Я нашел, что Википедия и Mathworld Вольфрама полезны. Если Вы уже знаете, как программировать, Вы перед игровой математикой изучения.

7
ответ дан Dave Swersky 28 November 2019 в 04:12
поделиться

Когда вы впервые начали изучать английский язык, все эти «символы» (буквы) казались вам бредом. Я уверен, что в какой-то момент вы были разочарованы отсутствием понимания. Но медленно и постепенно ты начал понимать их.

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

Математика такая же. Твои глаза застеклены, потому что ты не выучил язык. Возможно, в школе вы не особенно любили математику, потому что не видели практического применения для нее. Конечно, то, как мы преподаем математику для наших учеников, ужасно, поэтому неудивительно, что многие проходят через школу, не будучи хорошо разбирающимися в ней (для дальнейшего чтения, посмотрите Плач математика , в котором рассказывается, насколько ужасно наше нынешнее Метод обучения математике есть).

Тем не менее, никогда не поздно получить такой уровень знаний, который позволит вам читать многие академические статьи по информатике. Начните с Pre-Calculus в местном местном колледже ночью (чтобы освежить в памяти все, что вы забыли). Затем перейдите к исчислению и после этого возьмите дискретную математику. Честно говоря, это все математика, которая вам понадобится в 99,99% случаев. Менее чем за 2-3 семестра вы можете быть полностью схвачены, и у вас больше не будет глаз, когда вы читаете что-то с некоторыми математическими корнями.

15
ответ дан mmcdole 28 November 2019 в 04:12
поделиться

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

1
ответ дан Jim C 28 November 2019 в 04:12
поделиться

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

2
ответ дан 28 November 2019 в 04:12
поделиться
Другие вопросы по тегам:

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