Как развить в себе аналитические способности и математическое мышление?
Всем добрый день!
Недавно начал изучать программирование, начать решил с языка Python, синтаксис даётся легко, но когда дело доходит до практического применения в области решения задач, где необходимо выстроить четкую логическую последовательность или применить математические знания то тут сталкиваюсь с большими проблемами. Дело в том, что в школе не очень любил алгебру из-за плохой подачи материала, а сейчас по прошествии временем жалею, что он занимался ей, так как порою не могу решить простую логическую задачу.
Хотел попросить помощи и совета, как выстроить процесс обучения при котором можно развить математические способности и логическое мышление (пускай даже начать изучать математику с 7 класса) с углублением в вопросе изучения Python?
И ещё мини вопрос, стоит ли начинать разбираться в алгоритмах имея такие большие пробелы в математике?
Заранее спасибо!
1. Играйте в шахматы/покер
1. Проходите задачи braingames.ru
1. Проходите https://www.hackerrank.com
1. Посмотрите вебинар хекслета про математику https://www.youtube.com/watch?v=eyKf2cirQE8
1. Освойте рекурсию
1. Пройдите СИКП
1. Присмотритесь к этому списку книг https://map.hexlet.io/pages/books
1. Из математики смотрите дискретку и ее подразделы: комбинаторика, графы, автоматы (крайне важная тема для понимания автоматного программирования), теория кодирования. А так же теорию множеств.
dinegnet: смотря как играть. если интуитивно (= от балды) - то да, не очень развивают. А если пытаться считать ходы и комбинации - то вполне себе.
Чтобы выиграть у самого завалящего разрядника без счета, не зная классических дебютов, надо быть очень незаурядным человеком.
"Один мой друг" (с) мог так играть даже с первым разрядом СССР, и имеет в активе ничью с МГ в сеансе. Ну так и с аналитическими способностями все хорошо: 1 диплом на всесоюзе по физике и III - по математике, потом МФТИ и много других удовольствий.
У вас как с Всесоюзами? наверное, штук пять, не меньше? 8-)
mgremlin: перебор комбинаций - это не аналитические спосбности.
что уже много-много лет назад доказал компьютер, победив человека - чемпиона мира по шахматам.
dinegnet: просто перебирать - это просто перебор. Вот компьютер потому и побеждает, что его способности по перебору несравнимы с человеческими. И то, побеждать ИИ начал только тогда, когда перестал тупо перебирать. А вот, к примеру, программа, победившая человека в Го, уже к перебору имеет совсем малое отношение, там нейросети и генетика, читай - аналитические способности!
А человек не в состоянии перебрать сколько-то значимое количество вариантов. Ему приходится подключать те самые аналитические способности= проводить анализ, чтобы выделить наиболее перспективные продолжения. Без анализа человек прикинет от балды пяток самых очевидных вариантов, предоставив 5 миллионов оставшихся тем, у кого аналитические способности есть. ну и продует, естественно...
повторяю еще раз свой изначальный тезис: шахматы никакую аналитику не развивают. если ваш мозг более развит, чем у пятилетнего ребенка, то для развития аналитики вам нужны вещи посерьезнее шахмат.
повторяю еще раз свой изначальный тезис: шахматы аналитику развивают. даже если ваш мозг более развит, чем у пятидесятилетнего человека с высшим образованием, то для развития аналитики шахматы вполне сгодятся.
Будет ли этого достаточно - вопрос, но аналитика разовьется точно.
Больше того, чего мы балаболим? Партию с разрядником - в студию.
Или вы без записи? И без контроля времени? За пять минут на пляжу?
Тогда соглашусь: и не думал никто, и разрядник липовый, и партия левая, и никакая аналитика такими страданиями не разовьется.
Математика не поможет научиться программировать. Но освоив такие понятия как функция, выражение, переменная, в математическом плане станет легче осваивать материал по программированию. Нужно понять что вызов функции эквивалентен ее значению. Попробуйте сразу в питоне освоить lambda, filter, map, reduce вдруг пробьет. Но не огорчайтесь если сперва покажется трудным. Нужно пересилить свой мозг.