Ви робите вправи, читаючи книгу? [зачинено]


14

Скільки ви насправді відпрацьовуєте вправи під час навчання з книги (будь-якої книги, пов’язаної з програмуванням), я зараз працюю над книгою C ++ і виявляю, що деякі вправи, які я відчуваю, я можу виконати досить легко, пропускаю. Чи робить це більшість людей? Або вони читають всю книгу і повертаються до вправ, які виглядали складно?


2
пов’язана публікація stackoverflow.com/questions/498246/…
Ігор Мілла

4
Мені подобається їздити на велотренажері під час читання, полегшував фізичні вправи та навчався під час бакалаврату. Хоча я підозрюю, що фізичні вправи тут не в контексті.
Кріс

Вибачте, як і деякі інші, я був нечисленним, хто ніколи не робив ніяких вправ на підручники, я дивився на відповіді ззаду і намагався зрозуміти, що вони сказали, і чому саме так відповіді.
Buhake Sindi

Ніхто більше не вважає смішним, що це було перенесено з StackOverflow і потім негайно закрито на Programmers.SE? Це бюрократія радянської величини! XD
Дрю

Відповіді:


17

Мені здається корисним фактично вводити рішення вправ і виконувати їх. Іноді ви отримаєте відповідь з першої спроби, а іноді трохи складніше, ніж це виглядало спочатку. Ви ніколи не дізнаєтесь, чого вам не вистачає, поки не будете мати робочий код.

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


5

Я вважаю, що я прагну пропустити тривіальні вправи, якщо я ще не перебуваю на етапі, коли мені виникають певні труднощі навіть обернути голову навколо синтаксису нової мови. Вони там, щоб дати вам щось на практиці, щоб забезпечити виклик, що викликає думки.


4

Вивчити мову з книги, комп’ютерної мови чи людини досить важко, без практики ви її ніколи не освоїте.

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

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

Ще одна велика допомога - це, як пропонує "thorsten müller", мати якийсь проект, який слід почати реалізовувати, fx. сортування B-дерев чи щось таке завжди цікаво реалізувати :).


4

Це залежить від книги. Наприклад, головоломки в K&R є досить епічними та повчальними, і навіть є книга під назвою The Answer Book, яка висвітлює вправи в деталях, які вони заслуговують.

Якщо ви читаєте Кнут, ви насправді нічого не отримуєте, якщо не читаєте разом з олівцем і папером. Звичайно, деякі з проблем Кнута добре відомі відкриті проблеми, тому ви не сподіваєтесь їх отримати.

Однак, як інструктор, я виявив, що багато вправ у багатьох інакших хороших книгах просто жахливі. Деякі з них просто BS, здавалося б, вчепилися в останню хвилину. Як результат, при призначенні проблем на уроці я повинен зробити своє. Поки ви зосереджуєтесь на правильних книгах та правильних проблемах, ви отримаєте багато від цього. Я рекомендую вам робити те, що в K&R, навіть якщо вашою метою є вивчення C ++.


+1 Що стосується K&R, я читав це (дуже швидким темпом) і робив більшість вправ і насправді відчував, ніби я навчився чомусь на кожному. Інші книги, здається, я збирав і обирав
Адам,

2

Тільки ті, які виглядають цікаво та складно. Якщо я знаю відповідь, то вводити її не так вже й багато.

Більшу частину часу, коли я читаю книги про нову мову чи технології, у мене є свої невеликі проекти, які я намагаюся реалізувати. Починаючи з гри «Життя Конвея», а потім - розв’язувача судоку. Це має перевагу в тому, що я вже вирішив їх іншими мовами і можу порівняти результати.

Хоча на даний момент я вивчаю Ракетку і оскільки у мене є труднощі з деякими деталями синтаксису, я роблю набагато більше вправ, ніж зазвичай, щоб звикнути до цього.


1

Я роблю найпростіші з них швидко в голові, якщо такі прості вправи навіть існують. Я також намагаюся побачити, чи є у мене ідея, як виконати одну з вправ, але не виконуйте їх більшу частину часу. Причина насправді реалізовувати полягає в тому, щоб дізнатися, чи справді ви все правильно виправдали, оскільки компілятор буде набагато педантичнішим, ніж ваш розум, і він також буде краще знати мову. Але це різниться, оскільки причина виконання вправ полягає в тому, щоб повторити знання, які ви отримали з останньої глави, і фактично переконатися, що ви знаєте речі.

Якщо вправ не існує, я щось складаю самостійно. Я також завжди, принаймні, намагаюся використовувати речі в главі (введіть код у Vim, виконати, змінити тощо).

Я іноді залишаю деякі вправи на пізніше або до кінця сеансу читання (якщо мені трапляється читати кілька глав).

Вправи є для того, щоб сприяти навчанню, і я використовую їх, коли мені потрібна допомога.


1

Читання книг - це марна трата часу, якщо ви не розумієте і не пам’ятаєте, що написано. Вправи переконайтеся, що ви робите. Крім того, іноді робити вправи - це задоволення!


1

Ні. Я читаю лише код у книзі, а іноді навіть цього не роблю. Не думайте, що це необхідно. Зрештою, я не читаю книгу, щоб навчитися писати код. Я читаю книгу, щоб вивчити поняття та отримати нові ідеї.


0

Це залежить від книги, яку я переживаю. Однак, як правило, якщо я стикаюся з функцією, з якою раніше не грав, я набираю і запускаю приклад.


0

Я вважаю за краще тренуватися на цих вправах. Ці питання змушують нас більше думати і аналізувати, а результат цієї вправи є свідченням того, наскільки добре ми насправді зрозуміли. Чим краще ви зрозумієте, тим менше зусиль потрібно запам’ятати пізніше.


0

Якщо я вивчаю нову мову і знаю, що в ній буду багато працювати, я буду заперечно виконувати кожну вправу і виконувати кожну вправу. Цим я "поглинаю" мову і мій основний синтаксис стає сильним. Також таким чином ви просто не навчитесь кодувати, а й "думати" певною мовою. Другий раз, коли я переглядаю це, можливо, мені не знадобиться робити огляд.

У той же час ІМО ​​не однаковий для всіх мов. Для прикладу, мені не довелося надто важко практикувати SQL, щоб здобути знання в ньому для C / C ++, я практикував його принаймні чотири рази (включаючи мій курс коледжу), щоб стати в ньому знавцем.


0

Ніколи. Я, однак, намагаюся написати щось із цього рішення, спираючись на масу минулого досвіду (невдачі іншими словами) і намагаюся вирішити це. Здається, це дійсно втягує нову річ у мій мозок, коли я пов'язую її з існуючим контекстом.


0

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


0

Ні.

Деякі люди мають дисципліну насправді перебирати книги та робити вправи, але я не з них, і я підозрюю, що багато хто однаковий.

Я думаю, що модель навчання книгам застаріла. Я б спробував знайти лекції / лабораторії в Інтернеті і робити це.

Наприклад, я засвоїв основи Python, пройшовши курс університету Google Code.

Зрештою, реального досвіду немає заміни, і все, що важливо, полягає в тому, що ви насправді вивчаєте матеріал, а не те, як ви це робите. Моя порада - зробити це якнайшвидше / найпростіше, а не карати себе.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.