Как вы помогаете людям изучать логику?
Люди, которые не являются ИТ, более конкретно программисты, не имеют хорошего способа решения проблем. Они просто не думают, как мы, программисты, у которых есть хороший logic.
Меня спрашивали слишком много раз, что бы я рекомендовал им улучшить свою логику, которая в конечном итоге поможет в повседневных профессиональных проблемах. Вещи, которые приходят мне в голову, - это хорошие головоломки, математические проблемы и т.д.
Сказав это, что бы вы порекомендовали и почему? Книги, сайты, статьи?
Ответы
Ответ 1
Связанная статья о codinghorror.com:
Разделяя программирование овец от не-программирующих козлов
Все учителя программирования находят, что их результаты показывают "двойной горб". Кажется, что есть две группы: те, кто может [программа], и те, кто не может [программа], каждая со своими независимая кривая колокола. Почти все исследования в области программирования и обучение сосредоточено на преподавание: изменение языка, изменение области приложения, используйте среду IDE и работа по мотивации. Ничего из этого не работает, и двойной горб сохраняется.
Быстрая выдержка из вышеприведенного отрывка: спекуляция заключается в том, что все, что вы делаете, не будет работать, если человек не может запрограммировать для начала.
Чтобы написать компьютерную программу, которую вы имеете чтобы согласиться с этим, принять что бы вы ни захотели программа означает, что машина будет слепо следовать своим бессмысленным правилам и прийти к какой-то бессмысленной вывод. В тесте последовательная группа продемонстрировала предварительное принятие этого факт: они способны видеть проблемы математического расчета в правил и может следовать этим правил, которые они могут вести. непоследовательная группа, с другой стороны, ищет смысл, где он не. пустая группа знает, что она ищет при бессмысленности и отказывается справиться с этим.
Мое предложение в щечном решении: превратить их в атеизм/нигилизм. Таким образом, они не будут пытаться искать смысл там, где это не [sic], и, возможно, затем смирились с бинарным.
Ответ 2
Большинство людей, которые не думают, как выродки, на самом деле НЕ ХОТЯТ думать, как вундеркинды.
Но часть решения проблемы разбивает ее на более мелкие части, каждая из которых является легкой проблемой для решения. Если они смогут узнать, как разбить проблему на управляемые куски, они будут на пути, по крайней мере, для улучшения некоторых частей решения проблем, подобных игре.
Что касается логики, напомните им о законе непротиворечия: A! =! A. В то же время вещь не может быть правдой и ложью. Мы тратим слишком много времени, даже не пытаясь думать прямо.
Ответ 3
Я рекомендую Sudoku и игры, такие как Возраст мозга для большинства не-программистов.
Ответ 4
Я проглотил первое семестровое программирование примерно 3 раза, затем я попробовал онлайн-курс с использованием "запрограммированных" методов обучения в отчаянии.
Это помогло мне преодолеть "горб", помогая мне понять программирование (я полагаю), предоставив контекст и мотивацию для некоторых из наиболее распространенных (действительно простых для вас) программных логических конструкций.
Часы практики "запуска" игрушечных программ на бумаге для разных проблем впоследствии окончательно закончили мою абсолютную путаницу в этом вопросе.
Ссылка на бесплатный вводный курс CS, в котором используется этот запрограммированный подход, который я использовал (в то время как мой обычный лектор):
http://chortle.ccsu.edu/CS151/cs151java.html
Тем не менее, несмотря на проблемы уровня экзамена с использованием стеков и очередей и рекурсии (мы использовали C на наших курсах, но я думаю, что это не имело значения в конечном счете).
В конце концов, я не стал беспокоиться о CS, как я бы взял навсегда (вероятно, от 2 до 3 лет больше), учитывая мой уровень мастерства.
Я должен был обратить внимание на эти головоломки, когда был маленьким. Я был больше похож на LEGO:)
Инструкторы CS (те, кто только разговаривает и разговаривают) должны быть немного более терпеливыми, некоторые из нас, люди, не являются хорошими словесными учениками.
Разделение мысли, мы все не можем быть великими писателями, но это не мешает учиться (или преподавать), как писать хорошо. Я думаю, что то же самое касается компьютерного программирования в эпоху информации.
Ответ 5
Люди всегда могут улучшить свои способности решать проблемы с практикой, но (imo) только в определенной степени. Некоторые люди так никогда и не подумают. Они просто не были связаны таким образом с рождения. Я не думаю, что у нас есть большой контроль над нашим врожденным потенциалом, только то, что мы делаем с ним.
Ответ 6
Я обнаружил, что если вы продолжаете думать и всегда пытаетесь решить головоломки, даже глупые маленькие, в аккуратном, интересном, оптимизированном, огромном, маленьком, почти любом виде, тогда вы держите себя острой. Кроме того, чтение других решений помогает указать на то, о чем вы бы не подумали, что в конечном итоге даст вам эту "панель инструментов" методов, которые могут применяться в похожих или даже несходных ситуациях.
Ответ 7
Я сомневаюсь, что проводка генетическая, ее, скорее всего, социально запечатлели на мозге в детстве. Некоторые дети делают головоломки, а другие - нет, те, которые делают много головоломок, будут лучше подготовлены, но, как отмечает Билл Ящерица, я думаю, что любой может переделать свой мозг, чтобы отвлечься от головоломки.
Ответ 8
Я не так хорош в логике, я когда-то помню, что у меня была проблема, когда я хотел удалить что-то из массива, кто-то пришел и сказал мне: "Почему бы вам просто не создать новый, но исключить элементы, которые вы хотите удалять?". Мне было очень стыдно, я имею в виду, что это решение идеально, в конце концов, каждый подход должен будет выполнять итерацию по каждому элементу, почему бы просто не сделать это и скопировать их в новый массив, но исключая нежелательные?
Но, возвращаясь к вопросу, некоторые из вещей, которые я рекомендую, следующие:
- Игра в шахматы (это действительно поможет вам в жизни, если вы часто играете в нее, вы автоматически начнете рассматривать разные альтернативы различным проблемам и сводить их к лучшему)
- Решение Sudokus (это очень хорошо для навыков удержания)
Еще одно упражнение, которое действительно улучшило мои логические навыки, заключалось в том, чтобы установить легкую задачу программирования, а затем попытаться решить ее по-разному.
Ответ 9
Это один из лучших логических сайтов ошибок, которые я нашел в Интернете.
Логические ошибки
Я бы порекомендовал этот сайт всем, кто интересуется непринужденностью языка. Примеры на сайте для каждого типа логической ошибки в большинстве случаев очень хороши, и я гарантирую, что вы что-то узнаете. Переместите его вперед.
мр