Сколько из вас фактически выполняют упражнения, изучая книгу (любую книгу, связанную с программированием), в настоящее время я пробираюсь через книгу по C ++ и обнаруживаю, что некоторые из упражнений, которые, как мне кажется, я могу выполнить, довольно легко пропускаю. Большинство людей делают это? Или они читают всю книгу и возвращаются к упражнениям, которые выглядели сложными?
14
Ответы:
Я считаю, что было бы полезно ввести решения для упражнений и выполнить их. Иногда вы получите ответ с первой попытки, а иногда он немного сложнее, чем выглядел сначала. Вы никогда не узнаете, чего вам не хватает, пока у вас не будет рабочего кода.
Одно огромное преимущество - вводить упражнения самостоятельно, если вы получаете отладку на практике. Если это новый язык и новая среда, вы неизбежно будете совершать ошибки. Получение решения даже самые простые задачи для работы является хорошей практикой.
источник
Я нахожу, что я склонен пропускать тривиальные упражнения, если только я не нахожусь на той стадии, когда у меня возникают некоторые трудности, даже когда я оборачиваюсь вокруг синтаксиса нового языка. Они здесь для того, чтобы дать вам что-то, что можно практиковать, а также чтобы заставить вас задуматься.
источник
Изучать язык из книги, языка компьютера или человека довольно сложно, без практики вы никогда не овладеете им.
Я обычно нахожу, что выполнение акцизов и ввод в примерах дает вам гораздо больше контекста, и понимание, даже то, что выглядит легко, может научить вас тому, как работает компилятор, и другим вещам, которые нужно знать, чтобы фактически использовать язык.
С другой стороны, мне почти никогда не удается закончить книгу о новом языке, так как для выполнения всех упражнений требуются годы, но я бы хотя бы попытался сделать акциз по каждой теме.
Еще одна большая помощь, как предлагает «Торстен Мюллер», - запустить какой-то проект, fx. сортировка по B-дереву или что-то всегда интересное для реализации :).
источник
Это зависит от книги. Например, загадки в K & R довольно эпичны и поучительны, и есть даже книга под названием The C Answer Book , в которой описываются упражнения в деталях, которых они заслуживают.
Если вы читаете Кнута, вы действительно ничего не получите от него, если не будете читать с карандашом и бумагой. Конечно, некоторые проблемы Кнута являются хорошо известными открытыми проблемами, поэтому вы не ожидаете, что получите их все.
Однако, как инструктор, я обнаружил, что многие упражнения во многих хороших книгах просто ужасны. Некоторые из них просто BS, похоже, в последнюю минуту. В результате, при назначении задач в классе, я должен сделать свой. Пока вы сосредоточены на правильных книгах и правильных проблемах, вы многое из этого получите. Я рекомендую вам делать это в K & R, даже если ваша цель - изучение C ++.
источник
Только те, которые выглядят интересными и сложными. Если я знаю ответ, то набирать его будет мало смысла.
В большинстве случаев, когда я читаю книги о новом языке или технологии, у меня появляются собственные небольшие проекты, которые я пытаюсь реализовать. Начиная с игры Конвея о жизни, за которой следует решатель судоку. Это имеет то преимущество, что я уже решил их на других языках и могу сравнить результаты.
Хотя в данный момент я изучаю Racket и, поскольку у меня есть некоторые трудности с некоторыми деталями синтаксиса, я делаю гораздо больше упражнений, чем обычно, чтобы привыкнуть к нему.
источник
Я быстро выполняю самые простые из них, если такие простые упражнения существуют. Я также пытаюсь понять, есть ли у меня идея о том, как выполнить одно из упражнений, но не выполняю их большую часть времени. Причина, по которой мы на самом деле реализуем, состоит в том, чтобы увидеть, правильно ли вы все поняли, поскольку компилятор будет гораздо более педантичен, чем ваш разум, и он также будет лучше знать язык. Но это варьируется, поскольку причина выполнения упражнений состоит в том, чтобы повторить знания, которые вы получили из последней главы, и фактически убедиться, что вы знаете материал.
Если упражнений не существует, я делаю их самостоятельно. Я также всегда, по крайней мере, стараюсь использовать материал из этой главы (введите код в Vim, выполните, измените и т. Д.).
Иногда я оставляю некоторые упражнения на потом или до конца сеанса чтения (если мне довелось прочитать несколько глав).
Здесь есть упражнения, чтобы помочь обучению, и я использую их, когда мне нужна эта помощь.
источник
Чтение книг - пустая трата времени, если вы не понимаете и не помните, что написано. Упражнения убедитесь, что вы делаете. Кроме того, иногда делать упражнения это весело!
источник
Нет. Я только читаю код в книге и иногда даже не делаю этого. Не думай, что это необходимо. В конце концов, я не читаю книгу, чтобы научиться писать код. Я читаю книгу, чтобы изучить концепции и получить новые идеи.
источник
Это зависит от книги, которую я прохожу. Обычно, однако, если я сталкиваюсь с функцией, с которой я не играл раньше, я набираю и запускаю пример.
источник
Я предпочитаю тренироваться на этих упражнениях. Эти вопросы заставляют нас больше думать и анализировать, а также результат этого упражнения свидетельствует о том, насколько хорошо мы действительно поняли. Чем лучше вы понимаете, тем меньше усилий вам нужно запомнить позже.
источник
Если я изучаю новый язык и знаю, что буду много над ним работать, я непременно выполню каждое и каждое упражнение. Делая это, я «впитываю» язык, и мой основной синтаксис становится сильным. Таким образом, вы не просто учитесь кодировать, но и «думать» на определенном языке. Во второй раз, когда я его пересматриваю, мне может не понадобиться делать упражнения.
В то же время IMO не одинаков для всех языков. Например, мне не нужно было слишком усердно практиковать SQL, чтобы овладеть им в C / C ++, я практиковал его как минимум четыре раза (включая курс колледжа), чтобы овладеть им.
источник
Никогда. Однако я стараюсь что-то написать с этим решением, опираясь на массу прошлого опыта (другими словами, неудач), и пытаюсь решить его. Это, кажется, действительно привлекает новую вещь в мой мозг, поскольку я связываю это с существующим контекстом.
источник
По крайней мере, не при первом чтении хороших книг, потому что большую часть времени я не могу дождаться, чтобы узнать, что находится в следующей главе.
источник
Нет.
У некоторых людей есть дисциплина, чтобы на самом деле изучать книги и выполнять упражнения, но я не один из них, и я подозреваю, что многие поступают так же.
Я думаю, что модель обучения книг устарела. Я попытался бы найти лекции / лаборатории онлайн и сделать это.
Например, я изучил основы Python, пройдя курс Google Code University.
В конце концов, ничто не заменит практический опыт, и все, что имеет значение, это то, что вы на самом деле изучаете материал, а не то, как вы это делаете. Мой совет - делай это как можно быстрее / проще, чем наказывать себя.
источник